Developers

Trade programmatically.

REST and WebSocket APIs for market data, order management, and account operations. Low-latency endpoints, clear docs, generous rate limits.

Get started → See endpoints

What's inside

Market data

Tick-level trades, candles, and L2 order books across all markets.

Trading

Place, cancel, and amend orders. TP/SL, trailing stops, and reduce-only supported.

Account

Balances, positions, fills, transfers, and activity history.

WebSocket streams

Real-time market data and account updates with backpressure handling.

Quickstart

Create an API key in your account settings, then hit your first endpoint.

Authenticate and fetch balances

# Install the official SDK
pip install demo-sdk

# Python
from Caldriscoremarketimport Client

client = Client(api_key="dk_live_...", api_secret="...")
balances = client.account.balances()
print(balances)

Place a limit order

curl -X POST https://api.Caldriscoremarket.com/v1/orders \
  -H "Authorization: Bearer dk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "symbol": "BTC-USD-PERP",
    "side": "buy",
    "type": "limit",
    "price": "68500.00",
    "size": "0.1",
    "time_in_force": "GTC"
  }'

Endpoints at a glance

Category Method Path Auth
Market data GET /v1/markets Public
Market data GET /v1/markets/{symbol}/candles Public
Market data GET /v1/markets/{symbol}/orderbook Public
Account GET /v1/account/balances Signed
Account GET /v1/account/positions Signed
Trading POST /v1/orders Signed
Trading DELETE /v1/orders/{id} Signed
Streams WSS /v1/stream Signed

Rate limits

Public endpoints allow 120 requests / minute per IP. Signed endpoints allow 600 requests / minute per API key by default, with elevated limits available for VIP tier accounts. WebSocket connections support up to 100 concurrent streams per key.

Ready to build?

Create your account, generate an API key, and you're live in minutes.

Create API key →