Allways Access / Developersv1Get your API key
Endpoints

GET/v1/exchanges/{id}

The current state of one exchange. Same shape as the create response.

Request

GET /v1/exchanges/{id}. Needs x-api-key.

NameRequiredRule
idyesPath. The id from create
Requestcurl
curl "$API/v1/exchanges/5d1f3c2e-8a1b-4c7d-9e0f-123456789abc" -H "x-api-key: $KEY"

Response

The exchange object.

FieldMeaning
idExchange id
statusOne of the seven statuses
from, toCurrency ids
fromAmountAmount to send
toAmountAmount that lands, net of fee; final at creation
ratetoAmount per 1 fromAmount
depositAddressSend exactly fromAmount here, network fee on top; null until awaiting_deposit. For from=sn<N> it is a coldkey: send one transfer_stake on netuid N (origin and destination), not a transfer; see POST /v1/exchanges
validUntilSend-by deadline, unix seconds, usually about 5 minutes after awaiting_deposit; null until then
fromAddress, toAddressThe addresses you gave
fromTxHashYour deposit transaction, once seen
toTxHashOur payout transaction; set on finished
refundAsset, refundAddressSet on refunded
reasonSet only on failed; null on every other status
createdAt, updatedAtUnix seconds
referenceCheckout account reference, or null
Responsejson
{
  "id": "5d1f3c2e-8a1b-4c7d-9e0f-123456789abc",
  "status": "awaiting_deposit",
  "from": "sol",
  "to": "tao",
  "fromAmount": "0.5",
  "toAmount": "3.912",
  "rate": "7.824",
  "depositAddress": "7mv57M4Wkphb3Jm3kup53LiqmJHEFPFfBWucUyfyQFzi",
  "validUntil": 1756900612,
  "fromAddress": "9s4hVRU5nfPF9Er9Y5FexDjxNtvZSYmnVEujxHCX5Gsb",
  "toAddress": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty",
  "fromTxHash": null,
  "toTxHash": null,
  "refundAsset": null,
  "refundAddress": null,
  "reason": null,
  "createdAt": 1756900000,
  "updatedAt": 1756900012,
  "reference": null
}

List

GET /v1/exchanges returns the last 100 exchanges for the account, newest first, with the same object shape. Pass updatedSince=<unix> to return every exchange updated at or after that inclusive cursor without the 100-row cap.

Requestcurl
curl "$API/v1/exchanges" -H "x-api-key: $KEY"

Errors

HTTPCodeExtra fieldsWhen
401unauthorized—Missing or invalid x-api-key
403geo_blocked—Request from a blocked region
404not_found—No exchange with this id on your account (one exchange only)
429rate_limitedretryAfterOver the limit; see Rate limits

Notes

  1. Poll every 3 seconds and stop at finished, refunded, or failed. Normal order is pending → awaiting_deposit → confirming → exchanging → finished.
  2. pending usually becomes awaiting_deposit within a few seconds, at most about 30. If not, keep polling: it ends as awaiting_deposit or failed (pool_lost or reserve_rejected, credit refunded) within 15 minutes.
  3. Send before validUntil.
  4. After a deposit, confirming and exchanging usually finish within a few minutes; the destination chain's confirmations set the pace. Never stop polling before a terminal status.