Menu
On this page

πŸ”Œ REST API

Storm exposes two REST APIs. They serve different jobs and live on different hosts.

APIJobSwagger
Trading API (V3)Submit and cancel signed intents, query Smart Accounts, bundles, orderbook and sequencer statusapi.storm.tg/v3-node-0/swagger
Data APIRead markets, prices, positions and order history, vaults, referrals, statsapi.storm.tg/api/api-docs

A typical integration reads markets and history from the Data API and writes orders through the Trading API.


🌐 Environments

EnvironmentTrading API (V3)Data API
Mainnethttps://api.storm.tg/v3-node-0https://api.storm.tg/api
Stagehttps://api.stage.stormtrade.dev/v3-node-0https://api.stage.stormtrade.dev/api

Stage runs against TON testnet. Build and test there first.


πŸ”‘ Authentication

  • Trading API (V3) has no API key. Every write is a message signed by the user's key, and every read is public by Smart Account address.
  • Data API is public for reads. A few endpoints used by the Storm app itself require a bearer token and are not intended for third parties.

⏱ Rate Limits

Rate limits are applied per IP. Exact numbers are not published and may change. Poll status endpoints no more often than once per second, cache market lists, and use the account-scoped endpoints instead of listing all bundles or accounts.


🚨 Errors

The Trading API returns a JSON body with code, error, msg and externalQueryId on 400 and 500. The codes to handle are listed in Architecture & Concepts.

The Data API follows NestJS conventions and returns statusCode, message, error and path.


🧭 Which Endpoint Do I Need?

I want toUse
List markets with current price and reservesData API GET /markets
Place or cancel an orderTrading API POST /order/place, POST /order/cancel
Get the next query id for a Smart AccountTrading API GET /smartaccount/{address}/queryID
Read a user's open positionsTrading API GET /smartaccount/{address}/positions
Read a user's position or order historyData API GET /positions/{trader}/..., GET /orders/{trader}/...
Follow an order after submissionTrading API GET /intent/{hash}, GET /smartaccount/{address}/bundles/{query_id}
See the limit orderbookTrading API GET /orderbook/{asset}/depth
Check whether the sequencer is healthyTrading API GET /status
Check builder registration and earningsTrading API GET /builders
Last updated