Skip to main content

REST API

The REST API is read-only apart from POST /action, which is how every state change is submitted — see Signed actions. No authentication is needed for reads.

Base URLs are listed in Networks and endpoints. The interactive, always-current reference is generated from the live schema: Nord API and Proton API.

Exchange and markets

EndpointPurpose
GET /infoMarkets, tokens, decimals, and IDs — fetch this first
GET /markets/liveLive pricing state for every market
GET /market/{market_id}/liveLive pricing state for one market
GET /market/{market_id}/orderbookOrderbook snapshot with an updateId
GET /market/{market_id}/statsRolling market statistics
GET /market/{market_id}/history/PT1HHourly market history
GET /tradesTrades, filterable and paginated
GET /order/{order_id} and /order/{order_id}/tradesOne order and its fills
GET /tokens/{token_id}/statsToken statistics
GET /fee/brackets/infoFee tier brackets
GET /timestampServer time, required when signing actions

Accounts

EndpointPurpose
GET /user/{pubkey}Accounts owned by a wallet
GET /account/{account_id}Balances, positions, and margin state
GET /account/{account_id}/ordersOrder history
GET /account/{account_id}/orders/openOpen orders
GET /account/{account_id}/position/summaryPosition summary
GET /account/{account_id}/pnl/summaryRealized and unrealized PnL
GET /account/{account_id}/history/{kind}Paginated history
GET /account/{account_id}/triggersTriggers on the account
GET /account/{account_id}/fee/tierEffective fee tier
GET /account/{account_id}/fees/withdrawalQuoted withdrawal fee
GET /event/last-acked-nonceHighest acknowledged nonce for a signer
GET /action/last-executed-idLast executed action ID

History kind is one of deposit, withdrawal, transfer, funding, pnl, position, liquidation, fee-tier, vault/deposit, or vault/withdrawal.

Accounts are addressed by numeric account ID, not by wallet address — see Accounts and sessions for how to resolve one.

Vaults

GET /vaults, GET /vault/{vault_id}, GET /vault/{vault_id}/user/{account_id}, and GET /account/{account_id}/vault-user-states.

Conventions

  • Scaled integers. Prices, sizes, and amounts are integers scaled by the market's priceDecimals / sizeDecimals or the token's decimals. Read them from /info and descale before displaying. A BTCUSD price of 724336 with priceDecimals: 1 is 72433.6.
  • Pagination. History endpoints take pageSize and a cursor (startInclusive), plus since / until RFC3339 bounds where applicable.
  • Timestamps. RFC3339 in requests; /timestamp is the authority for signing.
  • Schemas. GET /openapi.json, GET /proton/openapi.json, and GET /schema.proto are served by every deployment, so you can generate clients and protobuf bindings for the exact version you are talking to.

For anything latency-sensitive, stream instead of polling — WebSocket streams.

These materials are provided for informational purposes only and do not constitute financial, investment, legal, or tax advice, or an offer or solicitation to buy or sell any asset. Trading digital assets and derivatives involves substantial risk, including the possible loss of some or all capital. Products may not be available in all jurisdictions. Users are responsible for evaluating suitability and complying with applicable laws.