Storm Trade
EN
EnglishРусскийNot available
Menu
On this page

⚡ Trading API (V3)

The Trading API is the public interface of the Storm V3 sequencer. It accepts signed intents, bundles them, sends them on-chain and lets you follow the result. All reads are keyed by Smart Account address and need no authentication.

  • Mainnet: https://api.storm.tg/v3-node-0
  • Stage: https://api.stage.stormtrade.dev/v3-node-0
  • Full schemas: Swagger

Read Architecture & Concepts first for Smart Accounts, intents, query ids and bundle states.


📤 Orders

Place an order

POST /order/place

{
  "sa": "<smart-account-address>",
  "message": "<base64 signed intent cell>",
  "public_key": "<base64 public key>",
  "signature": "<base64 signature>",
  "builder": "<registered builder address, optional>"
}
FieldNotes
saSmart Account address, raw or user-friendly
messageThe intent cell built by the SDK, base64
public_key, signatureKey that controls the Smart Account and its signature over the message
builderOptional. Attributes the order to a registered builder. See Builder Fees
order_requestsOptional. Extra order requests bundled with the intent, for example SL/TP
payment_modeOptional. Selects how gas for the bundle is paid

Response:

{
  "ok": true,
  "accepted": true,
  "intent_hash": "<hex>",
  "intent": { "...": "settled action" },
  "trace": { "...": "emulation trace" }
}

accepted: true means the intent passed emulation and is queued. Store intent_hash and poll the endpoints below for the on-chain result.

Cancel an order

POST /order/cancel takes the same sa, message, public_key and signature fields with a signed cancel intent.

Follow an intent

  • GET /intent/{hash} returns the intent by the hash from the place response.
  • GET /smartaccount/{address}/bundles/{query_id} returns the bundle that carries the intent with that query id, including its status.

👛 Smart Account

MethodPathReturns
GET/smartaccount/{address}/stateAccount state
GET/smartaccount/{address}/queryIDquery_id to use next, plus executor_query_id and max_live_query_id
GET/smartaccount/{address}/balanceBalance in the default collateral
GET/smartaccount/{address}/balancesBalances in all collaterals
GET/smartaccount/{address}/lockedBalance, /lockedBalancesCollateral locked by open orders and positions
GET/smartaccount/{address}/positionsOpen positions across all markets, each with market, direction and state
GET/smartaccount/{address}/gasUnitsPrepaid gas units left
GET/smartaccount/{address}/referralReferral binding of the account
GET/smartaccount/{address}/eventsEvent feed for the account
GET/smartaccountsSearch Smart Accounts
POST/smartaccount/self-depositDeposit into the caller's own Smart Account
POST/position/syncForce a re-read of a position from chain

📦 Bundles

MethodPathReturns
GET/smartaccount/{address}/bundlesAll bundles of the account
GET/smartaccount/{address}/bundles/{query_id}One bundle
GET/smartaccount/{address}/finalizingBundles awaiting on-chain finality
GET/smartaccount/{address}/sentBundles broadcast but not yet confirmed
GET/bundles, /bundles/{prepared,committed,finalizing,confirmed,failed}Global bundle lists by state. Prefer the account-scoped endpoints

Bundle statuses are pending, sealed, sent, confirmed, failed. See Architecture & Concepts.


📊 Orderbook

Limit and stop orders wait in the sequencer orderbook until their trigger price is reached. asset is the market address.

MethodPathReturns
GET/orderbook/{asset}/depth?levels=10Aggregated price levels with order counts and total size
GET/orderbook/{asset}/bids, /asksResting orders by side
GET/orderbook/{asset}/pendingOrders waiting to be executed
GET/orderbook/{asset}/statsOrderbook summary
GET/orderbook/ordersOrders across all markets

⛽ Gasless

MethodPathReturns
GET/gasless/balance/{address}Gasless balance of the account
POST/gasless/withdrawalRequest a gasless withdrawal
GET/gasless/withdrawals/{address}Withdrawal history

🧩 Builders

GET /builders lists registered builders with their raw rebate rate, cumulative earnings and active flag. Field meanings and the rate scale are documented in Builder Fees.


🩺 Status and Volume

MethodPathReturns
GET/statusok, lag, last_processed_block, current_block, bundle counts by state, pending_intents
GET/statsSystem statistics
GET/volumeVolume snapshot for all traders
GET/volume/cumulativeCumulative V3 trading volume
GET/volume/{address}Volume of one trader
GET/healthz, /readyzLiveness and readiness probes

Check ok and lag from /status before submitting orders. A non-zero lag means the sequencer is behind the chain and acceptance may be delayed.


🪵 Logs and Events

GET /events, GET /logs/failed, GET /logs/type/{type}, GET /logs/vamm, GET /smartaccount/{address}/logs and GET /bundler/logs expose execution logs. They are useful for debugging a failed bundle. For production dashboards use the account-scoped endpoints.

Last updated