Skip to main content
GET
Get order by UUID
The order UUID acts as a bearer capability: anyone holding it can read the order, addresses included, so treat it as a secret. Unknown UUIDs return 500, not 404. The full status table lives in Order lifecycle.

Path Parameters

uuid
string<uuid>
required

Order UUID returned by POST /v1/orders/create.

Response

The order, with expanded deposit and settle token objects.

An order with the deposit and settle token objects expanded.

id
integer
required

Internal numeric order id. SSE events do not carry it; their orderId is the uuid.

uuid
string<uuid>
required

Public order identifier and a bearer capability: anyone holding it can read the order. Store it server-side and keep it out of public URLs. For accountless orders it is your only handle. SSE events echo it as orderId.

status
enum<string>
required

Order lifecycle status.

  • AWAITING_USER_DEPOSIT: waiting for your deposit to the order's walletAddress.
  • AWAITING_USER_DEPOSIT_CONFIRMATIONS: deposit detected, waiting for on-chain confirmations (blockchain.neededConfirmations).
  • PROCESSING: transitional state between deposit confirmation and completion. Treat it as in flight.
  • COMPLETED: fill delivered and settleAmount is final. Terminal.
  • ERROR: the swap hit an error. Contact support with the order UUID. Terminal.
  • TIMED_OUT: no deposit arrived before timeout. Terminal.
Available options:
AWAITING_USER_DEPOSIT,
AWAITING_USER_DEPOSIT_CONFIRMATIONS,
PROCESSING,
COMPLETED,
ERROR,
TIMED_OUT
timeout
string<date-time>
required

UTC time at which the order expires if no deposit is received (30 minutes after createdAt). Orders cannot expire after a deposit is made.

intendedAmount
number
required

Amount declared at creation. Not validated against minimalAmount and maximalAmount; those bounds bind the actual deposit.

intendedIsDeposit
boolean
required

Whether intendedAmount was expressed in deposit-token units.

initialQuote
number
required

Estimated settle amount computed from intendedAmount at creation. Comes back as 0 when the intent is below the minimum.

depositTokenId
integer
required

Id of the deposit token.

settleTokenId
integer
required

Id of the settle token.

receivingAddress
string
required

Address where the settle tokens are delivered.

depositAmount
number | null
required

Actual amount deposited, once detected. null before any deposit.

depositEstSettleAmount
number | null
required

Estimated settle amount recomputed from the actual depositAmount. null before any deposit.

settleAmount
number | null
required

Amount delivered to receivingAddress. Updates while the order settles and is final once status is COMPLETED. null before settlement starts.

minimalAmount
number
required

Minimum deposit-token amount this order accepts. It binds the actual deposit; creation does not check intendedAmount against it.

maximalAmount
number
required

Maximum deposit-token amount this order accepts. The actual deposit must stay at or below it.

exchange
string
required

Pricing source label carried over from the quote (for example CEX). Settlement still happens through solver intent matching.

senderDepositTx
string | null
required

Transaction hash of your deposit, once detected. null before that.

exchangeWithdrawTx
string | null
required

Transaction hash of the transfer delivering settle tokens to receivingAddress. null until the fill.

Block-explorer link for exchangeWithdrawTx. null until the fill.

tradePath
object[]
required

Order-book legs behind this order's quote. They describe pricing, not how the order settles.

userId
string | null
required

User id for orders created with a JWT access token, a UUID string matching the id from GET /auth/me. null for accountless (tenant-key) orders.

createdAt
string<date-time>
required

UTC creation time.

walletAddress
string
required

The deposit address: a per-order escrow address on the deposit token's chain (a taproot bc1p... address for BTC). Send only the exact deposit token here, within the min/max bounds, before timeout.

depositToken
object
required

A token in the catalog. The same asset has a distinct numeric id per chain.

settleToken
object
required

A token in the catalog. The same asset has a distinct numeric id per chain.