User experience efficiency.Every payout product must operate within national and international financial regulations, particularly around anti-money laundering (AML), counter-terrorism financing (CTF), and sanctions compliance.Product managers must design onboarding and compliance flows that are:
Legally sufficient
Operationally practical
User experience acceptable.Ignoring or mishandling this area results in regulatory penalties, frozen liquidity, loss of banking relationships, or platform shutdowns.
Full legal nameDate of birthGovernment-issued ID verification (passport, national ID, driver’s license)Proof of address (utility bill, bank statement)Biometric verification (optional but recommended)Sanctions list screening (OFAC, UN, EU, local lists)
Identify and verify users before or during payout initiation.Monitor transactions for suspicious patterns after onboarding.Maintain auditable logs of identity verification and payout transaction flows.Report suspicious activity to appropriate regulatory authorities where required.Implement tiered limits based on level of KYC/KYB completed (e.g., low-KYC users can only withdraw small amounts).
Integrating compliance checks into the product flow
Conduct initial KYC/KYB at user registration or first payout initiation.Conduct real-time sanctions and PEP checks at each payout initiation.Monitor payout patterns dynamically for suspicious activity indicators (e.g., rapid multiple payouts, payouts just below reporting thresholds).Design frictionless pathways for users to submit additional information during onboarding or upon compliance trigger events.
Define minimum KYC/KYB standards for your users based on local regulations and risk appetite.Select and integrate compliance tools (ID verification, sanctions screening, PEP screening).Design onboarding flows that minimize drop-off while capturing required information.Build operational processes for handling flagged users and delayed payouts.Ensure audit logs are generated for every onboarding and payout event.
In payout systems, compliance is not just a legal requirement. It is a core enabler of financial trust, liquidity access, and long-term survival.A great payout product is not one that ignores compliance. It is one that makes compliance invisible to legitimate users and unbearable for bad actors.In the next module, we will addressKPIs and Metrics for Measuring Payout Product Success.
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"Bitnob","description":"Bitnob is a financial infrastructure API for bitcoin, stablecoins, and local currency rails across Africa. Guides, API reference, and courses.","colors":{"primary":"#00A57F","light":"#00E4AF","dark":"#00795D"},"logo":{"light":"https://mintcdn.com/bitnob/1gUqO4UxgycXihsV/logo/light.svg?fit=max\u0026auto=format\u0026n=1gUqO4UxgycXihsV\u0026q=85\u0026s=d85bd0bfb85b47fa764bc1ff421b8ce8","dark":"https://mintcdn.com/bitnob/1gUqO4UxgycXihsV/logo/dark.svg?fit=max\u0026auto=format\u0026n=1gUqO4UxgycXihsV\u0026q=85\u0026s=e86a2938d369b4849b355e94a9aa39d4"},"favicon":"https://mintcdn.com/bitnob/_7Z9zBKHf2nvKkWh/favicon.svg?fit=max\u0026auto=format\u0026n=_7Z9zBKHf2nvKkWh\u0026q=85\u0026s=f807ad45c796566ee843893b0bc3345d","api":{"params":{"expanded":"closed"},"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python","php","go","java"],"prefill":true}},"navbar":{"links":[{"href":"https://status.bitnob.com","label":"Status"},{"href":"https://app.bitnob.com","label":"Dashboard"}],"primary":{"type":"button","label":"Get Started","href":"https://bitnob.com"}},"footer":{"socials":{"x":"https://x.com/bitnob","github":"https://github.com/bitnob","website":"https://bitnob.com"}},"search":{"prompt":"Ask a question or search the Bitnob docs"},"seo":{"metatags":{"og:site_name":"Bitnob Docs","twitter:card":"summary_large_image","twitter:site":"@bitnob","twitter:creator":"@bitnob"},"organization":{"id":"https://bitnob.com/#organization","name":"Bitnob","url":"https://bitnob.com/","logo":"https://bitnob.com/bitnob-logo.png","sameAs":["https://x.com/bitnob","https://twitter.com/Bitnob_Official","https://linkedin.com/company/bitnob","https://github.com/bitnob","https://instagram.com/Bitnob","https://youtube.com/@bitnob","https://facebook.com/bitnob","https://tiktok.com/@bitnob"]},"indexing":"navigable"},"contextual":{"options":["copy","view","assistant","download-pdf","download-spec","chatgpt","claude","perplexity","grok","devin","windsurf","cursor","vscode","mcp","add-mcp","devin-mcp"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/bitnob/6uym4cOVBRGACTcE/images/og-background.png?fit=max\u0026auto=format\u0026n=6uym4cOVBRGACTcE\u0026q=85\u0026s=05d6033949a75937f6e325be7eb98d83"},"markdown":{"schema":true,"instructions":["Bitnob API requests authenticate with an `X-Auth-Client` API key header against https://api.bitnob.com.","Always use the sandbox environment for testing. Never put live API keys in sample code.","Money amounts are integers in the smallest unit of the currency (satoshis for BTC, cents for fiat). Never use floats.","Every state-changing request takes a client-supplied `reference` and must be treated as idempotent on retry.","Quotes expire. Re-quote rather than reusing a stale quote id."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bitnob","hasAudioNarration":false,"actualSubdomain":"bitnob","customDomains":["www.bitnob.dev"],"gitSource":{"type":"github","owner":"bitnob","repo":"stealthdocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aecadec07fe6b5b8129a2aa","collectionId":"a203871d-299d-4c5c-a71a-ab8b1036668b","liveDeploymentHistoryId":"6aecadec07fe6b5b8129a2aa","schemaVersion":"v3"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeda9e8f8ed849a5c7d8668","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Docs","count":117},{"language":"default","tag":"Business API","count":110},{"language":"default","tag":"Learn","count":106},{"language":"default","tag":"Enterprise API","count":89},{"language":"default","tag":"Bitnob Business","count":82},{"language":"default","tag":"Courses","count":82},{"language":"default","tag":"Card issuing","count":44},{"language":"default","tag":"Guides","count":43},{"language":"default","tag":"Get started","count":35},{"language":"default","tag":"Bitnob Enterprise","count":35}]},"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":"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":"llms-txt-v2","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":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"playground.css","content":".pg-shell{--pg-bg:rgb(var(--background-light));--pg-fg:rgb(var(--gray-900));--pg-muted:rgb(var(--gray-500));--pg-border:rgb(var(--gray-200));--pg-field-bg:rgb(var(--background-light));--pg-field-border:rgb(var(--gray-300));--pg-placeholder:rgb(var(--gray-400));--pg-hover:rgb(var(--gray-50));--pg-primary:rgb(var(--primary));color-scheme:light;margin:1.5rem 0;border:1px solid var(--pg-border);border-radius:0.875rem;background:var(--pg-bg);overflow:hidden}.dark .pg-shell{--pg-bg:rgb(var(--gray-900));--pg-fg:rgb(var(--gray-100));--pg-muted:rgb(var(--gray-400));--pg-border:rgb(var(--gray-800));--pg-field-bg:rgb(var(--background-dark));--pg-field-border:rgb(var(--gray-800));--pg-placeholder:rgb(var(--gray-500));--pg-hover:rgb(var(--gray-800));--pg-primary:rgb(var(--primary-light));color-scheme:dark}.pg-header{padding:1rem 1.25rem;border-bottom:1px solid var(--pg-border)}.pg-title{font-size:1rem;font-weight:600;color:var(--pg-fg)}.pg-subtitle{margin-top:0.125rem;font-size:0.875rem;color:var(--pg-muted)}.pg-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.pg-label{display:block;font-size:0.875rem;font-weight:500;color:var(--pg-fg);margin-bottom:0.375rem}.pg-input,.pg-select,.pg-textarea{width:100%;border-radius:0.5rem;border:1px solid var(--pg-field-border);background:var(--pg-field-bg);color:var(--pg-fg);padding:0.5rem 0.75rem;font-size:0.875rem;line-height:1.5}.pg-input,.pg-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pg-textarea{resize:vertical}.pg-input::placeholder,.pg-textarea::placeholder{color:var(--pg-placeholder)}.pg-input:focus,.pg-select:focus,.pg-textarea:focus{outline:none;border-color:var(--pg-primary);box-shadow:0 0 0 2px rgb(var(--primary)/0.35)}.pg-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem}.pg-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.pg-grid{grid-template-columns:2fr 1fr}}.pg-btn-primary,.pg-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;height:2.25rem;border-radius:0.75rem;padding:0 0.75rem;font-size:0.875rem;font-weight:500;cursor:pointer;transition:opacity .15s,background-color .15s}.pg-btn-primary{background:rgb(var(--primary));color:#fff;border:1px solid transparent}.pg-btn-primary:hover{opacity:.8}.pg-btn-secondary{background:var(--pg-bg);color:var(--pg-fg);border:1px solid var(--pg-border)}.pg-btn-secondary:hover{background:var(--pg-hover)}.pg-btn-primary:disabled,.pg-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.pg-meta{font-size:0.75rem;color:var(--pg-muted)}.pg-check{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:var(--pg-fg)}.pg-note{border-radius:0.5rem;padding:0.5rem 0.75rem;font-size:0.875rem;border:1px solid}.pg-error{border-color:rgb(254 202 202);background:rgb(254 242 242);color:rgb(185 28 28)}.dark .pg-error{border-color:rgb(127 29 29);background:rgb(69 10 10);color:rgb(252 165 165)}.pg-ok{border-color:rgb(167 243 208);background:rgb(236 253 245);color:rgb(4 120 87)}.dark .pg-ok{border-color:rgb(6 78 59);background:rgb(2 44 34);color:rgb(110 231 183)}.pg-warn{border-color:rgb(253 230 138);background:rgb(255 251 235);color:rgb(180 83 9)}.dark .pg-warn{border-color:rgb(120 53 15);background:rgb(69 26 3);color:rgb(253 230 138)}.pg-grid2{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.pg-grid2{grid-template-columns:1fr 1fr}}.pg-grid3{display:grid;grid-template-columns:1fr;gap:0.75rem}@media (min-width:640px){.pg-grid3{grid-template-columns:repeat(3,1fr)}}.pg-between{margin-top:0.5rem;display:flex;align-items:center;justify-content:space-between}.pg-end{margin-top:0.5rem;display:flex;align-items:center;justify-content:flex-end}.pg-wrap{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;padding-top:0.375rem}.pg-strong{font-weight:500;margin-bottom:0.25rem}.pg-file{display:block;width:100%;font-size:0.875rem;color:var(--pg-fg)}.pg-file::file-selector-button{margin-right:0.75rem;height:2.25rem;border-radius:0.75rem;border:0;padding:0 0.75rem;font-size:0.875rem;font-weight:500;color:#fff;background:rgb(var(--primary));cursor:pointer}.pg-checklabel{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:var(--pg-fg);cursor:pointer}.pg-checklabel-tight{display:flex;align-items:center;gap:0.375rem;font-size:0.875rem;color:var(--pg-fg);cursor:pointer}.pg-inline-label{font-size:0.875rem;font-weight:500;color:var(--pg-fg)}.pg-endpad{display:flex;align-items:flex-end;padding-bottom:0.5rem}.pg-tablewrap{overflow-x:auto;border-radius:0.5rem;border:1px solid var(--pg-border)}.pg-table{width:100%;font-size:0.875rem;border-collapse:collapse}.pg-table th{border-bottom:1px solid var(--pg-border);text-align:left;color:var(--pg-muted);font-weight:500;padding:0.5rem 0.75rem}.pg-table td{padding:0.5rem 0.75rem;color:var(--pg-fg)}.pg-table tr+tr td{border-top:1px solid var(--pg-border)}.pg-result-row{display:flex;justify-content:space-between;gap:1rem;font-size:0.875rem;padding:0.25rem 0}.pg-result-key{color:var(--pg-muted)}.pg-result-val{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--pg-fg);word-break:break-all}"}],"page":{"pagePath":"learn/courses/payouts-for-product-managers/module-9","slug":"/learn/courses/payouts-for-product-managers/module-9","pageMetadata":{"title":"Module 9: Onboarding, KYC/KYB and compliance for payouts","description":"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.","href":"/learn/courses/payouts-for-product-managers/module-9"},"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: \"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.\"\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={li:`li`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`introduction`,children:`Introduction`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Regulatory compliance`}),`\n`,_jsx(_components.li,{children:`Fraud prevention`}),`\n`,_jsx(_components.li,{children:`Liquidity protection`}),`\n`]}),`\n`,_jsx(_components.p,{children:`User experience efficiency.`}),`\n`,_jsx(_components.p,{children:`Every payout product must operate within national and international financial regulations, particularly around anti-money laundering (AML), counter-terrorism financing (CTF), and sanctions compliance.`}),`\n`,_jsx(_components.p,{children:`Product managers must design onboarding and compliance flows that are:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Legally sufficient`}),`\n`,_jsx(_components.li,{children:`Operationally practical`}),`\n`]}),`\n`,_jsx(_components.p,{children:`User experience acceptable.`}),`\n`,_jsx(_components.p,{children:`Ignoring or mishandling this area results in regulatory penalties, frozen liquidity, loss of banking relationships, or platform shutdowns.`}),`\n`,_jsx(Heading,{level:`3`,id:`understanding-kyc-and-kyb`,children:`Understanding KYC and KYB`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Term`}),_jsx(_components.th,{children:`Definition`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`KYC (Know Your Customer)`}),_jsx(_components.td,{children:`Collecting and verifying personal identity information from individual users.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`KYB (Know Your Business)`}),_jsx(_components.td,{children:`Collecting and verifying legal and ownership information about business entities.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`core-elements-of-a-kyc-program-for-individuals`,children:`Core elements of a KYC program for individuals`}),`\n`,_jsx(_components.p,{children:`Full legal name`}),`\n`,_jsx(_components.p,{children:`Date of birth`}),`\n`,_jsx(_components.p,{children:`Government-issued ID verification (passport, national ID, driver’s license)`}),`\n`,_jsx(_components.p,{children:`Proof of address (utility bill, bank statement)`}),`\n`,_jsx(_components.p,{children:`Biometric verification (optional but recommended)`}),`\n`,_jsx(_components.p,{children:`Sanctions list screening (OFAC, UN, EU, local lists)`}),`\n`,_jsx(Heading,{level:`3`,id:`core-elements-of-a-kyb-program-for-businesses`,children:`Core elements of a KYB program for businesses`}),`\n`,_jsx(_components.p,{children:`Legal entity name`}),`\n`,_jsx(_components.p,{children:`Business registration documents (certificate of incorporation, licenses)`}),`\n`,_jsx(_components.p,{children:`Ownership structure and beneficial owners (ultimate beneficial ownership checks)`}),`\n`,_jsx(_components.p,{children:`Business address verification`}),`\n`,_jsx(_components.p,{children:`Sanctions and politically exposed persons (PEP) screening on directors and owners`}),`\n`,_jsx(_components.p,{children:`Bank account ownership verification for payouts`}),`\n`,_jsx(Heading,{level:`3`,id:`regulatory-expectations-in-payout-products`,children:`Regulatory expectations in payout products`}),`\n`,_jsx(_components.p,{children:`Identify and verify users before or during payout initiation.`}),`\n`,_jsx(_components.p,{children:`Monitor transactions for suspicious patterns after onboarding.`}),`\n`,_jsx(_components.p,{children:`Maintain auditable logs of identity verification and payout transaction flows.`}),`\n`,_jsx(_components.p,{children:`Report suspicious activity to appropriate regulatory authorities where required.`}),`\n`,_jsx(_components.p,{children:`Implement tiered limits based on level of KYC/KYB completed (e.g., low-KYC users can only withdraw small amounts).`}),`\n`,_jsx(Heading,{level:`3`,id:`best-practices-for-building-onboarding-flows`,children:`Best practices for building onboarding flows`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Practice`}),_jsx(_components.th,{children:`Reason`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tiered KYC`}),_jsx(_components.td,{children:`Allow light KYC users small limits to onboard quickly, request deeper KYC as usage grows.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Early Screening`}),_jsx(_components.td,{children:`Screen beneficiaries and senders during signup and before first transaction to avoid post-funding compliance blocks.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Automated Document Verification`}),_jsx(_components.td,{children:`Integrate providers that can scan and validate IDs and documents automatically to reduce manual workload.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Reverification Triggers`}),_jsx(_components.td,{children:`Initiate re-KYC for suspicious behavior, account changes, or after a set time period (e.g., annually).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Clear Privacy Communication`}),_jsx(_components.td,{children:`Explain how user data will be stored, protected, and shared. Trust is critical in financial products.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`handling-payout-specific-compliance-scenarios`,children:`Handling payout-Specific compliance scenarios`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scenario`}),_jsx(_components.th,{children:`Best Practice`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Payout to Sanctioned Jurisdiction`}),_jsx(_components.td,{children:`Block payout before asset funding if possible, auto-refund if necessary.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Beneficiary Fails KYC Mid-Process`}),_jsx(_components.td,{children:`Hold funds securely, notify user, request resolution steps.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Structuring (multiple small payouts to avoid limits)`}),_jsx(_components.td,{children:`Flag for internal review, suspend further payouts until reviewed.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cross-border FX Controls`}),_jsx(_components.td,{children:`Partner with regulated entities and build payout corridor restrictions into product settings.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`integrating-compliance-checks-into-the-product-flow`,children:`Integrating compliance checks into the product flow`}),`\n`,_jsx(_components.p,{children:`Conduct initial KYC/KYB at user registration or first payout initiation.`}),`\n`,_jsx(_components.p,{children:`Conduct real-time sanctions and PEP checks at each payout initiation.`}),`\n`,_jsx(_components.p,{children:`Monitor payout patterns dynamically for suspicious activity indicators (e.g., rapid multiple payouts, payouts just below reporting thresholds).`}),`\n`,_jsx(_components.p,{children:`Design frictionless pathways for users to submit additional information during onboarding or upon compliance trigger events.`}),`\n`,_jsx(Heading,{level:`3`,id:`examples-of-tiered-kyc-systems`,children:`Examples of tiered KYC systems`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tier`}),_jsx(_components.th,{children:`Kyc Requirements`}),_jsx(_components.th,{children:`Limits`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tier 0`}),_jsx(_components.td,{children:`Email, phone verification`}),_jsx(_components.td,{children:`$100 daily payout limit`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tier 1`}),_jsx(_components.td,{children:`Government ID, selfie verification`}),_jsx(_components.td,{children:`$2,000 daily payout lim`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tier 2`}),_jsx(_components.td,{children:`Proof of address, source of funds declaration`}),_jsx(_components.td,{children:`Custom high limits subject to approval`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`pm-action-checklist`,children:`PM action checklist`}),`\n`,_jsx(_components.p,{children:`Define minimum KYC/KYB standards for your users based on local regulations and risk appetite.`}),`\n`,_jsx(_components.p,{children:`Select and integrate compliance tools (ID verification, sanctions screening, PEP screening).`}),`\n`,_jsx(_components.p,{children:`Design onboarding flows that minimize drop-off while capturing required information.`}),`\n`,_jsx(_components.p,{children:`Build operational processes for handling flagged users and delayed payouts.`}),`\n`,_jsx(_components.p,{children:`Ensure audit logs are generated for every onboarding and payout event.`}),`\n`,_jsx(Heading,{level:`2`,id:`closing-reflection`,children:`Closing reflection`}),`\n`,_jsx(_components.p,{children:`In payout systems, compliance is not just a legal requirement. It is a core enabler of financial trust, liquidity access, and long-term survival.`}),`\n`,_jsx(_components.p,{children:`A great payout product is not one that ignores compliance. It is one that makes compliance invisible to legitimate users and unbearable for bad actors.`}),`\n`,_jsx(_components.p,{children:`In the next module, we will address`}),`\n`,_jsx(_components.p,{children:`KPIs and Metrics for Measuring Payout Product Success.`})]})}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":"Module 9: Onboarding, KYC/KYB and compliance for payouts","description":"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.","href":"/learn/courses/payouts-for-product-managers/module-9"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Introduction","slug":"introduction","depth":2,"children":[{"title":"Understanding KYC and KYB","slug":"understanding-kyc-and-kyb","depth":3,"children":[]},{"title":"Core elements of a KYC program for individuals","slug":"core-elements-of-a-kyc-program-for-individuals","depth":3,"children":[]},{"title":"Core elements of a KYB program for businesses","slug":"core-elements-of-a-kyb-program-for-businesses","depth":3,"children":[]},{"title":"Regulatory expectations in payout products","slug":"regulatory-expectations-in-payout-products","depth":3,"children":[]},{"title":"Best practices for building onboarding flows","slug":"best-practices-for-building-onboarding-flows","depth":3,"children":[]},{"title":"Handling payout-Specific compliance scenarios","slug":"handling-payout-specific-compliance-scenarios","depth":3,"children":[]},{"title":"Integrating compliance checks into the product flow","slug":"integrating-compliance-checks-into-the-product-flow","depth":3,"children":[]},{"title":"Examples of tiered KYC systems","slug":"examples-of-tiered-kyc-systems","depth":3,"children":[]}]},{"title":"PM action checklist","slug":"pm-action-checklist","depth":2,"children":[]},{"title":"Closing reflection","slug":"closing-reflection","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/bitnob/a5987023060b539e/test-playground.js"],"subdomain":"bitnob","siteName":"Bitnob","title":"Module 9: Onboarding, KYC/KYB and compliance for payouts - Bitnob","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T01:16:00.174Z","originalFileLocation":"learn/courses/payouts-for-product-managers/module-9.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=\"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Bitnob\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bitnob/eBFTVQiF9mXbjiUl/_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/bitnob/eBFTVQiF9mXbjiUl/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bitnob/eBFTVQiF9mXbjiUl/_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/bitnob/eBFTVQiF9mXbjiUl/_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/bitnob/eBFTVQiF9mXbjiUl/_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/bitnob/eBFTVQiF9mXbjiUl/_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/bitnob/eBFTVQiF9mXbjiUl/_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/bitnob/eBFTVQiF9mXbjiUl/_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/bitnob/eBFTVQiF9mXbjiUl/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Module 9: Onboarding, KYC/KYB and compliance for payouts - Bitnob\">\u003cmeta data-mint-head property=\"og:description\" content=\"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Bitnob Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bitnob.mintlify.site/_mintlify/api/og/v2?division=Payouts+for+product+managers\u0026amp;title=Module+9%3A+Onboarding%2C+KYC%2FKYB+and+compliance+for+payouts\u0026amp;description=Onboarding+and+KYC%2FKYB+that+satisfies+AML+obligations+without+destroying+conversion.\u0026amp;theme=1bbb91a73b5fc150fde1eea2\u0026amp;signature=b6a6ddadfc735b199c3b1b1668d14b8099372c24b3a2e09956c59e79f28d3504\">\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=\"Module 9: Onboarding, KYC/KYB and compliance for payouts - Bitnob\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bitnob.mintlify.site/_mintlify/api/og/v2?division=Payouts+for+product+managers\u0026amp;title=Module+9%3A+Onboarding%2C+KYC%2FKYB+and+compliance+for+payouts\u0026amp;description=Onboarding+and+KYC%2FKYB+that+satisfies+AML+obligations+without+destroying+conversion.\u0026amp;theme=1bbb91a73b5fc150fde1eea2\u0026amp;signature=b6a6ddadfc735b199c3b1b1668d14b8099372c24b3a2e09956c59e79f28d3504\">\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/bitnob/eBFTVQiF9mXbjiUl/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Bitnob\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00A57F\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@bitnob\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/learn/courses/payouts-for-product-managers/module-9.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://bitnob.com/#organization\",\"name\":\"Bitnob\",\"url\":\"https://bitnob.com/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://bitnob.com/bitnob-logo.png\"},\"sameAs\":[\"https://x.com/bitnob\",\"https://twitter.com/Bitnob_Official\",\"https://linkedin.com/company/bitnob\",\"https://github.com/bitnob\",\"https://instagram.com/Bitnob\",\"https://youtube.com/@bitnob\",\"https://facebook.com/bitnob\",\"https://tiktok.com/@bitnob\"]},{\"@type\":\"WebSite\",\"@id\":\"https://www.bitnob.dev#website\",\"name\":\"Bitnob\",\"url\":\"https://www.bitnob.dev\",\"publisher\":{\"@id\":\"https://bitnob.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9#webpage\",\"url\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9\",\"name\":\"Module 9: Onboarding, KYC/KYB and compliance for payouts\",\"description\":\"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.\",\"dateModified\":\"2026-10-28T01:16:00.174Z\",\"isPartOf\":{\"@id\":\"https://www.bitnob.dev#website\"},\"breadcrumb\":{\"@id\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Courses\",\"item\":\"https://www.bitnob.dev/learn/courses/bitcoin-for-product-managers\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Payouts for product managers\",\"item\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Module 9: Onboarding, KYC/KYB and compliance for payouts\",\"item\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9#article\",\"headline\":\"Module 9: Onboarding, KYC/KYB and compliance for payouts\",\"name\":\"Module 9: Onboarding, KYC/KYB and compliance for payouts\",\"description\":\"Onboarding and KYC/KYB that satisfies AML obligations without destroying conversion.\",\"url\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9\",\"mainEntityOfPage\":{\"@id\":\"https://www.bitnob.dev/learn/courses/payouts-for-product-managers/module-9#webpage\"},\"dateModified\":\"2026-10-28T01:16:00.174Z\",\"publisher\":{\"@id\":\"https://bitnob.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.bitnob.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Bitnob\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Bitnob","nav":{"global":null,"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":""}]},{"tab":"Docs","icon":"book-open","dropdowns":[{"dropdown":"Bitnob Business","icon":"bolt","description":"Payouts, cards, trading, and virtual accounts.","groups":[{"group":"Get started","icon":"rocket","expanded":true,"pages":[{"title":"Introduction to the Bitnob APIs","sidebarTitle":"Introduction","href":"/docs/getting-started/overview"},{"title":"Set up your account","href":"/docs/getting-started/account-setup"},{"title":"Bitnob Business API quickstart","sidebarTitle":"Quickstart","href":"/docs/getting-started/quickstart"},{"group":"Concepts","pages":[{"title":"Core concepts and architecture","href":"/docs/getting-started/core-concepts-and-architecture"},{"title":"Currencies and amounts","href":"/docs/getting-started/core-concepts-and-architecture/currencies-and-amounts"},{"title":"Fees and limits by product","sidebarTitle":"Fees and limits","href":"/docs/getting-started/fees-and-limits"},{"title":"Which KYC endpoint to use","sidebarTitle":"Which KYC endpoint","href":"/docs/getting-started/which-kyc-endpoint"}]},{"group":"Build reliably","pages":[{"title":"API keys and credential security","href":"/docs/getting-started/api-best-practices/api-keys-and-credentials"},{"title":"Idempotency and references","href":"/docs/getting-started/api-best-practices/idempotency-and-reference-integrity"},{"title":"Webhooks and event handling","href":"/docs/getting-started/api-best-practices/webhook-best-practices"},{"title":"Errors and retries","href":"/docs/getting-started/api-best-practices/errors-and-retries"},{"title":"Quote lifecycle and expiry","href":"/docs/getting-started/api-best-practices/quote-expiry-and-transaction-windows"},{"title":"Test in sandbox","href":"/docs/getting-started/api-best-practices/simulating-flows-and-testing-in-sandbox"},{"title":"Observability, logging, and traceability","href":"/docs/getting-started/api-best-practices/observability-logging-and-traceability"}]}]},{"group":"Bitcoin","icon":"bitcoin","pages":[{"title":"Bitcoin and Lightning on Bitnob","sidebarTitle":"Overview","href":"/docs/bitcoin/overview"},{"group":"Concepts","pages":[{"title":"LNURL and Lightning addresses","href":"/docs/bitcoin/lnurl-and-lightning-addresses"}]},{"group":"Get started","pages":[{"title":"Send bitcoin on-chain or over Lightning","href":"/docs/bitcoin/send-bitcoin"}]},{"group":"Guides","pages":[{"title":"Issue addresses and Lightning invoices","href":"/docs/bitcoin/issuing-bitcoin-addresses-and-lightning-invoices"},{"title":"Test Lightning payments in sandbox","sidebarTitle":"Test Lightning in sandbox","href":"/docs/bitcoin/test-lightning-in-sandbox"}]},{"group":"Reference","pages":[{"title":"Confirmations and webhook events","href":"/docs/bitcoin/confirmations-and-webhook-events"}]}]},{"group":"Stablecoins","icon":"coins","pages":[{"title":"Stablecoins on Bitnob","sidebarTitle":"Overview","href":"/docs/stablecoins/overview"},{"group":"Concepts","pages":[{"title":"How stablecoins work on Bitnob","href":"/docs/stablecoins/key-concepts"},{"title":"Why multiple chains","href":"/docs/stablecoins/why-support-stablecoins-on-multiple-chains"}]},{"group":"Get started","pages":[{"title":"Accept USDT and settle in naira","href":"/docs/stablecoins/accept-usdt-and-settle-in-naira"}]},{"group":"Guides","pages":[{"title":"Set up for stablecoins","href":"/docs/stablecoins/getting-started-with-stablecoins"},{"title":"Issue deposit addresses","href":"/docs/stablecoins/issuing-stablecoin-addresses"},{"title":"Receive deposits","href":"/docs/stablecoins/receiving-stablecoin-deposits"},{"title":"Send stablecoins","href":"/docs/stablecoins/sending-stablecoins"},{"title":"Transfer between wallets","href":"/docs/stablecoins/internal-wallet-to-wallet-transfers"},{"title":"Receive stablecoin webhooks","href":"/docs/stablecoins/webhooks"},{"title":"Handle transfer failures","href":"/docs/stablecoins/error-handling-and-failure-scenarios"},{"title":"Reconcile balances","href":"/docs/stablecoins/stablecoin-reconciliation-and-ledger-integrity-guide"}]},{"group":"Reference","pages":[{"title":"Stablecoin address webhook events","sidebarTitle":"Address webhook events","href":"/docs/stablecoins/address-webhook-events"},{"title":"Withdrawal webhook events","sidebarTitle":"Withdrawal webhook events","href":"/docs/stablecoins/withdrawal-webhook-events"},{"title":"Supported stablecoin chains and tokens","sidebarTitle":"Supported chains","href":"/docs/stablecoins/supported-chains"}]}]},{"group":"Trading","icon":"arrow-right-arrow-left","pages":[{"title":"Trading and currency conversion","sidebarTitle":"Overview","href":"/docs/trading/overview"},{"group":"Concepts","pages":[{"title":"How trading works","href":"/docs/trading/how-trading-works"}]},{"group":"Get started","pages":[{"title":"Swap bitcoin to USDT","href":"/docs/trading/swap-bitcoin-to-usdt"}]},{"group":"Guides","pages":[{"title":"Create a quote","href":"/docs/trading/create-quote"},{"title":"Execute a trade","href":"/docs/trading/execute-trade"},{"title":"Track orders and history","href":"/docs/trading/trade-status-and-history"},{"title":"Receive trade webhooks","href":"/docs/trading/trade-webhooks"},{"title":"Handle trading failures","href":"/docs/trading/error-handling-patterns"}]},{"group":"Reference","pages":[{"title":"Trade statuses and webhook events","sidebarTitle":"Statuses and webhook events","href":"/docs/trading/statuses-and-webhook-events"}]}]},{"group":"Payouts","icon":"money-bill-transfer","pages":[{"title":"Payouts to bank accounts and mobile money","sidebarTitle":"Overview","href":"/docs/payouts/overview"},{"group":"Concepts","pages":[{"title":"How payouts settle","href":"/docs/payouts/settlement-models"},{"title":"The payout lifecycle","href":"/docs/payouts/payouts-lifecycle"}]},{"group":"Get started","pages":[{"title":"Send your first payout","href":"/docs/payouts/send-your-first-payout"}]},{"group":"Guides","pages":[{"title":"Validate a beneficiary","href":"/docs/payouts/validate-a-beneficiary"},{"title":"Send a SWIFT payout","href":"/docs/payouts/swift-payout"},{"title":"Receive payout webhooks","href":"/docs/payouts/webhook-payout"},{"title":"Handle payout failures","href":"/docs/payouts/error-handling"},{"title":"Payouts API integration guide","href":"/api-reference/payouts/usage-example"},{"title":"The Trip timeline","href":"/docs/payouts/understanding-trip-timeline"},{"title":"Payout incident postmortem template","href":"/docs/payouts/payout-incident-postmortem"},{"title":"Troubleshooting: payout stuck in pending","href":"/docs/payouts/troubleshoot-payout-stuck"},{"title":"Troubleshooting: webhooks not received","href":"/docs/payouts/troubleshoot-webhooks-not-received"}]},{"group":"Reference","pages":[{"title":"Payout statuses and webhook events","sidebarTitle":"Statuses and webhook events","href":"/docs/payouts/statuses-and-webhook-events"},{"title":"Payout webhook events","sidebarTitle":"Webhook events","href":"/docs/payouts/webhook-events"},{"title":"Supported currencies and rails","href":"/docs/payouts/supported-currencies"},{"group":"Corridors","pages":[{"title":"Corridor behavior","href":"/docs/payouts/corridor-specific-behavior"},{"title":"Nigeria","href":"/docs/payouts/corridor-specific-behavior/nigeria-payout"},{"title":"Ghana","href":"/docs/payouts/corridor-specific-behavior/ghana-payout"},{"title":"Kenya","href":"/docs/payouts/corridor-specific-behavior/kenya-payout"}]},{"title":"Payout glossary","sidebarTitle":"Glossary","href":"/docs/payouts/glossary-terms"}]}]},{"group":"Card issuing","icon":"credit-card","pages":[{"title":"Virtual card issuing on Bitnob","sidebarTitle":"Overview","href":"/docs/card-issuing/overview"},{"group":"Concepts","pages":[{"title":"How card issuance works","href":"/docs/card-issuing/card-issuance"}]},{"group":"Get started","pages":[{"title":"Issue your first card","href":"/docs/card-issuing/issue-your-first-card"}]},{"group":"Guides","pages":[{"title":"Verify cardholders with Card KYC","sidebarTitle":"Card KYC","href":"/docs/card-issuing/card-kyc"},{"title":"Fund a card","href":"/docs/card-issuing/card-funding"},{"title":"Freeze, unfreeze, or terminate a card","href":"/docs/card-issuing/card-status-management"},{"title":"Set card spending limits","sidebarTitle":"Set spending limits","href":"/docs/card-issuing/spending-limits"},{"title":"Monitor card transactions","href":"/docs/card-issuing/transaction-monitoring"},{"title":"Receive card webhooks","href":"/docs/card-issuing/receive-card-webhooks"},{"title":"Decrypt card secured details","sidebarTitle":"Decrypt card details","href":"/docs/card-issuing/decrypt-card-details"}]},{"group":"Reference","pages":[{"title":"Webhook events","href":"/docs/card-issuing/webhooks"},{"title":"Virtual card webhook events","sidebarTitle":"Webhook payloads","href":"/docs/card-issuing/webhook-payloads"},{"title":"Fees and decline rules","href":"/docs/card-issuing/card-fees"},{"title":"Virtual card glossary","sidebarTitle":"Glossary","href":"/docs/card-issuing/virtual-card-glossary"}]}]},{"group":"Virtual accounts","icon":"building-columns","pages":[{"title":"NGN virtual accounts on Bitnob","sidebarTitle":"Overview","href":"/docs/virtual-accounts/overview"},{"group":"Get started","pages":[{"title":"Set up NGN virtual accounts","sidebarTitle":"Set up virtual accounts","href":"/docs/virtual-accounts/set-up-virtual-accounts"},{"title":"Virtual account deposit webhook","sidebarTitle":"Deposit webhook","href":"/docs/virtual-accounts/deposit-webhook"}]}]}]},{"dropdown":"Bitnob Enterprise","icon":"wallet","description":"Policy-governed wallets.","groups":[{"group":"Get started","icon":"rocket","expanded":true,"pages":[{"title":"Bitnob Enterprise API overview","sidebarTitle":"Introduction","href":"/docs/platform/overview"},{"title":"Set up your Bitnob Enterprise account","sidebarTitle":"Set up your account","href":"/docs/platform/account-setup"},{"title":"Bitnob Enterprise API quickstart","sidebarTitle":"Quickstart","href":"/docs/platform/quickstart"},{"group":"Concepts","pages":[{"title":"Bitnob Enterprise core concepts","sidebarTitle":"Core concepts","href":"/docs/platform/core-concepts"}]},{"group":"Build reliably","pages":[{"title":"Bitnob Enterprise API best practices","sidebarTitle":"Best practices","href":"/docs/platform/best-practices"}]}]},{"group":"Policies","icon":"shield-check","pages":[{"title":"Transaction policies on Bitnob Enterprise","sidebarTitle":"Overview","href":"/docs/platform/policies/overview"},{"group":"Concepts","pages":[{"title":"How Bitnob Enterprise evaluates policy rules","sidebarTitle":"How evaluation works","href":"/docs/platform/policies/how-policy-evaluation-works"},{"title":"Policy lifecycle and quorum approval","sidebarTitle":"Lifecycle and quorum","href":"/docs/platform/policies/policy-lifecycle-and-quorum"}]},{"group":"Get started","pages":[{"title":"Write and activate your first Enterprise policy","sidebarTitle":"Write your first policy","href":"/docs/platform/policies/write-and-activate-your-first-policy"}]},{"group":"Guides","pages":[{"title":"Require approval for high-value transfers","sidebarTitle":"Require approval","href":"/docs/platform/policies/require-approval-for-high-value-transfers"},{"title":"Delay large transfers with a policy time lock","sidebarTitle":"Add a time lock","href":"/docs/platform/policies/delay-large-transfers-with-a-time-lock"},{"title":"Test policy rules with dry-run evaluation","sidebarTitle":"Test with dry runs","href":"/docs/platform/policies/test-rules-with-dry-run-evaluation"},{"title":"Change an enforced Bitnob Enterprise policy","sidebarTitle":"Change a live policy","href":"/docs/platform/policies/change-an-enforced-policy"},{"title":"Handle transactions held or rejected by policy","sidebarTitle":"Handle held transactions","href":"/docs/platform/policies/handle-held-and-rejected-transactions"}]},{"group":"Reference","pages":[{"title":"Bitnob Enterprise policy rule reference","sidebarTitle":"Rule reference","href":"/docs/platform/policies/rule-reference"},{"title":"Policy statuses, errors, and webhook events","sidebarTitle":"Statuses and events","href":"/docs/platform/policies/statuses-and-webhook-events"}]}]},{"group":"Gas sponsorship","icon":"gas-pump","pages":[{"title":"Gas sponsorship on Bitnob Enterprise","sidebarTitle":"Overview","href":"/docs/platform/gas-sponsorship/overview"},{"group":"Concepts","pages":[{"title":"How Bitnob Enterprise gas stations work","sidebarTitle":"How gas stations work","href":"/docs/platform/gas-sponsorship/how-gas-stations-work"},{"title":"How Bitnob sponsored transfers work","sidebarTitle":"How sponsored transfers work","href":"/docs/platform/gas-sponsorship/how-sponsored-transfers-work"},{"title":"What users sign for a sponsored transfer, by chain","sidebarTitle":"Signing by chain","href":"/docs/platform/gas-sponsorship/signing-by-chain"}]},{"group":"Get started","pages":[{"title":"Set up a gas station for your Enterprise wallets","sidebarTitle":"Set up a gas station","href":"/docs/platform/gas-sponsorship/set-up-a-gas-station"},{"title":"Send your first sponsored transfer on Solana","sidebarTitle":"Send your first transfer","href":"/docs/platform/gas-sponsorship/send-your-first-sponsored-transfer"}]},{"group":"Guides","pages":[{"title":"Sign sponsored transfers on EVM chains","sidebarTitle":"Sign on EVM chains","href":"/docs/platform/gas-sponsorship/sign-on-evm-chains"},{"title":"Sign sponsored USDT transfers on Tron","sidebarTitle":"Sign on Tron","href":"/docs/platform/gas-sponsorship/sign-on-tron"},{"title":"Charge your own fee on sponsored transfers","sidebarTitle":"Charge a partner fee","href":"/docs/platform/gas-sponsorship/charge-a-partner-fee"},{"title":"Sweep a full stablecoin balance with gross mode","sidebarTitle":"Sweep a full balance","href":"/docs/platform/gas-sponsorship/sweep-a-full-balance"},{"title":"Handle sponsored transfer failures and expiry","sidebarTitle":"Handle failures","href":"/docs/platform/gas-sponsorship/handle-failures-and-expiry"}]},{"group":"Reference","pages":[{"title":"Gas station fields, health, and webhook events","sidebarTitle":"Gas station reference","href":"/docs/platform/gas-sponsorship/gas-station-reference"},{"title":"Sponsored transfer statuses, errors, and tracking","sidebarTitle":"Sponsored transfer statuses","href":"/docs/platform/gas-sponsorship/statuses-errors-and-events"}]}]},{"group":"Bitcoin","icon":"bitcoin","pages":[{"group":"Concepts","pages":[{"title":"Custody models","href":"/docs/bitcoin/custody-models"},{"title":"UTXO management","href":"/docs/bitcoin/utxo-management-introduction"},{"title":"Fees and confirmation strategy","href":"/docs/bitcoin/fee-market-and-transaction-strategies"}]},{"group":"Guides","pages":[{"title":"Run business-managed custody","href":"/docs/bitcoin/business-managed-non-custodial-bitcoin-wallets"},{"title":"Build self-custodial wallets","href":"/docs/bitcoin/user-managed-self-custodial-wallets"}]}]},{"group":"Use cases","icon":"briefcase","pages":[{"title":"Exchange integration guide","href":"/docs/platform/exchange-integration-guide"}]}]}]},{"tab":"Business API","icon":"code","pages":[{"title":"Business API","href":"/api-reference/authentication/authentication"}]},{"tab":"Enterprise API","icon":"wallet","pages":[{"title":"Enterprise API","href":"/docs/platform/authentication"}]},{"tab":"Playground","icon":"flask","pages":[{"title":"Playground","href":"/docs/playground/overview"}]},{"tab":"Learn","icon":"graduation-cap","groups":[{"group":"Learn","icon":"graduation-cap","pages":[{"title":"Bitnob developer courses","href":"/learn/overview"}]},{"group":"Courses","icon":"graduation-cap","pages":[{"group":"Bitcoin for product managers","icon":"bitcoin","pages":[{"title":"Bitcoin for product managers course","sidebarTitle":"Course overview","href":"/learn/courses/bitcoin-for-product-managers"},{"title":"Module 1: What Bitcoin really is","href":"/learn/courses/bitcoin-for-product-managers/module-1"},{"title":"Module 2: Private keys, public keys, and Bitcoin addresses","href":"/learn/courses/bitcoin-for-product-managers/module-2"},{"title":"Module 3: Understanding UTXOs","href":"/learn/courses/bitcoin-for-product-managers/module-3"},{"title":"Module 4: Anatomy of a Bitcoin transaction","href":"/learn/courses/bitcoin-for-product-managers/module-4"},{"title":"Module 5: How Bitcoin blocks and confirmations work","href":"/learn/courses/bitcoin-for-product-managers/module-5"},{"title":"Module 6: What a Bitcoin wallet actually does","href":"/learn/courses/bitcoin-for-product-managers/module-6"},{"title":"Module 7: Security model of Bitcoin wallets","href":"/learn/courses/bitcoin-for-product-managers/module-7"},{"title":"Module 8: Wallet product architecture mapping","href":"/learn/courses/bitcoin-for-product-managers/module-8"},{"title":"Module 9: Designing a Bitcoin wallet for real users","href":"/learn/courses/bitcoin-for-product-managers/module-9"},{"title":"Module 10: Adding Bitcoin to existing custodial wallets","href":"/learn/courses/bitcoin-for-product-managers/module-10"},{"title":"Module 11: Bitcoin address types, batching and webhooks","href":"/learn/courses/bitcoin-for-product-managers/module-11"},{"title":"Module 12: Designing Bitcoin payment products for merchants","href":"/learn/courses/bitcoin-for-product-managers/module-12"},{"title":"Module 13: Bitcoin liquidity and treasury for wallets","href":"/learn/courses/bitcoin-for-product-managers/module-13"},{"title":"Module 14: Bitcoin product and UX guidelines","href":"/learn/courses/bitcoin-for-product-managers/module-14"},{"title":"Module 15: Bitcoin security operations for companies","href":"/learn/courses/bitcoin-for-product-managers/module-15"},{"title":"Module 16: Bitcoin product revenue models","href":"/learn/courses/bitcoin-for-product-managers/module-16"},{"title":"Module 17: Key performance indicators for Bitcoin products","href":"/learn/courses/bitcoin-for-product-managers/module-17"},{"title":"Module 18: Marketing Bitcoin products","href":"/learn/courses/bitcoin-for-product-managers/module-18"},{"title":"Module 19: Bitcoin products for refugees and activists","href":"/learn/courses/bitcoin-for-product-managers/module-19"},{"title":"Module 20: Adopting Bitcoin responsibly as a company","href":"/learn/courses/bitcoin-for-product-managers/module-20"},{"title":"Module 21: Final reflections and action tasks","href":"/learn/courses/bitcoin-for-product-managers/module-21"}]},{"group":"Card issuing","icon":"credit-card","pages":[{"title":"Virtual card issuing course","sidebarTitle":"Course overview","href":"/learn/courses/card-issuing"},{"title":"Module 1: What virtual cards actually are","href":"/learn/courses/card-issuing/module-1"},{"title":"Module 2: Card lifecycle from a product perspective","href":"/learn/courses/card-issuing/module-2"},{"title":"Module 3: Registering card users","href":"/learn/courses/card-issuing/module-3"},{"title":"Module 4: Issuing a card","href":"/learn/courses/card-issuing/module-4"},{"title":"Module 5: Funding virtual cards","href":"/learn/courses/card-issuing/module-5"},{"title":"Module 6: Spend transactions and monitoring","href":"/learn/courses/card-issuing/module-6"},{"title":"Module 7: Freezing, unfreezing, and terminating cards","href":"/learn/courses/card-issuing/module-7"},{"title":"Module 8: Managing card limits","href":"/learn/courses/card-issuing/module-8"},{"title":"Module 9: Fees, cross-border charges, and revenue modeling","href":"/learn/courses/card-issuing/module-9"},{"title":"Module 10: Restricted merchant categories (MCCs)","href":"/learn/courses/card-issuing/module-10"},{"title":"Module 11: Refunds, reversals, and chargebacks","href":"/learn/courses/card-issuing/module-11"},{"title":"Module 12: Designing card UX for trust and clarity","href":"/learn/courses/card-issuing/module-12"},{"title":"Module 13: Card operations and support playbook","href":"/learn/courses/card-issuing/module-13"},{"title":"Module 14: Card-based product use cases and strategy","href":"/learn/courses/card-issuing/module-14"},{"title":"Module 15: Fraud patterns and spend abuse","href":"/learn/courses/card-issuing/module-15"},{"title":"Module 16: Metrics and KPIs for card products","href":"/learn/courses/card-issuing/module-16"},{"title":"Module 17: Marketing and distributing card products","href":"/learn/courses/card-issuing/module-17"},{"title":"Module 18: The full value chain of virtual cards","href":"/learn/courses/card-issuing/module-18"},{"title":"Module 19: BINs: identification, validation and strategy","href":"/learn/courses/card-issuing/module-19"},{"title":"Module 20: Authorizations, silent transactions, pre-auths","href":"/learn/courses/card-issuing/module-20"},{"title":"Module 21: Compliance and security for virtual cards","href":"/learn/courses/card-issuing/module-21"},{"title":"Module 22: How virtual card programs are built and run","href":"/learn/courses/card-issuing/module-22"},{"title":"Module 23: Capstone project and final reflections","href":"/learn/courses/card-issuing/module-23"}]},{"group":"Card fraud","icon":"user-secret","pages":[{"title":"Virtual card fraud course","sidebarTitle":"Course overview","href":"/learn/courses/card-fraud"},{"title":"Module 1: Introduction to virtual card fraud","href":"/learn/courses/card-fraud/module-1"},{"title":"Module 2: Understanding and preventing virtual card fraud","href":"/learn/courses/card-fraud/module-2"},{"title":"Module 3: Fraud incident response and investigation","href":"/learn/courses/card-fraud/module-3"},{"title":"Module 4: MCC \u0026 BIN-Based threats and controls","href":"/learn/courses/card-fraud/module-4"},{"title":"Module 5: Refund, reversal, and chargeback abuse","href":"/learn/courses/card-fraud/module-5"},{"title":"Module 6: Transaction pattern detection","href":"/learn/courses/card-fraud/module-6"},{"title":"Module 7: Designing controls \u0026 prevention systems","href":"/learn/courses/card-fraud/module-7"},{"title":"Module 8: Logging, audit trails, and incident reporting","href":"/learn/courses/card-fraud/module-8"},{"title":"Module 9: Compliance, PCI-DSS, and scheme requirements","href":"/learn/courses/card-fraud/module-9"},{"title":"Module 10: Capstone: end-to-end fraud and risk response","href":"/learn/courses/card-fraud/module-10"}]},{"group":"Payouts for product managers","icon":"money-bill-transfer","pages":[{"title":"Payouts for product managers course","sidebarTitle":"Course overview","href":"/learn/courses/payouts-for-product-managers"},{"title":"Module 1: Why moving money is different from moving data","href":"/learn/courses/payouts-for-product-managers/module-1"},{"title":"Module 2: Bitcoin and stablecoins as settlement tools","href":"/learn/courses/payouts-for-product-managers/module-2"},{"title":"Module 3: Stored balances or per-payout funding","href":"/learn/courses/payouts-for-product-managers/module-3"},{"title":"Module 4: The payout lifecycle, stage by stage","href":"/learn/courses/payouts-for-product-managers/module-4"},{"title":"Module 5: Error handling in money movement products","href":"/learn/courses/payouts-for-product-managers/module-5"},{"title":"Module 6: Managing expectations: speed, fees, success rates","href":"/learn/courses/payouts-for-product-managers/module-6"},{"title":"Module 7: Treasury and liquidity 101 for PMs","href":"/learn/courses/payouts-for-product-managers/module-7"},{"title":"Module 8: Security for Bitcoin and stablecoin payouts","description":"Security principles for products moving Bitcoin, stablecoins, and fiat where mistakes are irreversible.","href":"/learn/courses/payouts-for-product-managers/module-8"},{"title":"Module 9: Onboarding, KYC/KYB and compliance for payouts","href":"/learn/courses/payouts-for-product-managers/module-9"},{"title":"Module 10: KPIs for measuring payout product success","description":"The metrics that show whether a payout product is reliable, efficient, liquid, and trusted.","href":"/learn/courses/payouts-for-product-managers/module-10"},{"title":"Module 11: Circular economies, regional differences","href":"/learn/courses/payouts-for-product-managers/module-11"},{"title":"Module 12: Operating principles for payment PMs","href":"/learn/courses/payouts-for-product-managers/module-12"},{"title":"Capstone project","href":"/learn/courses/payouts-for-product-managers/capstone-project"},{"title":"Payout use cases for Bitcoin and stablecoin settlement","href":"/learn/courses/payouts-for-product-managers/payouts-use-cases-unlocking-the-potential-of-bitcoin-and-stablecoin-settlement"}]},{"group":"Bitcoin Core from the CLI","icon":"terminal","pages":[{"title":"Bitcoin Core from the command line course","sidebarTitle":"Course overview","href":"/learn/courses/bitcoin-core-cli"},{"title":"Module 1: Installing \u0026 running Bitcoin Core","href":"/learn/courses/bitcoin-core-cli/module-1"},{"title":"Module 2: Bitcoin Core architecture","href":"/learn/courses/bitcoin-core-cli/module-2"},{"title":"Module 3: Wallets and addresses in Bitcoin Core","href":"/learn/courses/bitcoin-core-cli/module-3"},{"title":"Module 4: Using Regtest to simulate Bitcoin","href":"/learn/courses/bitcoin-core-cli/module-4"},{"title":"Module 5: Transactions and UTXO control","href":"/learn/courses/bitcoin-core-cli/module-5"},{"title":"Module 6: Blocks and blockchain state","href":"/learn/courses/bitcoin-core-cli/module-6"},{"title":"Module 7: Working with Bitcoin RPC","href":"/learn/courses/bitcoin-core-cli/module-7"},{"title":"Module 8: Developing with Bitcoin Core locally","href":"/learn/courses/bitcoin-core-cli/module-8"},{"title":"Capstone project: Bitcoin Core CLI automation","href":"/learn/courses/bitcoin-core-cli/capstone-project"}]}]},{"group":"Playbooks","icon":"book-open-reader","pages":[{"group":"Trading","icon":"arrow-right-arrow-left","pages":[{"title":"How integrators can make money","href":"/learn/playbooks/trading/how-integrators-can-make-money"},{"title":"On designing the trading experience","href":"/learn/playbooks/trading/on-designing-the-trading-experience"},{"title":"Support manual for integrator teams","href":"/learn/playbooks/trading/support-manual-for-integrator-teams"},{"title":"Trading API revenue playbook","href":"/learn/playbooks/trading/trading-api-revenue-playbook"},{"title":"Trading revenue reporting manual","href":"/learn/playbooks/trading/trading-revenue-reporting-manual"},{"title":"Trading UX implementation guidelines","href":"/learn/playbooks/trading/trading-ux-implementation-guidelines"}]},{"group":"Card issuing","icon":"credit-card","pages":[{"title":"Contactless payment","href":"/learn/playbooks/cards/contactless-cards"},{"title":"Marketing virtual cards: Best practices and playbook","href":"/learn/playbooks/cards/marketing-virtual-cards"},{"title":"Virtual card support team playbook","href":"/learn/playbooks/cards/support-team-playbook"},{"title":"Virtual card treasury \u0026 finance operations playbook","href":"/learn/playbooks/cards/treasury-and-finance-operations-playbook"},{"title":"Virtual card fraud \u0026 compliance playbook","href":"/learn/playbooks/cards/virtual-card-fraud-and-compliance-playbook"},{"title":"Zero to card business toolkit","href":"/learn/playbooks/cards/zero-to-card-business-toolkit"}]},{"group":"Stablecoins","icon":"coins","pages":[{"title":"Stablecoin operations guide","href":"/learn/playbooks/stablecoins/operations-guide"},{"title":"Stablecoins UX best practices","href":"/learn/playbooks/stablecoins/ux-best-practices"},{"title":"Blockchain explorer guide","href":"/learn/playbooks/stablecoins/blockchain-explorer-guide"}]},{"group":"Bitcoin","icon":"bitcoin","pages":[{"title":"Security and compliance for non-custodial Bitcoin wallets","href":"/learn/playbooks/bitcoin/security-and-compliance"},{"title":"Threat models and security risks","href":"/learn/playbooks/bitcoin/threat-models-and-security-risks"},{"title":"Fatal mistakes to avoid","href":"/learn/playbooks/bitcoin/fatal-mistakes-to-avoid"},{"title":"Address and privacy practices","href":"/learn/playbooks/bitcoin/address-and-privacy-best-practices"},{"title":"Sample code architecture","href":"/learn/playbooks/bitcoin/sample-code-architecture-and-folder-structure"},{"title":"Putting it all together","href":"/learn/playbooks/bitcoin/putting-it-all-together"},{"title":"Future upgrade readiness","href":"/learn/playbooks/bitcoin/future-upgrade-readiness"}]}]}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Module 9: Onboarding, KYC/KYB and compliance for payouts - Bitnob","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}