Languages
TypeScript
Node.js and modern browsers. Full type coverage of requests and responses.
Python
Sync and async clients. Pydantic-typed request and response models.
Design principles
Both SDKs share the same design:- 1:1 endpoint coverage. Every REST endpoint has a method with the same name.
- Strong types on numeric fields. Prices, sizes, and PnL values are exposed as
Decimal(Python) andstringin TypeScript with a helper to convert to arbitrary-precision math. Numbers are never returned as floats. See Numeric conventions. - Automatic idempotency. Every mutating method accepts an optional
idempotency_key. If omitted, the SDK generates one and passes it through. Retries reuse the key automatically. See Idempotency. - Retry with backoff. Built-in exponential backoff with jitter on 429 and 5xx responses.
Retry-Afterheaders are honored. - Configurable base URL. Point at production, staging, or a local mock.