Skip to main content

fill

privatechannel: fillwss://api.staging.sphx.io/v1/ws

The authenticated account's own fills, within ~10 ms of the match (p99). Carries the account's own-leg fee (signed µUSDC) and the fill tag (normal / liquidation / adl). If two of your accounts cross, each receives its own frame. Requires bearer auth on the upgrade. No subscribe params (auto-scoped).

Subscribe

{ "op": "subscribe", "channel": "fill" }

No params — the channel auto-scopes to the authenticated account.

Requires a bearer token on the upgrade request.

Events

fill

One of your orders traded.

FieldTypeRequiredDescription
event_seqinteger · int64Cluster sequence number — monotonic; drives gap detection and REST/WS joins.
ts_nsinteger · int64Aeron Cluster timestamp — MILLISECONDS despite the name.
instrument_idinteger · int64
maker_order_idinteger · uint64
taker_order_idinteger · uint64
account_idinteger · int64Always the connection's authenticated account.
sidemaker · takerWhich side of the match this account was on.
price_pipsinteger
countinteger
maker_sidebuy · sell
fee_uusdcinteger · int64This account's own leg fee, signed µUSDC (negative = rebate).
tagnormal · liquidation · adlLiquidation fills carry the tag here only — never on the public tape.
Example frame
{
"channel": "fill",
"event": "fill",
"data": {
"event_seq": 1057,
"ts_ns": 1779111582959,
"instrument_id": 1000,
"maker_order_id": 41,
"taker_order_id": 42,
"account_id": 7,
"side": "taker",
"price_pips": 3900,
"count": 100,
"maker_side": "buy",
"fee_uusdc": 0,
"tag": "normal"
}
}