API Reference
Complete REST API reference for Olympus, auto-generated from the OpenAPI specification.
Interactive API documentation for all Olympus endpoints. Each page includes request/response schemas, parameter details, and example payloads.
Endpoints
Health
- Health Check —
GET /health
Trading
- Place Order —
POST /api/v1/order— Submit one or more orders (market or limit) - Cancel Order —
DELETE /api/v1/order— Cancel one or more orders
Market Data
- Depth —
GET /api/v1/depth?symbol=AAPL-USD&limit=20— Order book depth - Exchange Info —
GET /api/v1/exchangeInfo— All instruments with filters - Book Ticker —
GET /api/v1/ticker/bookTicker?symbol=AAPL-USD— Best bid/ask
Bridge
- Deposit —
POST /api/v1/bridge/deposit— Lock core balance and mint ERC-20 on EVM (EIP-712 signed)
Account
- Balance —
GET /api/v1/balance— Account balances (session token required in production) - Open Orders —
GET /api/v1/openOrders— Resting orders (session token required in production)
History
- My Trades —
GET /api/v1/myTrades?symbol=ETH-USD— Account trade history (session token required) - All Orders —
GET /api/v1/allOrders— Account order + bridge + gift history (session token required).symbolparameter is optional — omit to get all events. - Klines —
GET /api/v1/klines?symbol=ETH-USD&interval=1h— Kline/candlestick data (public)
WebSocket
-
WebSocket —
GET /ws— Real-time market data and private account streaming (full docs)Public channels:
depthUpdate,trade,kline,allMids. Private channel:accountUpdate(balances, open orders, order events — requires authentication). See the WebSocket API page for protocol details.
Admin
- Credit Account —
POST /api/v1/admin/accounts/{address}/credit— Credit assets to an account - Force Unlock —
POST /api/v1/admin/accounts/{address}/force-unlock— Unlock stuck bridged funds - Distribute OLP —
POST /api/v1/admin/distribute-olp— Send native OLP from bridge signer to any address - Add Instrument —
POST /api/v1/admin/instruments— Register a new trading pair - Halt Instrument —
POST /api/v1/admin/instruments/{id}/halt - Resume Instrument —
POST /api/v1/admin/instruments/{id}/resume - Clear Book —
POST /api/v1/admin/instruments/{id}/clear-book— Cancel all resting orders - Pause Bridge —
POST /api/v1/admin/bridge/pause - Resume Bridge —
POST /api/v1/admin/bridge/resume
Authentication
Trading endpoints (/api/v1/order, /api/v1/bridge/deposit) use EIP-712 typed data signatures. In dev mode, the X-Account-Address header can bypass signature verification.
Account & history endpoints (/api/v1/balance, /api/v1/openOrders, /api/v1/allOrders, /api/v1/myTrades) require X-Account-Address + X-Session-Token headers in production. The session token is obtained via WebSocket authentication (challenge-response with EIP-191 personal_sign) and persisted in localStorage for 24 hours. In dev mode, only X-Account-Address is required.
WebSocket auth uses a challenge-response flow. On first authentication, new wallets receive a welcome faucet (10,000 USD + 1 OLP). See the WebSocket API for details.
Admin endpoints (/api/v1/admin/*) require the X-Admin-Key header.
Base URL
http://localhost:3000