Skip to main content

API reference

Use the OpenAPI schema for exact request fields, defaults and validation. It is generated from the schemas used by both HTTP and MCP.

All HTTP operations use POST /v1/{name} with Content-Type: application/json. Use {} for an operation with no inputs. Send private requests with Authorization: Bearer <token>.

OperationPurposeSession required
capabilitiesRead available features and integration linksNo
sessionCreate and return a session tokenNo
catalogBrowse assets and products on either sideNo
quoteQuote a swap or purchaseYes
ordersCommit one quoteYes
orderRead an order and its next actionsYes
list_ordersList the latest 100 orders in the sessionYes
operationRead a mutation's recorded outcomeYes
paymentCreate a Pay Mode orderYes
fundingQuote a Pay Mode contributionYes
actionSubmit an input, deposit hint or supported management actionYes
deliveryRead a delivered product's codes or credentialsYes

Amounts and quotes​

Send amounts as positive decimal strings. quote.amount_side defaults to from; to specifies the desired output amount. slippage_bps defaults to 100 (1%) and accepts 0–1000. confidential defaults to false.

Quote responses contain a quote_id, expiry, raw source and destination amounts, a minimum destination amount when available, cost facts and route step count. Cost fields ending in LowerBound are estimates, not guaranteed totals. A missing cost is unknown, not zero.

Order responses​

An order response contains:

  • order_id and mode: the saved order and its swap or pay flow.
  • order: current intents, deposits, holds and payment state when applicable.
  • next_actions: what the agent can do next, including a polling delay.
  • terminal: whether this snapshot needs further tracking. Terminal does not imply success.
  • app_url and controls_url: links for the browser. Treat both as private; the controls link contains authorization.

Nested order and catalog fields retain the names shown in their responses, including amountRaw, networkId and balanceRaw. Use amountRaw for exact arithmetic and the display amount for text.

Supported actions​

actionAdditional fields
notify_depositnetwork, tx_hash
submit_inputintent_id, input_id, value
resolve_holddeposit_id, resolution: refund or keep_holding
set_refund_destinationrefund_asset from the catalog, refund_address
release_paymentNone
cancel_paymentNone

Every action also needs order_id and idempotency_key. IDs and allowed actions must come from the current order. See Order lifecycle before implementing retries.

Credentials​

Session tokens currently have no automatic expiry. There is no self-service recovery or revocation endpoint in this version. Keep tokens in a secret store. Use a separate session for each independent application or user.

API responses are marked no-store. The service hashes session tokens and encrypts stored order credentials. The running service must still access those credentials to act for your session.