pay-per-request market data
Every forced liquidation across 700+ USDT perpetuals on Binance, Bybit and OKX, sold per call in USDC over x402 on Algorand mainnet. No API key, no account, no subscription. Every response says whether the number was measured, genuinely absent, or unmeasured, and unmeasured is never billed.
Most recent liquidation written seconds ago. No exchange publishes this history, so it can only be recorded, never bought back.
| Route | What the payment unlocks | Query | USDC |
|---|---|---|---|
| /v2/liquidations/window | Forced liquidation volume for one symbol over a recent window, split by exchange and by whether longs or shorts were liquidated. | symbol, hours (1 to 168) | $0.02 |
| /v2/liquidations/cascade | Cascade score for one symbol: whether current liquidation volume is clustered rather than spread, with the observation window it was computed over. | symbol, minutes (5 to 240) | $0.05 |
| /v2/liquidations/universe | Every symbol seen on the tape in a window, with row counts, so a caller can tell coverage from silence. | hours (1 to 168) | $0.10 |
| /v2/venues/integrity | Per exchange reporting integrity for the window: row counts, distinct symbols, and which exchanges undercount by design. | hours (1 to 168) | $0.03 |
| /v2/liquidations/history | Complete recorded liquidation history for one symbol across binance, bybit and okx, from that symbol first observation to now, bucketed hourly or daily, with the coverage start stated in the payload. | symbol, bucket (hour or day) | $5.00 |
Free, no payment: /catalog · /health · /.well-known/x402
curl -si 'https://algo.ochinimus.app/v2/liquidations/window?symbol=SOL&hours=24'
A 402 comes back carrying the route, its price, the asset and what the payment unlocks in the body, while the payment challenge itself is base64 in the PAYMENT-REQUIRED header. Any x402 client on Algorand settles it. The facilitator sponsors the gas, so a caller spends USDC and nothing else.
We asked and got an answer. Billed.
The market genuinely had none in the window. That is a finding, and it is billed.
Our own lookup broke. Returns 503 and is never billed, because charging for a zero we invented would make every other number worthless.