Verifiable crypto market infrastructure

Crypto market data, with the evidence attached.

Ask every venue the same question in DQL, see one instrument on every venue side by side, get told when a condition becomes true, and place orders through a Runner on your own infrastructure — without hiding the source, age or absence of the underlying data.

Explore live data
Live market proof

One instrument across the venues that quote it, with three clocks per row.

Ticker, open interest and depth arrive by different calls at different rates, so the table shows an age for each group — never one age per row. Freshness is judged per call against that call's expected cadence.

DQL · DEBYKO Query Language In development

Stop coding the same market checks differently for every exchange.

Write the condition once. DQL handles the rest — across every venue.

In every plan, from €0 · one key covers Studio, the API and Agent · monthly, no annual plan · API v1 free today, no key

What you mean

BTC on Kraken and Hyperliquid more than 35 bps apart, both books holding $100,000 within 25 bps, every price under half a second old, and hourly funding more than 1 bps apart.

What you write · DQL
(max(venues, mark) - min(venues, mark)) / min(venues, mark) > 35bps
  and all(venues where age(mark) < 500ms
          and depth_bid_value(25bps) > 100000
          and depth_ask_value(25bps) > 100000)
  and max(venues, funding) - min(venues, funding) > 1bps
  where instrument = BTC-PERP and venue in (KRAKEN-FUTURES, HYPERLIQUID)
KRAKEN-FUTURES · PF_XBTUSDHYPERLIQUID · BTC
MatchBTC-PERP2 of 2 venues
KRAKEN-FUTURES85,421.20mark · USD · 0.21 s old
HYPERLIQUID85,760.40mark · USD · 0.13 s old
39.7 bps
  • Depth within 25 bps · $2.3M / $2.1M · $0.9M / $1.2M ✓
  • Freshness · every price under 500 ms ✓
  • Funding per hour · +0.2 vs +1.4 bps ✓
APIJSON to your code
AgentWebhook on match
Runner · optionalOr let Runner place the order with your keys

You define the market condition. We deal with the exchanges.

One query, every venueNo Binance branch. No Hyperliquid branch. No Bybit branch. One condition against every venue that lists the instrument.
Stale data can’t trigger your botage(funding) < 2s is part of the condition. A venue that stopped answering does not silently keep yesterday’s value alive.
Backtest the same questionAdd as of 2026-09-22T08:00:00Z. The condition is evaluated against only what DEBYKO had actually received by that instant.
Send the result to your botJSON through the API. A webhook on match through Agent. Or let Runner place the order with your own keys — DEBYKO never sees them.
Or screen every venue at once

Every ETH perp where funding is above 5 bps on at least three venues, each reading under two seconds old.

count(venues where funding_8h > 5bps
             and age(funding) < 2s) >= 3
  order by max(venues where age(funding) < 2s, funding_8h) desc
MatchETH-PERP3 of 4 venues
HYPERLIQUID ETH+7.2 bps0.29 s old✓
BINANCE-USDM ETHUSDT+6.1 bps0.60 s old✓
BYBIT-PERP ETHUSDT+5.8 bps0.19 s old✓
OKX-PERP ETH-USDT-SWAP+9.4 bps14 s oldSTALE · not counted

The highest reading is fourteen seconds old, so it is shown with its age and counted for nothing.

Raw answer
{ "instrument": "ETH-PERP", "result": "true",
  "venues": [
    { "venue": "HYPERLIQUID", "symbol": "ETH", "values": { "funding_8h":
      { "value": 0.00072, "unit": "fraction", "received_at": "2026-09-22T09:30:04.712Z",
        "age_ms": 288, "status": "present" } } },
    { "venue": "BINANCE-USDM", "symbol": "ETHUSDT", "values": { "funding_8h":
      { "value": 0.00061, "unit": "fraction", "received_at": "2026-09-22T09:30:04.402Z",
        "age_ms": 598, "status": "present" } } },
    { "venue": "BYBIT-PERP", "symbol": "ETHUSDT", "values": { "funding_8h":
      { "value": 0.00058, "unit": "fraction", "received_at": "2026-09-22T09:30:04.815Z",
        "age_ms": 185, "status": "present" } } },
    { "venue": "OKX-PERP", "symbol": "ETH-USDT-SWAP", "values": { "funding_8h":
      { "value": 0.00094, "unit": "fraction", "received_at": "2026-09-22T09:29:51.020Z",
        "age_ms": 13980, "status": "stale" } } } ] }
What a condition can read
Price & spreadFundingOpen interestBook depth in a bandMark · index · basisCandlesEMA · RSI · ATRData ageVenue countany · all · countmin · max · sumas of

Registry, read from the platform: requesting…. A venue or market added on the platform appears here on its own.

A venue that did not answer is unknown, not false and not zero.

No buy, sell or signal anywhere in the language. It describes the market; what to do stays with you.

Draft syntax · illustrative values

For bot builders

Why did my bot do that at 14:03:07? Ask the API. It answers with what your bot could have known then.

Your market-data layer becomes an HTTP client and a where clause. Every value with its venue, receive time, age and unit; the venue's raw fields next to ours; nothing invented when a venue goes quiet.

A bot's loop · API v2In development
# every cycle
POST /v2/snapshots          where venue = KRAKEN-FUTURES     → ticker, mark, funding, oi, band depth
POST /v2/candles            timeframe 15m · price_type mark  → the venue's own mark candles, closed only

# on restart
POST /v2/snapshots/history  at [your last 30 cycle instants] → what was known at each instant, gaps explicit

# at 3 a.m.
POST /v2/snapshots/history  at [2026-09-22T14:03:07Z]        → what your bot could have known then,
                                                               byte-identical once settled
Try it now · API v1 · no key
curl -s "https://cryptosmithx.blynai.eu/v1/snapshot?exchange=hyperliquid&symbols=BTC"
Leave out symbols and the whole venue comes back in one request.
Responserequesting
Requesting the live response…
Today: this, no key. Tomorrow: the same values, in one condition.
26 msKraken Futures trades, p50 from the venue’s timestamp to our receipt · tickers 74 ms
≈3 / sKraken Futures ticker
≈8 / sHyperliquid ticker
≈1 / smark, open interest, stats
every 1 sdepth bands from the full WebSocket book, stored per second

Measured on the v2 collectors, 2026-09-21/22; receipt times over a 20-second sample of the live stream, 2026-09-22.

  • include_raw — the venue's own field names next to ours. Swap the source, keep your formulas.
  • units: base | published, and every value says its unit. kPEPE is base×1000, not a surprise in production.
  • present / stale / missing / not published / off — a dead websocket cannot feed you yesterday's price as today's.
  • items_sha256 — settled history is byte-identical on replay. Your backtest is reproducible, and you can prove it.

In every plan, from €0 · one key covers Studio, the API and Agent · monthly, no annual plan · API v1 free today, no key

Principles

Nothing is shown as more than it is.

Six rules the product is held to. The page above is held to the same rules.

  1. 01Every value keeps its source venue and instrument.
  2. 02Every value shows when it was received, and its age.
  3. 03Missing data stays missing. It is never turned into zero.
  4. 04Stale data is never presented as live.
  5. 05Derived values say what they were computed from.
  6. 06Coverage limits stay visible.
01 / Market data Free · Live Subscription · Pre-launch
Studio

One instrument on every venue that quotes it, side by side.

Live values, history with its gaps left in, and what each venue showed at any past moment. When you act, the order goes to your own Runner and is placed with your keys.

A missing observation is empty, not zero. The age and origin of every value stay visible.

Trade candles · 1 h · UTCStructure
Gap · 6 h · not a zero
00:0012:0000:0012:00
Hollow: close above open · filled: close below · hatched: no candles stored for this interval
  • Free: the live comparison, with an age on every figure
  • Subscription: full history — candles, funding, open interest, trades, liquidations, order books
  • Subscription: point-in-time replay
  • DQL screening: ten queries a minute on Free, more on every paid plan
  • Orders go to your own Runner, never through DEBYKO
Free€0 · live now Mini€9 / month · 14-day trial Standard€29 / month · 14-day trial Pro€99 / month · 14-day trial Pro Plus€149 / month · no trial

Checkout for the paid plans opens soon. Join the waitlist for one email when it does; the Free key works today. Trial and refund terms: Pricing · Refund policy.

02 / Data for your code v1 · Live v2 · In development
API

The same data as Studio, for your code.

v1 serves facts: coverage, snapshots, order books, candles, trades and a live stream. v2 adds DQL, one query language for screening and point-in-time questions across venues.

One key will cover Studio, API and Agent. Until keys ship, v1 is open.

Registry, read from the platform: requesting….

Pricev1 open · no key yet
APIField names per /scalar/v1 · waiting for the live response
GET /v1/snapshot?exchange=okx-perp
    &symbols=BTC-USDT-SWAP&include=quote,depth,instrument
Three clocks in one row: receivedAt, openInterestAt, depthAt. null means the venue does not provide the field — never 0.
03 / Alerts Planned
Agent

Write what to watch. Hear when it becomes true.

Write a condition in DQL. Agent evaluates it on your schedule and tells you by Telegram or webhook when it becomes true, with the values and their sources attached.

It receives your Runner's execution reports and publishes how often each rule fired — never whether it was right.

PriceNot available yet
Sample alert · illustrative valuesAgent · rule r_funding_eth
09:30:05.112 UTCr_funding_ethTRUEETH-PERP · 3 of 4 venues above 5 bps · condition met
09:30:04.712 UTCHYPERLIQUIDVALUEfunding_8h 7.2 bps · age 0.29 s · present
09:30:04.402 UTCBINANCE-USDMVALUEfunding_8h 6.1 bps · age 0.60 s · present
09:30:04.815 UTCBYBIT-PERPVALUEfunding_8h 5.8 bps · age 0.19 s · present
09:29:51.020 UTCOKX-PERPSTALEfunding_8h 9.4 bps · age 14 s · not counted
09:30:05.180 UTCr_funding_ethSENTwebhook to your bot, with your tag
Every alert carries the values it fired on, with venue, received time and age. A stale venue is shown, not counted.
Concept · not a working productStudio · order ticket
BTC perpetual · venue not selectedAccount · not connected
Mark — USD Age — · no venue selected, so nothing is shown
Bid—
Ask—
Buy and Sell send a webhook to your Runner, which places the order with your keys. Controls are inactive in this concept; there is no one-click order.
04 / Execution In development
Runner

Your orders, placed with your keys, on your infrastructure.

Runner runs on your infrastructure, not ours. It takes a webhook from Agent or Studio, places the order on the exchange with your own API keys and reports the execution back.

DEBYKO never sees your keys or your funds.

  • Docker service · .NET
  • Cloudflare Worker · TypeScript
  • Webhook in, order out
  • Execution report back
PriceNot available yet
05 / Agent board Closed beta
Arena

A public board of agents, built from their execution reports.

Expectancy, drawdown, share of losing trades, venues traded. Every row says whether its figures are self-reported or verified. Opt-in, under a pseudonym.

Today it shows the first two agents, self-reported. Reports from other Runners come with Runner.

For CASPs, brokers and execution teams

Reconstruct what other venues showed when an order was executed.

For a given execution time and instrument, Debyko assembles what it had observed on alternative venues: bid and ask, spread, depth bands, and the age of each observation at that moment — with coverage limits stated in the report.

Sample layout — not a client report Report reference · EE-[assigned at issue]
Execution time2026-09-14 14:02:11.480 UTC
Executed venue · instrument[venue] · [venue symbol]
Executed side · size · price[from client order record]
Alternative venues in reportthose collected at that time
Alternative venueInstrumentObserved bidObserved askSpread Depth ±25 bps · bid / askAge at execution · T / DCoverage
BINANCE-FBTCUSDT77,354.177,355.00.12 bps412.816 / 398.104 BTC0.12 s / 0.4 scollected · no gap
OKXBTC-USDT-SWAP77,353.977,355.30.18 bps190.220 / 184.650 BTC0.21 s / 0.8 scollected · no gap
BYBIT-PERPBTCUSDT77,353.877,355.10.17 bps96.412 / 101.337 BTC0.09 s / 0.3 scollected · no gap
GMX-V2BTC/USD [WBTC]————0.30 s / —oracle/vault · no book
Table scrolls sideways · the age-at-execution column is the one that matters
Method notes
Observations are the last received before the execution time on each venue; their age at that moment is printed, not hidden.
Coverage and gaps
Venues not collected at the time are listed as not covered. Gaps in collection are stated per venue and per call.
Derived values
Spread = (ask − bid) / mid × 10,000 bps. Depth bands measured against the stated reference price.
OfferScopeTypical scope
Execution Evidence PilotA bounded set of executions reconstructed against the venues collected at the time, to test the method on real orders.€500 – €2,000
One-off Execution AuditA defined period and instrument set, delivered as a report with coverage limits stated per venue.€1,000 – €5,000
Continuous Execution MonitoringRecurring reconstruction for an execution desk, with the same coverage statements every period.€500 – €3,000 / month
Venue Comparison ReportSpread, depth and funding across venues for one instrument over one period, with ages and gaps shown.€1,000 – €5,000

Scope and final price depend on venues, instruments, history, order volume and reporting requirements. Reconstruction covers only periods and venues Debyko was collecting at the time.

Data and engineering services

Need a dataset, connector or analysis that does not fit a standard plan?

Scoped engagements, priced by scope. Ranges are typical, not quotes.

Custom historical dataset or exportA defined slice of stored observations, with collection start and gaps documented.€500 – €5,000
Market microstructure researchAnalysis of spread, depth, funding or liquidation behaviour over collected history.€1,000 – €5,000
Exchange or protocol connectorA collector for a venue not yet covered, with its cadence and fields stated.€1,500 – €10,000
+ €200 – €1,000 / month maintenance
White-label Studio widget or APIThe comparison table or its API under another name, with provenance intact.€2,000 – €10,000
+ €300 – €2,000 / month
Enterprise API and infrastructureDedicated capacity, retention and support terms agreed per engagement.Custom
Methodology

The method is part of the product.

Two timestamps exist. Age is the difference to now.
Venue timeif supplied · 17:15:52.299
→
Receivedalways · 17:15:52.301
→
Agenow − received · 0.2 s
There is no stored "written" or "available" time, so none is shown.
  • Ticker, open interest and depth arrive by separate calls; each keeps its own received time and age.
  • A gap inside collection and a period before collection began are named differently. Neither is a zero.
  • BEST and WORST rank only values that are present, live and from an order book.
Status and quality

Data quality is public system state.

Per venue and per collector, with ages. There is no single "all systems operational" badge: a degraded depth feed on one venue is shown as exactly that.

Collectors · GET /v1/health Requesting
View data status
Pricing

Monthly. No annual toggle, no discounts.

One key covers Studio, the API and Agent. Whatever a plan includes in Studio, it includes in the API under the same key. Products that do not exist yet are listed as such.

Free €0

Two venues, ten instruments each. Live comparison, seven days of history, one live stream. No card, no time limit.

Mini €9 / month

Four venues, fifty instruments each, thirty days of history, two live streams, DQL screening.

Join the waitlist
Standard €29 / month

Every venue, every instrument, one year of history, full order books, five live streams, CSV export.

Join the waitlist
Pro €99 / month

Everything in Standard, all history, twenty live streams, higher limits for bots and screens.

Join the waitlist
Pro Plus €149 / month

Everything in Pro with twice the throughput: 100 requests a second, ten million a day, fifty live streams. No trial — paid at checkout.

Join the waitlist
Team and enterprise By scope

Several keys under one account, dedicated capacity, retention and support terms agreed per engagement.

14-day free trial. Cancel any time during the trial and you are not charged. After payment, 14 days to request a full refund — no conditions.

Checkout opens soon: until it does, the paid plans cannot be bought here — join the waitlist for one email when they can. The Free plan needs no checkout; its key works today. Mini, Standard and Pro start with the trial: a card is taken at the start and the first charge is on day 15. Pro Plus has no trial and is charged at checkout. Refund policy.

One API key per account on every plan. Every plan renews monthly and can be cancelled at any time from your account — access runs to the end of the paid month. Checkout, invoices and VAT are handled by Paddle, our merchant of record; VAT is added at checkout where it applies.

Everything that is not a plan
DQLIn the subscription, API v2 and AgentIn development
API v1€0 · no key yetLive · v2 in developmentView documentation
AgentNot available yetPlanned
RunnerNot available yetIn development
ArenaBy invitationClosed beta
Execution Evidence and servicesTypical scope rangesContact sales
Compare plans

The same data on every plan. Plans differ in how much of it, and how fast.

One key covers Studio, the API and Agent. Whatever a plan includes in Studio, it includes in the API under the same key.

Included Free€0Anyone · no card Mini€9 / monthOne person Standard€29 / monthOne person · every venue Pro€99 / monthBots and screens Pro Plus€149 / monthTwice Pro · paid at checkout
Venues24allallall
Instruments10top by volume50top by volumeallallall
Live comparison, with the age of every figure
History access: up to*7 days30 days1 yearallall
Order booktop 5 levelstop 25 levelsfullfullfull
Point-in-time replay (as of)within historywithin historywithin historywithin historywithin history
DQL screening10 / min30 / min120 / min600 / min1,200 / min
API requests per second252050100
API requests per day5,00050,000500,0005,000,00010,000,000
Live stream connections1252050
CSV export——
API keys11111
Card requirednotrialtrialtrialyes
Get a key Join the waitlist Join the waitlist Join the waitlist Join the waitlist

*Plan limit, not a guarantee. Actual history starts when each venue was connected — see coverage for exact dates per venue.

Instruments are counted once and shown on every venue your plan includes; “top by volume” is recomputed daily and dated on Coverage.

14-day free trial. Cancel any time during the trial and you are not charged. After payment, 14 days to request a full refund — no conditions. Refund policy.

Monthly prices, VAT added at checkout where it applies. No annual plan, no discounts. Checkout opens soon.
Product interest

Join the waitlist for DQL, Agent and Runner.

One address, one product of interest. Nothing else is asked.

Scoped work

Contact sales about Execution Evidence, datasets or connectors.

Describe the venues, instruments and period. Scope comes back before price.