Spot API Overview
Status: Implemented.
The Rocky Spot API is a Binance-Spot-compatible surface for trading Rocky's on-chain spot markets. Off-the-shelf Binance Spot client code ports with small, documented changes; every difference is called out on the page it affects and consolidated in Differences from Binance.
Two properties set it apart from a centralized spot venue:
- Matching is off-chain, settlement is on-chain. Orders match in Rocky's matching engine; every fill between customer accounts is then delivered as a two-leg atomic DvP transfer on the Canton Network and receives a
cantonUpdateIdyou can verify independently, and every order event and fill on the venue (house accounts included) is committed to Canton once per epoch with public inclusion proofs. See On-chain Settlement and Epoch Commitments. - Two signature schemes. Classic HMAC-SHA256 shared secrets, or Ed25519 keys where Rocky only ever holds your public key. See Basic Information.
Surfaces
| Surface | Path prefix | Auth | Page |
|---|---|---|---|
| Market data REST | GET /api/v3/{ping,time,exchangeInfo,depth,trades,klines,ticker/24hr} | none (per-IP rate limit) | Market Data REST |
| Trading and account REST | /api/v3/{order,openOrders,allOrders,myTrades,account} | X-MBX-APIKEY + signature | Trade REST |
| Session-bound REST | POST /api/v3/session-key, POST /api/v3/dev/faucet, POST /v1/spot/transfer, /v1/spot-chain/member-auth* | exchange wallet-session bearer token (no API key) | Session & Funding, MemberAuth |
| Market data WebSocket | wss://…/ws/<stream>, wss://…/stream?streams=… | none (per-IP connection cap) | WebSocket Streams |
There is no user-data WebSocket stream and no WebSocket order API; account and order state are REST-only.
Trading from your own Canton party? Start with the External Market Maker Guide: it explains the per-fill Canton traffic cost your validator carries and the settlement reconciliation endpoints.
Base URLs
| Environment | REST | WebSocket |
|---|---|---|
| Production | https://api.rocky.exchange | wss://api.rocky.exchange |
| Sandbox | provided in your Integration Pack | provided in your Integration Pack |
Relationship to the Perpetual Contracts API
The Spot API (/api/v3/*) and the perpetuals FAPI (/fapi/*, see Perpetual Contracts) share one API key, one signature verifier, one rate limiter, and one error-code table. An API key's request-weight budget spans both surfaces. Spot symbols are Rocky-native (CBTC-USDCB); there is no Binance-style symbol mapping on /api/v3.
Symbols and assets
- Spot symbols are uppercase, hyphenated, case-sensitive:
CBTC-USDCB,CETH-CBTC. - Asset names can contain a dot (
USDC.B); the symbol never does (CBTC-USDCBhasquoteAsset=USDC.B). Take asset names fromexchangeInfo, not by splitting the symbol. - WebSocket stream names use the lowercase symbol with the hyphen kept:
cbtc-usdcb@trade.
How to read this section
Every page carries a status, following the site convention:
- Implemented — Rocky serves this today; the page documents the exact request and response shape, derived from the gateway source.
- Not yet implemented (空缺) — the page records the Binance method/path and the planned scope so SDK authors can see the gap at a glance (for example Diff. Depth Stream).
Example response values on these pages are illustrative; field names, nesting, and string-versus-number types are exact.
Quick links
- Basic Information — base URLs, HMAC and Ed25519 signing, rate limits, error codes
- New Order and Account Trade List
- On-chain Settlement
- WebSocket Streams
- Institutional Onboarding
- Changelog