Documentation Index
Fetch the complete documentation index at: https://stabyl.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Stabyl applies request limits to keep API performance consistent and protect trading and wallet workflows from accidental request bursts. Build clients that back off predictably, cache stable metadata, and avoid tight polling loops.
Send X-Api-Key on authenticated endpoints so limits are evaluated for the correct account. Send Idempotency-Key on order writes so retries are safe.
Handling Limits
When a request is rate limited, the API returns 429. Back off before retrying and avoid retry loops that reuse a new idempotency key for the same intended order action.
| Pattern | Recommendation |
|---|
| Stable reads | Cache route lists, currencies, and market metadata |
| Live reads | Poll ticker, order book, and order status at moderate intervals |
| Order writes | Retry with the same Idempotency-Key after a transient failure |
| Polling | Stop polling terminal orders and completed transactions |
| Batch jobs | Add jitter so scheduled jobs do not all run at the same second |
Suggested Client Behavior
| Response | Client behavior |
|---|
429 with Retry-After | Wait at least that long before retrying |
429 without Retry-After | Use exponential backoff with jitter |
5xx on an order write | Retry with the same Idempotency-Key |
repeated 429 | Slow the whole account-level queue, not only one request |
Polling Guidance
Use shorter intervals only while a workflow is active. Once an order is terminal or a transaction appears in the timeline, slow down or stop polling that resource.
| Resource | Typical pattern |
|---|
| Markets and currencies | Refresh at startup and periodically |
| Ticker | Refresh when showing live prices or before order entry |
| Order detail | Poll while the order is non-terminal |
| Wallet transactions | Poll on a schedule or after known account activity |
| Deposit address | Read on demand, then cache the returned address |