Six unary methods read order state, and StreamOrderUpdates pushes every order change to keyed integrators that follow the whole protocol.

GetOrder

Everything known about one quote hash.
string
required
Hash returned by GetQuote.
QuoteView
The stored quote: hash, order parameters, fee breakdown, trade type, creation time, expiry time. Always present.
Order
Carries state, confirmations, and transaction hashes. A successful response always includes it; before the deposit is indexed the call returns NOT_FOUND instead.
Deposit
The matched source-chain deposit. Its token and amount are what the depositor actually sent, read from the chain events: the router’s input on a source swap, otherwise what reached the escrow. They can differ from the quote’s src_token and expected_amount_in.
Fulfillment
Present once a fulfillment is attempted. Includes attempts, last error, and realized gas cost.
Refund
Present once a refund is attempted.
A quote can carry more than one order, for example when the same hash is deposited twice and the duplicate is refunded. The response then describes the order of the deposit that matched the quote, whether it is still in flight, fulfilled, or refunded, or the most recent order when no deposit matched. Returns NOT_FOUND with quote not found if the hash is unknown, and NOT_FOUND with order not found if the quote exists but no deposit has been indexed yet. Poll until the order appears after depositing.

GetSourceSwap

The relayed swap of a Sui swap-first deposit, between the user’s intent and the deposit it produces. See Deposit on Sui.
string
required
Hash returned by GetQuote.
string
Object id of the on-chain SourceSwapIntent.
string
pending or submitting while the relayer prepares the swap, submitted while its transaction is in flight, executed once the swap has deposited, and lapsed when the intent can no longer run. A lapsed intent moved nothing: the user’s coins stay in their address balance.
string
Digest of the user’s transaction that opened the intent.
string
Digest of the relayer’s swap transaction, once one is submitted. When status is executed it is the order’s source transaction.
string
When the intent and its allowance expire, RFC 3339.
string
Why the intent lapsed. Present only when status is lapsed.
Returns NOT_FOUND with source swap not found until the intent’s transaction is indexed, which usually takes a few seconds after it lands. When a quote has several intents, the response describes the one that executed or is still running.
Resolves orders from whichever hash the user has: the quote hash, the source transaction hash, or the destination transaction hash. A transaction that batches several deposits matches one order per deposit.
string
required
A quote hash or transaction hash. Empty input returns INVALID_ARGUMENT.
Returns orders, a list of the same OrderSummary rows as ListOrders, in deposit order within the transaction. Call GetOrder with a row’s quote_hash for the full detail. Returns NOT_FOUND with no order matched when nothing resolves. This is the right call to put behind a support search box.

SearchAddress

Orders touching an address, as lightweight matches rather than full detail.
string
required
Address to look up.
AddressMatch[]
Each carries quote_hash, state, src_chain, dst_chain, and created_at.
Use it for an autocomplete or a compact history strip; fetch full detail per hash when the user picks one.

ListOrders

Paged order summaries for one address.
string
required
Address the orders belong to.
int64
Page size. Defaults to 20, clamped to 100.
string
Opaque cursor from the previous page’s next_cursor.
OrderSummary[]
Each carries the quote hash, the order, the deposit, both token addresses and amounts, the recipient, a gasless flag, and settled_at once the fulfillment or refund confirmed. src_token and src_amount are the deposit’s token and amount: what the depositor actually sent, not the quoted input.
string
Absent on the last page.

ListRecentOrders

The same page shape, protocol-wide and newest first. Takes limit and cursor only. This is what the public explorer feed reads.

StreamOrderUpdates

A server stream of order changes across the protocol. Call it over gRPC or gRPC-web; the JSON gateway times out long requests, so it cannot hold the stream. It requires an API key and returns UNAUTHENTICATED without one. Opening the stream spends its method cost, and every order message spends 5 more points from the same budget as the key’s other requests; heartbeats are free. Disabling the key ends its open streams with UNAUTHENTICATED within 15 seconds, and a changed rate limit applies to open streams from the next order message. When the key runs out of points the stream ends with RESOURCE_EXHAUSTED before the message is sent.
OrderDetail
The quote’s current GetOrder view, read right after a change to any order under that quote. When a quote was deposited more than once, a change to the duplicate order still sends the view of the order GetOrder describes. Sent when an order is created, when its state or transaction hashes change, and when its fulfillment or refund changes, including a late filled_amount or refunded_amount. A destination hidden on the first messages of a fresh order is sent again once it is revealed. Confirmation counts alone do not produce a message.
Heartbeat
Empty. The first message on every stream is a heartbeat, sent once the subscription is live, and another follows every 15 seconds.
The stream never replays: it carries the changes made after its first heartbeat, and nothing from while you were disconnected. The server ends the stream with ABORTED when it may have missed changes, and with UNAVAILABLE when it restarts. After ABORTED, UNAVAILABLE, or RESOURCE_EXHAUSTED, reconnect, wait for the first heartbeat, then read the orders you still track with GetOrder.

Notes

Order state is the only authority on settlement. dst_tx_hash is populated at submission, before confirmation. See Order lifecycle for the state list and types for full field definitions.