Skip to main content
https://data.rekt.trading serves settled trades and ended positions, rebuilt by replaying each settlement through the same engine the program runs. It is read-only and it needs no account. A web page on any origin can call it: responses carry Access-Control-Allow-Origin: *, and a preflight (OPTIONS) is answered. It sets no cookies and accepts no credentials. Start at GET /v0/health. The program is the ground of truth and this API is a lagging mirror of it. It answers no live question. Read live state from the chain through the SDK.

Routes

owner takes a wallet as base58 or as 64 hex characters. Any other value matches nothing: the page is empty and filters.owner repeats what you sent.

Limits

  • Per-transaction history is the last 48 hours. /v0/trades, /v0/minute/rounds and /v0/positions return rows settled or ended in the last 48 hours. A round that is still open is dated by when it opened. A page that asks for older rows is empty. /v0/trades/{signature} answers 404 for a trade older than that, the same answer as for a signature it does not hold. totalMatching, matched and nextBeforeSlot count only the rows inside the window. The response states the window in its window field.
  • Pages hold at most 100 rows. A larger limit is read as 100. Page with beforeSlot, using nextBeforeSlot from the previous page.
  • Requests are rate-limited. GET /v0/health states the limit under access. A request over it gets 429 and a Retry-After header with the number of seconds to wait. Wait that long, then retry.
  • Days with fewer than 3 settlements are merged into the day after them in byDay, volumeByDay and the day series of /v0/capital, and the response says so in dayCells. A merged day takes the label of the day it joined, and nothing is lost: the cells still sum to the total.
  • Poll the aggregates no more than once every 10 seconds. /v0/stats, /v0/markets, /v0/capital and /v0/referral change at most that often and carry Cache-Control: public, max-age=10, stale-while-revalidate=30. The per-transaction routes carry max-age=5.
  • A request URL is at most 2,048 characters. A longer one gets 414.
GET /v0/health returns these figures for the caller that asked, under access. Read the limits from there instead of copying them.

History longer than 48 hours

  • Totals and trends: /v0/stats returns byDay (settlements per day) and volumeByDay (per day: settlements, stake and notional). /v0/markets returns the all-time settlements, stake and notional per market. Both cover the whole archive.
  • One trader’s older trades, or one older trade: read them from the chain. readTradeHistory in the SDK scans a trader’s closed trades from the program’s own events.

A request that is refused