Documentation v1 · UPDATED 21 AUG 2026
Get an API key
On this page

How matching works

Each instrument has one order book. Sellers rest asks on it with a limit price and a token capacity; buyers arrive with a bid and a ceiling.

Which ask fills

Matching is price-time priority. The engine takes the cheapest ask at or below your ceiling that still has capacity; where two asks are priced the same, the one that rested first goes first.

You are filled at the resting ask price, not at your ceiling. Bidding higher widens the set of asks you are willing to take — it does not raise what you pay. If the best ask is $0.24 and your ceiling is $0.30, you pay $0.24.

A fill larger than one ask's remaining capacity consumes it and continues to the next ask; a fill smaller than the ask leaves the remainder resting.

There is one global book per instrument. region on a bid is a filter — omit it to sweep every region — not a separate market.

When nothing crosses

Live chat completions are immediate-or-cancel: they fill against what is on the book right now, and cancel whatever is left over. If no ask sits at or under your ceiling, nothing fills and you are not charged — the request returns 402 with no_fill_at_limit. Raise the ceiling, retry later, or buy a capacity ticket instead of waiting on the spot price.

Time in force, for capacity tickets

Tickets can say what should happen to an unfilled remainder.

Time in forceBehaviour
gtcRest the remainder on the book until it fills or you cancel it. Default.
iocFill what is available now, cancel the rest.
fokFill the whole quantity now, or reject the order outright.

Take and market orders are always immediate-or-cancel; asking for gtc on one of those is treated as ioc.

When an ask leaves the book

An ask rests until one of these happens:

  • it fills completely,
  • the seller cancels it,
  • its ttl_seconds elapses — five minutes if the seller did not set one,
  • or the seller is suspended. A seller who breaches the latency SLA repeatedly has their live asks pulled from the book and cannot rest new ones until the cooldown ends. See SLA enforcement.

A resting order is durable: it survives a restart of the exchange, so a gtc remainder does not quietly disappear.

Related: the spot market for what is traded, and settlement for what happens after a fill.