aster-api-websocket-v3
SKILL.md
Aster API WebSocket
Base: wss://fstream.asterdex.com. Raw: /ws/<streamName>. Combined: /stream?streams=name1/name2/... → {"stream":"<name>","data":<payload>}. Stream names lowercase (e.g. btcusdt).
Limits: 24h; ping 5 min → pong within 15 min; 10 msg/s; max 200 streams.
Market: subscribe / unsubscribe
JSON: Subscribe {"method":"SUBSCRIBE","params":["btcusdt@aggTrade","btcusdt@depth"],"id":1} → {"result":null,"id":1}. Unsubscribe: UNSUBSCRIBE + params. List: LIST_SUBSCRIPTIONS. id = unsigned int.
Stream names (market)
| Stream | Description |
|---|---|
<symbol>@aggTrade |
Aggregate trades (100ms) |
<symbol>@depth |
Diff. book depth (250/500/100ms: @depth@500ms, @depth@100ms) |
<symbol>@depth5, @depth10, @depth20 |
Partial book depth |
<symbol>@kline_<interval> |
Kline (e.g. 1m, 1h); interval as in REST |
<symbol>@markPrice, <symbol>@markPrice@1s |
Mark price (3s or 1s) |
!markPrice@arr, !markPrice@arr@1s |
All symbols mark price |
<symbol>@miniTicker |
24h mini ticker (500ms) |
!miniTicker@arr |
All mini tickers (1000ms) |
<symbol>@ticker |
24h ticker (500ms) |
!ticker@arr |
All tickers (1000ms) |
<symbol>@bookTicker |
Best bid/ask (real-time) |
!bookTicker |
All book tickers |
<symbol>@forceOrder |
Liquidation snapshot (1000ms) |
!forceOrder@arr |
All liquidations |
User data stream
- Start:
POST /fapi/v3/listenKey(signed) →{ "listenKey": "..." }. If account already has active listenKey, same key returned and validity extended 60 min. - Connect:
wss://fstream.asterdex.com/ws/<listenKey>. - Keepalive:
PUT /fapi/v3/listenKey(signed) at least every <60 min (e.g. every 30 min). - Close:
DELETE /fapi/v3/listenKey(signed).
User data events are not guaranteed in order during heavy load; order updates by event time E.
Events: ACCOUNT_UPDATE (balance/position), ORDER_TRADE_UPDATE, ACCOUNT_CONFIG_UPDATE (leverage, multi-asset, position mode), MARGIN_CALL, listenKeyExpired.
Order book sync (depth stream)
- Connect to
btcusdt@depth(or combined). - Buffer incoming events.
- Get snapshot:
GET /fapi/v3/depth?symbol=BTCUSDT&limit=1000. - Drop events with
u< snapshotlastUpdateId. - First valid event:
U≤lastUpdateIdandu≥lastUpdateId. - Then each event’s
pumust equal previous event’su; else re-sync from step 3. - Quantity in events is absolute; quantity 0 means remove that price level.
Payload shapes: reference.md.
Weekly Installs
9
Repository
asterdex/aster-…ills-hubGitHub Stars
57
First Seen
8 days ago
Security Audits
Installed on
opencode9
github-copilot9
codex9
kimi-cli9
gemini-cli9
amp9