Referensi API
URL Dasar
https://staging.satoriex.io/api/v1Autentikasi
Sebagian besar endpoint bersifat publik. Endpoint dengan cakupan pengguna memerlukan token JWT Bearer dari POST /auth/login.
Endpoint Utama
Pasar
/api/v1/markets/api/v1/markets/:id/api/v1/markets/:id/trades/api/v1/markets/:id/orderbook/api/v1/orderbook/:market_id/:outcome_id/api/v1/feedOrder
/api/v1/orders/api/v1/ordersDompet
/api/v1/wallet/balance/api/v1/wallet/transactionsPersonal Access Tokens
/api/v1/me/personal-access-tokens/api/v1/me/personal-access-tokens/api/v1/me/personal-access-tokens/:idWire format for order fields
All integer fields are JSON numbers (no string encoding). The fields below use compact integer types to minimise payload size and eliminate floating-point rounding errors.
sideint81 = buy, 2 = sellpriceint32Probability in basis points (BPS). 10 000 = 100%. Example: 4 200 = 42%.quantityint64Number of shares (whole units). Minimum 1.Example: side=1 (buy), price=4200 (42.00% probability), quantity=100 shares.
Batas Kecepatan
Global limit: 100 requests per minute per authenticated user, scoped per endpoint path (anonymous traffic falls back to per-IP keys). Order endpoints (place / cancel) stack a 60 requests/minute per-IP cap on top of a 30 requests/minute per-user cap โ whichever you hit first applies. Authentication endpoints (login / register): 10 requests per minute per identifier. Token refresh: 20 requests per minute per IP. Buckets are scoped by request path โ different endpoints do not share a single bucket.
Biaya perdagangan
API trades incur the same fees as the web app: 1.5% trading fee deducted from seller proceeds at match. Maker rebate is 0.05% (5 BPS) on limit fills, or 0.10% (10 BPS) for API-key authenticated trades. See the Trading Guide for the full fee schedule and a worked example.
Format Respons
{"code": 0, "msg": "ok", "data": {...}}{"code": 50000, "msg": "internal error", "data": null, "trace_id": "abc123def456"}On 5xx errors the envelope also includes a non-empty trace_id field (e.g. "trace_id": "abc123"). Include this value when reporting issues to support.
Kode Error
0Success โ request completed normally40000Bad request โ invalid or missing parameters40100Authentication required โ sign in or refresh your token40300Forbidden โ KYC tier insufficient or permission denied4040Resource not found42900Rate limit exceeded โ slow down and retry50000Internal server error โ contact support if persistentVersioning and breaking-change policy
The current API version is v1 (/api/v1). Breaking changes โ field removals, type changes, semantic behaviour changes โ will be announced on the changelog at least 30 days before taking effect and will carry a new version prefix. Non-breaking additions (new optional fields, new endpoints) may ship without notice. Deprecated endpoints return a Sunset response header (RFC 8594) indicating the removal date.