Skip to main content

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.

Required Headers

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.
PatternRecommendation
Stable readsCache route lists, currencies, and market metadata
Live readsPoll ticker, order book, and order status at moderate intervals
Order writesRetry with the same Idempotency-Key after a transient failure
PollingStop polling terminal orders and completed transactions
Batch jobsAdd jitter so scheduled jobs do not all run at the same second

Suggested Client Behavior

ResponseClient behavior
429 with Retry-AfterWait at least that long before retrying
429 without Retry-AfterUse exponential backoff with jitter
5xx on an order writeRetry with the same Idempotency-Key
repeated 429Slow 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.
ResourceTypical pattern
Markets and currenciesRefresh at startup and periodically
TickerRefresh when showing live prices or before order entry
Order detailPoll while the order is non-terminal
Wallet transactionsPoll on a schedule or after known account activity
Deposit addressRead on demand, then cache the returned address