Query Trades

The Trades endpoints are your record of what actually happened. Every execution zerohash processes for your platform lands here as a trade — a settled (or settling) transaction with its amounts, prices, parties, and settlement state — and these endpoints let you read that record back programmatically.

For engineers and PMs, this is the data behind reconciliation, reporting, transaction histories, and audit. If you need to answer "did this fill?", "what did the user pay?", or "has it settled yet?", you're calling one of these two endpoints. The shape of a trade mirrors a standard back-office trade report, so it should feel familiar if you've integrated a trading system before.

List trades — GET /trades

Returns the trades your platform can see, paginated and scoped to recent activity. A range of filters let you narrow by account, trade and settlement state, time window, counterparty, and your own or the execution reference — see the endpoint reference (https://docs.zerohash.com/reference/get_trades) for the full set of parameters.

Reach for this when you're working across a set of trades: building a statement, reconciling a period's activity, or finding everything still awaiting settlement.

Get a trade — GET /trades/{trade_id}

Returns the full detail for a single trade by its zerohash trade ID — amounts, prices, settlement details, and counterparty information. Reach for this when you already know the trade you care about and want the complete picture: inspecting one transaction, checking its settlement status, or pulling authoritative detail for audit. It's the drill-down to the list endpoint's overview.

Getting notified — Trade status updates

Polling the endpoints above is one way to stay current; trade status updates are the other. Rather than repeatedly asking whether anything changed, you can have zerohash push a notification whenever a trade's state changes, so your systems react as it happens.

Updates fire as a trade moves through its lifecycle — from accepted (executed, awaiting settlement) to active (settlement in progress) to terminated (settled). The payload carries the core trade detail — mirroring the shape of GET /trades/{trade_id} — which is enough for most reactions; if you need fields it omits, call GET /trades/{trade_id} to pull the complete record.

See the Trade status updates reference for the payload and setup.