How wallet currencies, deposit routes, recipients, and transaction reads work.
Wallet routes let your team automate account reads, deposit instructions, recipient records, signed withdrawals, and transaction reconciliation.Wallet currency discovery lists bank-wallet currencies available to the authenticated API-key owner and
USD. Use GET /partner/wallets/currencies for the available choices and their
metadata. Disabling bank-payment support can remove a currency from discovery;
existing owned wallet balances remain readable. USDT and USDC settle
into USD; CNGN settles into NGN. These rails are not separate wallet currencies.Bank currencies include deposit_fee_bps, the current bank-deposit fee in integer
basis points. Display deposit_fee_bps / 100 as a percentage: 35 means 0.35%,
and 0 means no fee. Fee amounts round upward to the smallest currency unit.
USD omits this field; use settlement-route metadata for its route-specific fees.
Discovery reports current terms for new deposits; accepted deposits retain their
captured policy. An unavailable bank currency or fee policy is omitted from the
list. Listing currencies creates no wallet or deposit account.Bank deposits credit their bank wallet currency. Crypto deposits credit their settlement rail’s wallet
currency after confirmation and required checks. CNGN funds awaiting conversion
capacity appear in locked, so a successful deposit may not be fully spendable.
See NGN for bank transfers and the full CNGN workflow.
Partner API withdrawal quote and submit calls require an explicitly enabled
key and an Ed25519 signature over the exact request. They do not require an
emailed verification code or a separate withdrawal token.
Core Routes
Route
Purpose
GET /partner/wallets/currencies
List currently available wallet currencies and what each allows
GET /partner/wallets/balances/overview
Read balances, withdrawable amounts, and credit standing
GET /partner/wallets/chains
List supported blockchain routes
GET /partner/wallets/crypto/address
Get one deposit address for a chain
GET /partner/wallets/fiat/deposit-account
Get the fiat deposit account
GET /partner/wallets/rails/{rail}/pool
Check platform-wide CNGN conversion capacity
GET /partner/wallets/transactions/{transaction_id}/conversion
Track an incoming CNGN transaction’s conversion progress
POST /partner/wallets/withdrawal/quotes
Quote NGN bank, NGN CNGN, or USD crypto withdrawals
POST /partner/wallets/withdrawals
Directly submit a signed withdrawal, including bulk NGN payouts
GET /partner/wallets/transactions
Reconcile wallet activity
Deposit Model
Crypto deposit addresses are created on demand. Your application requests the chain it needs, receives the address for that route, and should display the returned chain and address exactly. Do not create addresses for every chain unless your product actually needs to show them.Fiat deposit account details are also read on demand. Show the returned account details exactly and reconcile credited deposits from the transaction timeline.
Recipient Model
Saved recipients are reusable destination records for Stabyl Pro workflows and internal account organization. Creating or updating a recipient does not move funds, and API withdrawals do not accept a saved recipient as a destination.
Reconciliation Model
Use wallet transactions as the source of truth for wallet activity. The timeline can include:
fiat deposits
stablecoin deposits
fees
adjustments
refunds
withdrawals
Use the transaction id as the stable public identifier in your own system. Treat status updates as append or update events: a transaction may first appear while processing and later move to a final state.Authenticated wallet reads require X-Api-Key with wallets:view. Recipient management and Travel Rule submissions require wallets:transfer. Withdrawals require wallets:withdraw and a signed request. GET /partner/wallets/chains and GET /partner/wallets/fiat/banks are public.For bank deposits, transaction amount remains the gross incoming amount.
When customer fee terms were captured, bank settlement_details also includes
optional customer_fee and credited_amount money objects. credited_amount
is gross less the customer charge, before automatic credit repayment. The
existing fee field retains its bank-reported meaning. Partner transaction
events use these same frozen amounts, and a separate deposit fee activity row
records the fee already deducted. Historical deposits omit the new fields.
Was this page helpful?
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Stabyl API","colors":{"primary":"#0835D0","light":"#99F6E4","dark":"#0F172A"},"logo":{"light":"https://mintcdn.com/stabyl/nGaTDJFmHpDT_fa-/logo/light.svg?fit=max\u0026auto=format\u0026n=nGaTDJFmHpDT_fa-\u0026q=85\u0026s=d760b5b7f9c900caa885d04ae16ee82e","dark":"https://mintcdn.com/stabyl/nGaTDJFmHpDT_fa-/logo/dark.svg?fit=max\u0026auto=format\u0026n=nGaTDJFmHpDT_fa-\u0026q=85\u0026s=d6e72f693063c6b7f6ca2877c987ce88"},"favicon":"https://mintcdn.com/stabyl/nGaTDJFmHpDT_fa-/favicon.ico?fit=max\u0026auto=format\u0026n=nGaTDJFmHpDT_fa-\u0026q=85\u0026s=9c627046539fc53cc3a948e2f391b437","styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stabyl","hasAudioNarration":false,"actualSubdomain":"stabyl","customDomains":["docs.stabyl.com"],"gitSource":{"type":"github","owner":"stabylcorp","repo":"stabyl","deployBranch":"main","contentDirectory":"openapi/mintlify","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af85abf5a8e334304f703eb","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":57},{"language":"default","tag":"Wallets","count":35},{"language":"default","tag":"Guides","count":31},{"language":"default","tag":"Exchange","count":21},{"language":"default","tag":"Webhooks","count":14},{"language":"default","tag":"Get Started","count":8},{"language":"default","tag":"Simulation","count":6},{"language":"default","tag":"Withdrawals","count":3},{"language":"default","tag":"WebSocket","count":3},{"language":"default","tag":"Changelog","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"docs/wallets-overview","slug":"/docs/wallets-overview","pageMetadata":{"title":"Wallets Overview","description":"How wallet currencies, deposit routes, recipients, and transaction reads work.","href":"/docs/wallets-overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How wallet currencies, deposit routes, recipients, and transaction reads work.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Wallet routes let your team automate account reads, deposit instructions, recipient records, signed withdrawals, and transaction reconciliation.`}),`\n`,_jsxs(_components.p,{children:[`Wallet currency discovery lists bank-wallet currencies available to the authenticated API-key owner and\n`,_jsx(_components.code,{children:`USD`}),`. Use `,_jsx(_components.code,{children:`GET /partner/wallets/currencies`}),` for the available choices and their\nmetadata. Disabling bank-payment support can remove a currency from discovery;\nexisting owned wallet balances remain readable. `,_jsx(_components.code,{children:`USDT`}),` and `,_jsx(_components.code,{children:`USDC`}),` settle\ninto USD; `,_jsx(_components.code,{children:`CNGN`}),` settles into NGN. These rails are not separate wallet currencies.`]}),`\n`,_jsxs(_components.p,{children:[`Bank currencies include `,_jsx(_components.code,{children:`deposit_fee_bps`}),`, the current bank-deposit fee in integer\nbasis points. Display `,_jsx(_components.code,{children:`deposit_fee_bps / 100`}),` as a percentage: `,_jsx(_components.code,{children:`35`}),` means `,_jsx(_components.code,{children:`0.35%`}),`,\nand `,_jsx(_components.code,{children:`0`}),` means no fee. Fee amounts round upward to the smallest currency unit.\nUSD omits this field; use settlement-route metadata for its route-specific fees.\nDiscovery reports current terms for new deposits; accepted deposits retain their\ncaptured policy. An unavailable bank currency or fee policy is omitted from the\nlist. Listing currencies creates no wallet or deposit account.`]}),`\n`,_jsxs(_components.p,{children:[`Bank deposits credit their bank wallet currency. Crypto deposits credit their settlement rail’s wallet\ncurrency after confirmation and required checks. CNGN funds awaiting conversion\ncapacity appear in `,_jsx(_components.code,{children:`locked`}),`, so a successful deposit may not be fully spendable.\nSee `,_jsx(_components.a,{href:`/docs/currencies/ngn`,children:`NGN`}),` for bank transfers and the full CNGN workflow.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Partner API withdrawal quote and submit calls require an explicitly enabled\nkey and an Ed25519 signature over the exact request. They do not require an\nemailed verification code or a separate withdrawal token.`})}),`\n`,_jsx(Heading,{level:`2`,id:`core-routes`,children:`Core Routes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Route`}),_jsx(_components.th,{children:`Purpose`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/currencies`})}),_jsx(_components.td,{children:`List currently available wallet currencies and what each allows`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/balances/overview`})}),_jsx(_components.td,{children:`Read balances, withdrawable amounts, and credit standing`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/chains`})}),_jsx(_components.td,{children:`List supported blockchain routes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/crypto/address`})}),_jsx(_components.td,{children:`Get one deposit address for a chain`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/fiat/deposit-account`})}),_jsx(_components.td,{children:`Get the fiat deposit account`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/rails/{rail}/pool`})}),_jsx(_components.td,{children:`Check platform-wide CNGN conversion capacity`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/transactions/{transaction_id}/conversion`})}),_jsx(_components.td,{children:`Track an incoming CNGN transaction’s conversion progress`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /partner/wallets/withdrawal/quotes`})}),_jsx(_components.td,{children:`Quote NGN bank, NGN CNGN, or USD crypto withdrawals`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`POST /partner/wallets/withdrawals`})}),_jsx(_components.td,{children:`Directly submit a signed withdrawal, including bulk NGN payouts`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`GET /partner/wallets/transactions`})}),_jsx(_components.td,{children:`Reconcile wallet activity`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`deposit-model`,children:`Deposit Model`}),`\n`,_jsx(_components.p,{children:`Crypto deposit addresses are created on demand. Your application requests the chain it needs, receives the address for that route, and should display the returned chain and address exactly. Do not create addresses for every chain unless your product actually needs to show them.`}),`\n`,_jsx(_components.p,{children:`Fiat deposit account details are also read on demand. Show the returned account details exactly and reconcile credited deposits from the transaction timeline.`}),`\n`,_jsx(Heading,{level:`2`,id:`recipient-model`,children:`Recipient Model`}),`\n`,_jsx(_components.p,{children:`Saved recipients are reusable destination records for Stabyl Pro workflows and internal account organization. Creating or updating a recipient does not move funds, and API withdrawals do not accept a saved recipient as a destination.`}),`\n`,_jsx(Heading,{level:`2`,id:`reconciliation-model`,children:`Reconciliation Model`}),`\n`,_jsx(_components.p,{children:`Use wallet transactions as the source of truth for wallet activity. The timeline can include:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`fiat deposits`}),`\n`,_jsx(_components.li,{children:`stablecoin deposits`}),`\n`,_jsx(_components.li,{children:`fees`}),`\n`,_jsx(_components.li,{children:`adjustments`}),`\n`,_jsx(_components.li,{children:`refunds`}),`\n`,_jsx(_components.li,{children:`withdrawals`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Use the transaction `,_jsx(_components.code,{children:`id`}),` as the stable public identifier in your own system. Treat status updates as append or update events: a transaction may first appear while processing and later move to a final state.`]}),`\n`,_jsxs(_components.p,{children:[`Authenticated wallet reads require `,_jsx(_components.code,{children:`X-Api-Key`}),` with `,_jsx(_components.code,{children:`wallets:view`}),`. Recipient management and Travel Rule submissions require `,_jsx(_components.code,{children:`wallets:transfer`}),`. Withdrawals require `,_jsx(_components.code,{children:`wallets:withdraw`}),` and a signed request. `,_jsx(_components.code,{children:`GET /partner/wallets/chains`}),` and `,_jsx(_components.code,{children:`GET /partner/wallets/fiat/banks`}),` are public.`]}),`\n`,_jsxs(_components.p,{children:[`For bank deposits, transaction `,_jsx(_components.code,{children:`amount`}),` remains the gross incoming amount.\nWhen customer fee terms were captured, bank `,_jsx(_components.code,{children:`settlement_details`}),` also includes\noptional `,_jsx(_components.code,{children:`customer_fee`}),` and `,_jsx(_components.code,{children:`credited_amount`}),` money objects. `,_jsx(_components.code,{children:`credited_amount`}),`\nis gross less the customer charge, before automatic credit repayment. The\nexisting `,_jsx(_components.code,{children:`fee`}),` field retains its bank-reported meaning. Partner transaction\nevents use these same frozen amounts, and a separate deposit fee activity row\nrecords the fee already deducted. Historical deposits omit the new fields.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Wallets Overview","description":"How wallet currencies, deposit routes, recipients, and transaction reads work.","href":"/docs/wallets-overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Core Routes","slug":"core-routes","depth":2,"children":[]},{"title":"Deposit Model","slug":"deposit-model","depth":2,"children":[]},{"title":"Recipient Model","slug":"recipient-model","depth":2,"children":[]},{"title":"Reconciliation Model","slug":"reconciliation-model","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"stabyl","siteName":"Stabyl API","title":"Wallets Overview - Stabyl API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-14T12:57:43.283Z","originalFileLocation":"docs/wallets-overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How wallet currencies, deposit routes, recipients, and transaction reads work.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Stabyl API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Wallets Overview - Stabyl API\">\u003cmeta data-mint-head property=\"og:description\" content=\"How wallet currencies, deposit routes, recipients, and transaction reads work.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Stabyl API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stabyl.com/docs/wallets-overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stabyl.mintlify.site/_mintlify/api/og/v2?division=Wallets\u0026amp;title=Wallets+Overview\u0026amp;description=How+wallet+currencies%2C+deposit+routes%2C+recipients%2C+and+transaction+reads+work.\u0026amp;theme=59db071e0445d7309f1c7708\u0026amp;signature=cd3da99b8253111ac78d1a5a494eb9d9b3c84e60c910dcc37b95388526edb1c2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Wallets Overview - Stabyl API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How wallet currencies, deposit routes, recipients, and transaction reads work.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stabyl.mintlify.site/_mintlify/api/og/v2?division=Wallets\u0026amp;title=Wallets+Overview\u0026amp;description=How+wallet+currencies%2C+deposit+routes%2C+recipients%2C+and+transaction+reads+work.\u0026amp;theme=59db071e0445d7309f1c7708\u0026amp;signature=cd3da99b8253111ac78d1a5a494eb9d9b3c84e60c910dcc37b95388526edb1c2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/stabyl/4D14RBaTlui2EypR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Stabyl API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0835D0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stabyl.com/docs/wallets-overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/wallets-overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stabyl.com/#organization\",\"name\":\"Stabyl API\",\"url\":\"https://docs.stabyl.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stabyl/nGaTDJFmHpDT_fa-/logo/light.svg?fit=max\u0026auto=format\u0026n=nGaTDJFmHpDT_fa-\u0026q=85\u0026s=d760b5b7f9c900caa885d04ae16ee82e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stabyl.com#website\",\"name\":\"Stabyl API\",\"url\":\"https://docs.stabyl.com\",\"publisher\":{\"@id\":\"https://docs.stabyl.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stabyl.com/docs/wallets-overview#webpage\",\"url\":\"https://docs.stabyl.com/docs/wallets-overview\",\"name\":\"Wallets Overview\",\"description\":\"How wallet currencies, deposit routes, recipients, and transaction reads work.\",\"dateModified\":\"2026-11-14T12:57:43.283Z\",\"isPartOf\":{\"@id\":\"https://docs.stabyl.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stabyl.com/docs/wallets-overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stabyl.com/docs/wallets-overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Stabyl API\",\"item\":\"https://docs.stabyl.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wallets Overview\",\"item\":\"https://docs.stabyl.com/docs/wallets-overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.stabyl.com/docs/wallets-overview#article\",\"headline\":\"Wallets Overview\",\"name\":\"Wallets Overview\",\"description\":\"How wallet currencies, deposit routes, recipients, and transaction reads work.\",\"url\":\"https://docs.stabyl.com/docs/wallets-overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stabyl.com/docs/wallets-overview#webpage\"},\"dateModified\":\"2026-11-14T12:57:43.283Z\",\"publisher\":{\"@id\":\"https://docs.stabyl.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stabyl.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Stabyl API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Stabyl API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/wallets-overview.md","siteName":"Stabyl API","nav":{"global":null,"tabs":[{"tab":"Guides","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/docs/introduction"},{"title":"Quickstart","href":"/docs/quickstart"},{"title":"Authentication","href":"/docs/authentication"},{"title":"Environments","href":"/docs/environments"},{"title":"Rate Limits","href":"/docs/rate-limits"},{"title":"Errors","href":"/docs/errors"},{"title":"Sandbox Simulation","href":"/docs/sandbox-simulation"},{"title":"Go-Live Checklist","description":"Production readiness checklist for API automation.","href":"/docs/go-live-checklist"}]},{"group":"Wallets","pages":[{"title":"Wallets Overview","href":"/docs/wallets-overview"},{"group":"Currencies","pages":[{"title":"NGN","description":"Receive, trade, and withdraw Nigerian naira using bank transfers and cNGN.","href":"/docs/currencies/ngn"}]},{"title":"Supported Wallet Routes","href":"/docs/supported-wallet-routes"},{"title":"Crypto Deposit Addresses","href":"/docs/crypto-deposit-addresses"},{"title":"Crypto Deposit Travel Rule","href":"/docs/travel-rule-deposit-info"},{"title":"Fiat Deposit Accounts","href":"/docs/fiat-deposit-accounts"},{"title":"Saved Recipients","href":"/docs/saved-recipients"},{"title":"Wallet Transactions","href":"/docs/wallet-transactions"},{"group":"Withdrawals","pages":[{"title":"Single Withdrawals","href":"/docs/withdrawals"},{"title":"Bulk Withdrawals","href":"/docs/bulk-withdrawals"},{"title":"Withdrawal examples","href":"/docs/withdrawal-examples"}]}]},{"group":"Exchange","pages":[{"title":"Exchange Overview","href":"/docs/exchange-overview"},{"title":"Market Data","href":"/docs/market-data"},{"title":"Trade Statistics","href":"/docs/trade-statistics"},{"title":"Order Management","href":"/docs/order-management"},{"title":"Idempotency","href":"/docs/idempotency"}]},{"group":"Webhooks","pages":[{"title":"Webhook overview","href":"/docs/webhooks"},{"title":"Deposit webhook events","href":"/docs/webhook-deposit-events"},{"title":"Withdrawal webhook events","href":"/docs/webhook-withdrawal-events"},{"title":"Exchange webhook events","href":"/docs/webhook-exchange-events"}]},{"group":"WebSocket","pages":[{"title":"WebSocket Overview","href":"/docs/websocket-overview"},{"title":"WebSocket Topics","href":"/docs/websocket-topics"},{"title":"WebSocket Order Commands","href":"/docs/websocket-orders"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/api-keys/list-api-keys"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/overview"}]}]},"basePath":"","title":"Wallets Overview - Stabyl API","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}