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>.
| Operation | Purpose | Session required |
|---|---|---|
capabilities | Read available features and integration links | No |
session | Create and return a session token | No |
catalog | Browse assets and products on either side | No |
quote | Quote a swap or purchase | Yes |
orders | Commit one quote | Yes |
order | Read an order and its next actions | Yes |
list_orders | List the latest 100 orders in the session | Yes |
operation | Read a mutation's recorded outcome | Yes |
payment | Create a Pay Mode order | Yes |
funding | Quote a Pay Mode contribution | Yes |
action | Submit an input, deposit hint or supported management action | Yes |
delivery | Read a delivered product's codes or credentials | Yes |
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_idandmode: 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_urlandcontrols_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
action | Additional fields |
|---|---|
notify_deposit | network, tx_hash |
submit_input | intent_id, input_id, value |
resolve_hold | deposit_id, resolution: refund or keep_holding |
set_refund_destination | refund_asset from the catalog, refund_address |
release_payment | None |
cancel_payment | None |
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.