Requesting the live response…
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.
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.
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
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.
(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)
- 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 ✓
You define the market condition. We deal with the exchanges.
age(funding) < 2s is part of the condition. A venue that stopped answering does not silently keep yesterday’s value alive.as of 2026-09-22T08:00:00Z. The condition is evaluated against only what DEBYKO had actually received by that instant.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
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" } } } ] }A venue that did not answer is unknown, not false and not zero.
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.
# 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
curl -s "https://cryptosmithx.blynai.eu/v1/snapshot?exchange=hyperliquid&symbols=BTC"
symbols and the whole venue comes back in one request.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.kPEPEisbase×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
Nothing is shown as more than it is.
Six rules the product is held to. The page above is held to the same rules.
- 01Every value keeps its source venue and instrument.
- 02Every value shows when it was received, and its age.
- 03Missing data stays missing. It is never turned into zero.
- 04Stale data is never presented as live.
- 05Derived values say what they were computed from.
- 06Coverage limits stay visible.
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.
- 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
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.
GET /v1/snapshot?exchange=okx-perp
&symbols=BTC-USDT-SWAP&include=quote,depth,instrument
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.
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
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.
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.
| Alternative venue | Instrument | Observed bid | Observed ask | Spread | Depth ±25 bps · bid / ask | Age at execution · T / D | Coverage |
|---|---|---|---|---|---|---|---|
| BINANCE-F | BTCUSDT | 77,354.1 | 77,355.0 | 0.12 bps | 412.816 / 398.104 BTC | 0.12 s / 0.4 s | collected · no gap |
| OKX | BTC-USDT-SWAP | 77,353.9 | 77,355.3 | 0.18 bps | 190.220 / 184.650 BTC | 0.21 s / 0.8 s | collected · no gap |
| BYBIT-PERP | BTCUSDT | 77,353.8 | 77,355.1 | 0.17 bps | 96.412 / 101.337 BTC | 0.09 s / 0.3 s | collected · no gap |
| GMX-V2 | BTC/USD [WBTC] | — | — | — | — | 0.30 s / — | oracle/vault · no book |
Observations are the last received before the execution time on each venue; their age at that moment is printed, not hidden.
Venues not collected at the time are listed as not covered. Gaps in collection are stated per venue and per call.
Spread = (ask − bid) / mid × 10,000 bps. Depth bands measured against the stated reference price.
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.
Need a dataset, connector or analysis that does not fit a standard plan?
Scoped engagements, priced by scope. Ranges are typical, not quotes.
+ €200 – €1,000 / month maintenance
+ €300 – €2,000 / month
The method is part of the product.
- 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.
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.
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.
Two venues, ten instruments each. Live comparison, seven days of history, one live stream. No card, no time limit.
Four venues, fifty instruments each, thirty days of history, two live streams, DQL screening.
Every venue, every instrument, one year of history, full order books, five live streams, CSV export.
Everything in Standard, all history, twenty live streams, higher limits for bots and screens.
Several keys under one account, dedicated capacity, retention and support terms agreed per engagement.
Trials run seven days with a card on file and nothing charged until day eight; cancel before that and nothing is charged at all. 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. Refunds: see the refund policy.
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€79 / monthBots and screens |
|---|---|---|---|---|
| Price per month | €0 | €9 | €29 | €79 |
| Venues | 2 | 4 | all | all |
| Instruments per venue | 10top by volume | 50 | all | all |
| Live comparison, with the age of every figure | ||||
| History back | 7 days | 30 days | 1 year | all |
| Order book | top 5 levels | top 25 | full | full |
| Point-in-time replay (as of) | within history | within history | within history | within history |
| DQL screening | 10 / min | 60 / min | 600 / min | unlimited |
| API requests per second | 2 | 5 | 20 | 50 |
| API requests per day | 5,000 | 50,000 | 500,000 | 5,000,000 |
| Live stream connections | 1 | 2 | 5 | 20 |
| CSV export | — | — | ||
| Card required | no | trial | trial | trial |
| Get a key | Start the 7-day trial | Start the 7-day trial | Start the 7-day trial |
Which two venues and ten instruments are in Free is published on Coverage and recomputed daily from traded volume; the list can change, and the change is dated there.
Join the waitlist for DQL, Agent and Runner.
One address, one product of interest. Nothing else is asked.
Contact sales about Execution Evidence, datasets or connectors.
Describe the venues, instruments and period. Scope comes back before price.