REST, WebSocket, and FIX 4.4 — everything you need to build institutional-grade trading systems on Exbit.
Standard HTTP endpoints for account management, order placement, market data queries, and wallet operations. JSON request/response format with HMAC-SHA256 authentication.
Real-time streaming for order book updates, trades, ticker data, kline/candlestick feeds, and private account events. Sub-40ms latency with automatic reconnection.
Financial Information eXchange protocol for institutional clients requiring ultra-low-latency order routing, drop copies, and direct market access. Available for VIP 5+ accounts.
Install the SDK, provide your API key, and place your first order.
# Install the Exbit Python SDK
# $ pip install exbit
from exbit import Client
# Initialize client with your API credentials
client = Client(
api_key="your_api_key",
secret="your_api_secret",
testnet=True # Use testnet for development
)
# Get account balance
balance = client.account.balance()
print(f"USDT: {balance['USDT']['available']}")
# Place a limit buy order
order = client.order.create(
symbol="BTCUSDT",
side="BUY",
type="LIMIT",
price=94000.00,
quantity=0.01,
time_in_force="GTC"
)
print(f"Order ID: {order['orderId']}")
# Stream real-time ticker
async for tick in client.ws.ticker("BTCUSDT"):
print(f"{tick.price} {tick.ch24h}%")
All REST endpoints use the base URL https://api.exbit.com/v3
Rate limits are applied per API key. Higher VIP tiers receive increased limits.
| Protocol | Endpoint Type | Default Limit | VIP 5+ | Weight |
|---|---|---|---|---|
| REST | Market data | 1,200 req/min | 6,000 req/min | 1 per call |
| REST | Trading | 600 req/min | 3,000 req/min | 1 per order |
| REST | Account | 300 req/min | 1,500 req/min | 5 per call |
| REST | Batch orders | 60 req/min | 300 req/min | 10 per batch |
| WebSocket | Subscriptions | 200 streams/conn | 1,000 streams/conn | 1 per stream |
| WebSocket | Connections | 5 per IP | 25 per IP | - |
| FIX | Order entry | 100 msg/sec | 500 msg/sec | - |
Well-documented, type-safe SDKs maintained by the Exbit engineering team. All open source on GitHub.
Create, rotate, and manage your API keys from the Exbit dashboard. Each key can be configured with granular permissions and IP whitelisting for maximum security.
# Authenticate requests with HMAC-SHA256
timestamp=$(date +%s000)
message="${timestamp}GET/v3/account/balance"
signature=$(echo -n "$message" | \
openssl dgst -sha256 -hmac "$SECRET")
curl -H "X-EXB-KEY: $API_KEY" \
-H "X-EXB-SIGN: $signature" \
-H "X-EXB-TS: $timestamp" \
https://api.exbit.com/v3/account/balance
Five official SDKs, one consistent API. Here's how to submit a BTC-USDT limit order in each.
The 12 REST endpoints you'll use every day, with rate limits for standard accounts.
Six real-time streams cover everything from L2 order-book diffs to private fills.
wss://stream.exbit.com/book@BTC-USDT
Full snapshot on subscribe, followed by incremental diffs at 100 ms. Use sequence numbers to detect gaps.
{"b":[["94218.4","1.2"]],"a":[["94218.9","0.8"]],"seq":481229}
PUBLICwss://stream.exbit.com/trades@BTC-USDT
Every public print pushed as it lands on the matching engine, typically within 3 ms of the fill.
{"p":"94218.4","q":"0.018","s":"BUY","ts":1745500800123}
PUBLICwss://stream.exbit.com/ticker@BTC-USDT
24h rolling stats: last, high, low, volume, quote volume and price change percent, throttled to 1 Hz.
{"last":"94218.4","h":"95102","l":"92840","ch":"2.34"}
PUBLICwss://stream.exbit.com/kline@BTC-USDT_1m
Live candle for the current interval, with a final confirmed bar when the bucket closes.
{"o":"94100","h":"94240","l":"94080","c":"94218","v":"318.4"}
PUBLICwss://stream.exbit.com/private/account
Real-time balance deltas from trades, transfers, deposits and withdrawals for the authenticated key.
{"asset":"USDT","free":"12840.22","locked":"942.00"}
PRIVATE · AUTHwss://stream.exbit.com/private/orders
Lifecycle events for every order you own: NEW, PARTIALLY_FILLED, FILLED, CANCELED, REJECTED.
{"id":"o-9214","s":"BTC-USDT","st":"FILLED","fp":"94218.4"}
PRIVATE · AUTH