# Stabyl API - [Introduction](https://docs.stabyl.com/docs/introduction.md): Build server side automations for your own Stabyl account. - [Quickstart](https://docs.stabyl.com/docs/quickstart.md): Make the first calls for wallet discovery, balances, market data, orders, and reconciliation. - [Authentication](https://docs.stabyl.com/docs/authentication.md): Authenticate API requests and operate keys safely. - [Environments](https://docs.stabyl.com/docs/environments.md): Production, staging, request conventions, and simulation behavior. - [Rate Limits](https://docs.stabyl.com/docs/rate-limits.md): How to handle API request limits and retry behavior. - [Errors](https://docs.stabyl.com/docs/errors.md): Error response shape, status codes, retry behavior, and logging guidance. - [Sandbox Simulation](https://docs.stabyl.com/docs/sandbox-simulation.md): Non-production endpoints for testing wallet, KYB, and notification flows. - [Go-Live Checklist](https://docs.stabyl.com/docs/go-live-checklist.md): Production readiness checklist for API automation. - [Wallets Overview](https://docs.stabyl.com/docs/wallets-overview.md): How wallet currencies, deposit routes, recipients, and transaction reads work. - [Supported Wallet Routes](https://docs.stabyl.com/docs/supported-wallet-routes.md): Supported blockchain route families and how to discover current availability. - [Crypto Deposit Addresses](https://docs.stabyl.com/docs/crypto-deposit-addresses.md): Requesting deposit addresses for supported settlement rails and chains. - [Crypto Deposit Travel Rule](https://docs.stabyl.com/docs/travel-rule-deposit-info.md): Handling crypto deposits that need sender information before credit. - [Fiat Deposit Accounts](https://docs.stabyl.com/docs/fiat-deposit-accounts.md): Retrieving fiat deposit account details and verifying bank accounts for saved recipients. - [Saved Recipients](https://docs.stabyl.com/docs/saved-recipients.md): Create, list, update, and delete saved fiat and crypto recipients. - [Wallet Transactions](https://docs.stabyl.com/docs/wallet-transactions.md): Reconciling deposits, fees, adjustments, refunds, and withdrawals. - [Single Withdrawals](https://docs.stabyl.com/docs/withdrawals.md): Quote and submit one signed NGN or USD withdrawal, and learn the signing rules shared by every withdrawal. - [Bulk Withdrawals](https://docs.stabyl.com/docs/bulk-withdrawals.md): Pay many beneficiaries from one signed request and reconcile each transfer. - [Withdrawal examples](https://docs.stabyl.com/docs/withdrawal-examples.md): Complete Node.js and Python examples for quoting, signing, submitting, and completing withdrawals through webhooks. - [Exchange Overview](https://docs.stabyl.com/docs/exchange-overview.md): Market data, order lifecycle, and status reconciliation for account trading automation. - [Market Data](https://docs.stabyl.com/docs/market-data.md): Discover markets, price orders, and reconcile execution activity. - [Trade Statistics](https://docs.stabyl.com/docs/trade-statistics.md): Build account volume and execution P&L reports with deterministic comparison periods. - [Order Management](https://docs.stabyl.com/docs/order-management.md): Create, list, read, cancel, and replace exchange orders. - [Idempotency](https://docs.stabyl.com/docs/idempotency.md): Safe retry behavior for create, cancel, and replace order requests. - [Webhook overview](https://docs.stabyl.com/docs/webhooks.md): Subscribe to Partner events, understand the common envelope, and verify every delivery safely. - [Deposit webhook events](https://docs.stabyl.com/docs/webhook-deposit-events.md): Payloads for deposit.action_required, deposit.success, and deposit.failed. - [Withdrawal webhook events](https://docs.stabyl.com/docs/webhook-withdrawal-events.md): Payloads for withdrawal.success, withdrawal.partial, and withdrawal.failed. - [Exchange webhook events](https://docs.stabyl.com/docs/webhook-exchange-events.md): Payloads for exchange order lifecycle and fill events. - [WebSocket Overview](https://docs.stabyl.com/docs/websocket-overview.md): Connect to real time market data, account order updates, and order command acknowledgements. - [WebSocket Topics](https://docs.stabyl.com/docs/websocket-topics.md): Topic names, payloads, snapshots, sequencing, and recovery rules. - [WebSocket Order Commands](https://docs.stabyl.com/docs/websocket-orders.md): Submit order create, cancel, and replace commands over WebSocket. - [Get candles](https://docs.stabyl.com/api-reference/exchange/get-candles.md): Returns non-empty OHLCV candles in the exact requested half-open UTC window. `interval` is one candle's width, not the chart range. Supply aligned `from` and `to` boundaries and request at most 500 theoretical buckets. Results are oldest-first, empty buckets are omitted, and `is_closed` identifies a… - [Get recent fills](https://docs.stabyl.com/api-reference/exchange/get-recent-fills.md): Returns recent public execution entries for a market as a fills view. Use it for execution review and market activity displays; use order detail when reconciling fills for one of your own orders. - [List markets](https://docs.stabyl.com/api-reference/exchange/list-markets.md): Returns the trading markets currently available to your account. Use this response as the source of truth for pair identifiers, base and quote currencies, price precision, quantity precision, minimum notional, fee basis points, and active trading status before creating orders. - [Get order book levels](https://docs.stabyl.com/api-reference/exchange/get-order-book-levels.md): Returns aggregated bid or ask levels for one market. Use this endpoint for focused depth checks when you only need one side of the book. - [Get order book snapshot](https://docs.stabyl.com/api-reference/exchange/get-order-book-snapshot.md): Returns bid and ask depth for one market, including a sequence value and timestamp. Treat the response as a point-in-time snapshot and refresh before submitting price-sensitive orders. - [List orders](https://docs.stabyl.com/api-reference/exchange/list-orders.md): Returns your account's orders with optional market, status, and pagination filters. Use this endpoint for dashboards, backfills, and reconciliation jobs. - [Create order](https://docs.stabyl.com/api-reference/exchange/create-order.md): Creates a limit or market order intent for asynchronous matching. A successful response means the order was accepted for processing; read the order until it reaches a terminal status before treating execution as final. - [Estimate market order](https://docs.stabyl.com/api-reference/exchange/estimate-market-order.md): Estimates visible-depth execution, slippage, and an optional partner client spread for a market order. The result is non-binding and does not alter Stabyl execution or fees. - [Get order details](https://docs.stabyl.com/api-reference/exchange/get-order-details.md): Returns the canonical state of one order, including status, quantities, replacement linkage, and fills where available. Use this endpoint after create, cancel, replace, timeout, or retry events. - [Cancel order](https://docs.stabyl.com/api-reference/exchange/cancel-order.md): Requests cancellation of open quantity on an order. Filled quantity is final; only remaining quantity can be cancelled if the order is still cancellable. - [Replace order](https://docs.stabyl.com/api-reference/exchange/replace-order.md): Submits a replacement intent for an existing limit order. Read the response and the returned order state before assuming the original order is no longer active. - [Get ticker statistics](https://docs.stabyl.com/api-reference/exchange/get-ticker-statistics.md): Returns rolling statistics for `24h`, `1d`, `7d`, `30d`, `180d`, or `360d`. The `24h` and `1d` paths are aliases. Price and volume fields use the selected window; best bid and best ask always use the existing current order-book lookup and are not historical extrema. Responses can be cached for one s… - [Get account trade statistics](https://docs.stabyl.com/api-reference/exchange/get-account-trade-statistics.md): Returns the API-key owner's executed quote volume and net execution cash flow for `1d`, `7d`, `30d`, `180d`, or `360d`, with the immediately preceding equal-duration comparison. The report ends at the last completed UTC hour and returns a fixed zero-filled chart shape. An optional pair filter limits… - [Get recent trades](https://docs.stabyl.com/api-reference/exchange/get-recent-trades.md): Returns recent public trades for a market with sequence numbers for incremental reads. Store the last processed sequence if you are building a polling-based market data feed. - [Get wallet balance overview](https://docs.stabyl.com/api-reference/wallets/get-wallet-balance-overview.md): Returns current NGN and USD balances, including available and locked amounts. Use available balance for spend checks and locked balance to explain funds committed to pending activity. - [List supported wallet chains](https://docs.stabyl.com/api-reference/wallets/list-supported-wallet-chains.md): Returns the stablecoin deposit routes currently available for USD settlement. Use this endpoint as the source of truth for chain names, route slugs, token standards, logos, explorers, and enabled deposit support. - [Get crypto deposit address](https://docs.stabyl.com/api-reference/wallets/get-crypto-deposit-address.md): Returns the deposit address for a requested chain and creates it when it does not already exist. Production requires approved KYB before existing details are returned or a new address is provisioned. Store the chain and address together, and display the returned route exactly. - [Get crypto deposit Travel Rule requirements](https://docs.stabyl.com/api-reference/wallets/get-crypto-deposit-travel-rule-requirements.md): Returns the sender information fields required to release a held crypto deposit. Use the transaction ID from wallet transaction reads. - [Submit crypto deposit Travel Rule information](https://docs.stabyl.com/api-reference/wallets/submit-crypto-deposit-travel-rule-information.md): Submits sender information for a held crypto deposit. Repeating a submission for an already submitted case returns the submitted state. - [List wallet currencies](https://docs.stabyl.com/api-reference/wallets/list-wallet-currencies.md): Returns user-facing wallet currencies. Stabyl exposes NGN and USD wallets; USDT and USDC are stablecoin settlement rails that credit the USD wallet. - [List supported banks](https://docs.stabyl.com/api-reference/wallets/list-supported-banks.md): Returns supported Nigerian banks for fiat recipient setup and account verification. Refresh this list periodically instead of maintaining a hardcoded bank directory. - [Get fiat deposit account](https://docs.stabyl.com/api-reference/wallets/get-fiat-deposit-account.md): Returns the fiat deposit account for incoming NGN deposits. Production requires approved KYB before existing details are returned or a new account is provisioned. Display account name, bank name, and account number exactly as returned, then reconcile deposits through wallet transactions. - [Verify bank account](https://docs.stabyl.com/api-reference/wallets/verify-bank-account.md): Verifies fiat bank account details and returns the account name that should be shown before saving a recipient. Production requires approved KYB. Verification does not create a recipient and does not move funds. - [List saved recipients](https://docs.stabyl.com/api-reference/wallets/list-saved-recipients.md): Returns saved recipient records with optional type and currency filters. Use this endpoint to keep internal tools aligned with the current account address book. - [Create saved recipient](https://docs.stabyl.com/api-reference/wallets/create-saved-recipient.md): Creates a saved fiat or crypto recipient record for future use in Stabyl Pro workflows. Production requires approved KYB for fiat recipients. Creating a recipient does not submit a withdrawal or move funds. - [Delete saved recipient](https://docs.stabyl.com/api-reference/wallets/delete-saved-recipient.md): Deletes a saved recipient from the account address book. Existing historical transactions remain available in wallet transaction reads. - [Update saved recipient](https://docs.stabyl.com/api-reference/wallets/update-saved-recipient.md): Updates mutable recipient fields. Production requires approved KYB for every fiat-recipient update; bank detail changes also require account verification again. Updating a recipient does not submit a withdrawal or move funds. - [List wallet transactions](https://docs.stabyl.com/api-reference/wallets/list-wallet-transactions.md): Returns a cursor-paginated wallet timeline across fiat and stablecoin activity. Use this endpoint for reconciliation of deposits, fees, adjustments, refunds, and withdrawals initiated through the API or Stabyl Pro. A withdrawal to several beneficiaries is one timeline item; its `transfer_count` repo… - [Get wallet transaction](https://docs.stabyl.com/api-reference/wallets/get-wallet-transaction.md): Returns detailed information for one wallet transaction by public transaction ID, including settlement details when available. For an NGN withdrawal, `settlement_details.transfers` lists every bank transfer with its own status, `client_item_id`, and recipient, which is how you reconcile bulk withdra… - [Quote withdrawals](https://docs.stabyl.com/api-reference/wallets/quote-withdrawals.md): Validates a list-shaped NGN bank or one-item USD stablecoin withdrawal and returns aggregate debit, fee, expected receive amount, item previews, and transfer count. Quoting never reserves funds. - [Create withdrawal](https://docs.stabyl.com/api-reference/wallets/create-withdrawal.md): Directly creates one parent withdrawal from the signed list request. Production requires approved KYB for every supported NGN and USD rail. Store the returned transaction ID and reconcile status and split-transfer outcomes through wallet transaction reads. - [List projected Partner webhook deliveries](https://docs.stabyl.com/api-reference/webhooks/list-projected-partner-webhook-deliveries.md): Lists slim delivery history in `created_at DESC, id DESC` order. History and `next_attempt_at` are eventual, display-only projections and are never delivery acknowledgements or scheduling state. - [Get a projected Partner webhook delivery](https://docs.stabyl.com/api-reference/webhooks/get-a-projected-partner-webhook-delivery.md): Returns one owned delivery and completed logical attempts in ascending attempt order. Attempts expose only signing secret version numbers, never secrets or signature values. Unknown, cross-account, and domain-inaccessible identifiers return 404. - [List projected Partner webhook events](https://docs.stabyl.com/api-reference/webhooks/list-projected-partner-webhook-events.md): Lists slim event history in `occurred_at DESC, id DESC` order. History is eventually consistent with live delivery. Unfiltered results include only wallet and/or exchange domains allowed by the caller's read scopes. - [Get a projected Partner webhook event](https://docs.stabyl.com/api-reference/webhooks/get-a-projected-partner-webhook-event.md): Returns the exact public envelope and its eventually consistent delivery summaries. Unknown, cross-account, and domain-inaccessible identifiers all return 404. - [List Partner webhook endpoints](https://docs.stabyl.com/api-reference/webhooks/list-partner-webhook-endpoints.md): Lists enabled and disabled owned endpoints using a newest-first opaque cursor. Signing secrets and encrypted material are never returned. - [Create a Partner webhook endpoint](https://docs.stabyl.com/api-reference/webhooks/create-a-partner-webhook-endpoint.md): Creates an owned HTTPS endpoint and returns its Standard Webhooks signing secret exactly once. Requires `webhooks:manage` and the matching `wallets:view` and/or `trades:view` scope for every subscribed event type. - [Get a Partner webhook endpoint](https://docs.stabyl.com/api-reference/webhooks/get-a-partner-webhook-endpoint.md): Returns one owned endpoint. Unknown and cross-account identifiers both return 404. No signing material is returned. - [Fully replace a Partner webhook endpoint](https://docs.stabyl.com/api-reference/webhooks/fully-replace-a-partner-webhook-endpoint.md): Fully replaces URL, nullable description, enabled state, and exact subscription set atomically. Replacing an endpoint never rotates its signing secret. - [Delete a Partner webhook endpoint](https://docs.stabyl.com/api-reference/webhooks/delete-a-partner-webhook-endpoint.md): Soft-deletes an owned endpoint and releases its active slot. Repeating the delete for the same owned identifier is idempotent. An already in-flight HTTP request cannot be recalled. - [Rotate a Partner webhook signing secret](https://docs.stabyl.com/api-reference/webhooks/rotate-a-partner-webhook-signing-secret.md): Generates and returns a new Standard Webhooks secret exactly once. The previous secret remains valid only for the configured overlap; a second rotation during overlap returns 409. - [Simulate stablecoin deposit](https://docs.stabyl.com/api-reference/simulation/simulate-stablecoin-deposit.md): Creates a non-production stablecoin deposit record and credits the test account for integration testing. This endpoint is disabled in production and cannot move real funds. - [Simulate stablecoin withdrawal record](https://docs.stabyl.com/api-reference/simulation/simulate-stablecoin-withdrawal-record.md): Creates a non-production stablecoin withdrawal record for timeline and reconciliation testing. This endpoint is disabled in production and cannot move real funds. - [Simulate fiat deposit](https://docs.stabyl.com/api-reference/simulation/simulate-fiat-deposit.md): Creates a non-production fiat deposit record and credits the test account for integration testing. This endpoint is disabled in production and cannot move real funds. - [Simulate fiat withdrawal record](https://docs.stabyl.com/api-reference/simulation/simulate-fiat-withdrawal-record.md): Creates a non-production fiat withdrawal record for timeline and reconciliation testing. This endpoint is disabled in production and cannot move real funds. - [Simulate KYB status](https://docs.stabyl.com/api-reference/simulation/simulate-kyb-status.md): Sets a test account's KYB status outside production so you can exercise onboarding-gated workflows in staging. - [Simulate product update notification](https://docs.stabyl.com/api-reference/simulation/simulate-product-update-notification.md): Creates a non-production product update notification for integration and UI testing. This endpoint is disabled in production. - [Changelog](https://docs.stabyl.com/changelog/overview.md): Product updates and improvements to the Stabyl API. ## OpenAPI Specs - [openapi](/openapi/openapi.json)