Skip to main content
GET
Get your fills
GET /fills-v3 returns one row per match, each with its own amount, price and settlement. Where GET /trades-v3 gives one row for a whole bet, this gives the fills that made it up. A trade will have multiple fills that compose it. Narrow with tradeId (one bet) or orderId (the signed order id — same value as id on order rows and orderId from POST /orders-v3). status filters to one point in the bet lifecycle — MATCHED, LOCKED, SETTLED or FAILED. A bet that filled against several makers can have its fills in different states at once, so filtering here is per fill, not per bet: status=LOCKED on a bet with one locked and one still-matched fill returns just the locked one. Combine it with tradeId to see which parts of a single bet have escrowed.

Authorizations

x-sx-api-key
string
header
required

API key, sent as the x-sx-api-key header.

Query Parameters

tradeId
string

Trade ID to query.

orderId
string

Signed order ID to query. Same value as id on order rows / orderId from POST /orders-v3. An unknown or foreign id returns an empty page.

status
enum<string>

Status to filter by.

Available options:
MATCHED,
LOCKED,
SETTLED,
FAILED
startDate
string<date-time>

Only include fills recorded at or after this time (ISO-8601).

Example:

"2026-06-01T00:00:00Z"

endDate
string<date-time>

Only include fills recorded at or before this time (ISO-8601). Must not be earlier than startDate.

Example:

"2026-06-08T00:00:00Z"

sortAsc
boolean
default:true

Sort oldest-first. Defaults to true.

perPage
integer
default:50

Rows per page.

Required range: 1 <= x <= 100
nextKey
string

Cursor from the previous response to continue pagination.

Response

status
string

success or failure if the request succeeded or not

data
object
Last modified on September 9, 2026