# BMONI Embedded Docs - [BMONI Embedded — overview](https://bkey.mintlify.app/index.md): Flutter packages for embedded Ethereum wallets, UI components, and wallet card widgets. - [The integration lifecycle](https://bkey.mintlify.app/lifecycle.md): The single mental model behind BMONI Embedded — six stages in a fixed order, each with its own prerequisite. Learn it once and every other page is a variation. - [Use cases](https://bkey.mintlify.app/use-cases.md): Start from what you are building. Each goal maps to the lifecycle stages you actually have to implement, and links straight to the pages for them. - [Quickstart — zero to first send](https://bkey.mintlify.app/api-quickstart.md): Take a sandbox user from nothing to a completed transfer in eleven calls, using identity values that resolve. - [Quickstart](https://bkey.mintlify.app/quickstart.md): Add an embedded Ethereum wallet with a signing-gated PIN to a Flutter app in under 10 minutes. - [Request test tokens](https://bkey.mintlify.app/request-test-tokens.md): Ask for sandbox test tokens so you can run transfers, withdrawals, and offramps end to end. Send us the phone number you signed up with and we credit NGN 1,000 and USD 10. - [Sandbox test data](https://bkey.mintlify.app/api-reference/sandbox-test-data.md): The identity values that resolve in the sandbox, the persona-matching rule that catches almost everyone, and how to test the failure paths on purpose. - [AI integration](https://bkey.mintlify.app/ai-setup.md): Use the built-in AI assistant, load the docs into your AI editor, or connect any LLM directly to the BMONI Embedded documentation. - [Introduction](https://bkey.mintlify.app/sdk/introduction.md): bmoni_embedded_sdk — on-device Ethereum wallet provisioning and signing for Flutter. - [Installation](https://bkey.mintlify.app/sdk/installation.md): Add bmoni_embedded_sdk to your Flutter project. - [Configuration](https://bkey.mintlify.app/sdk/configuration.md): Configure PIN length and the requirePin gate via BmoniEmbeddedSdk.initialize. - [Wallet provisioning](https://bkey.mintlify.app/sdk/wallet-provisioning.md): Create, read, and delete an on-device Ethereum wallet. - [PIN management](https://bkey.mintlify.app/sdk/pin-management.md): Set, rotate, verify, and remove the signing PIN. - [Signing](https://bkey.mintlify.app/sdk/signing.md): Sign messages and transaction hashes with the on-device wallet. - [Error handling](https://bkey.mintlify.app/sdk/error-handling.md): BmoniSignerException codes and how to handle them. - [Introduction](https://bkey.mintlify.app/sdk-react-native/introduction.md): bmoni_embedded_sdk — on-device Ethereum wallet provisioning and signing for React Native. - [Installation](https://bkey.mintlify.app/sdk-react-native/installation.md): Add bmoni_embedded_sdk to your React Native project. - [Configuration](https://bkey.mintlify.app/sdk-react-native/configuration.md): Configure PIN length and the requirePin gate via BmoniEmbeddedSdk.initialize. - [Wallet provisioning](https://bkey.mintlify.app/sdk-react-native/wallet-provisioning.md): Create, read, and delete an on-device Ethereum wallet. - [PIN management](https://bkey.mintlify.app/sdk-react-native/pin-management.md): Set, rotate, verify, and remove the signing PIN. - [Signing](https://bkey.mintlify.app/sdk-react-native/signing.md): Sign messages and transaction hashes with the on-device wallet. - [Error handling](https://bkey.mintlify.app/sdk-react-native/error-handling.md): BmoniSignerError codes and how to handle them. - [Introduction](https://bkey.mintlify.app/uikit/introduction.md): bkey_uikit — BMONI design system for Flutter. - [Installation & setup](https://bkey.mintlify.app/uikit/installation.md): Add bkey_uikit to your Flutter project and apply the BMONI theme. - [Design tokens](https://bkey.mintlify.app/uikit/design-tokens.md): BMONI colours and typography — the raw material for every component. - [Buttons](https://bkey.mintlify.app/uikit/components/buttons.md): BMoniButton, UtilityButton, and SwipeableActionRow. - [Typography widgets](https://bkey.mintlify.app/uikit/components/typography.md): DisplayText, HeadingText, BodyText, LabelText, AmountText, StatusText, and ReadMoreText. - [Forms](https://bkey.mintlify.app/uikit/components/forms.md): BMoniTextFormField, BMoniTextAreaField, and FileUploadWidget. - [Avatars & images](https://bkey.mintlify.app/uikit/components/avatars.md): ProfileAvatar, ChatAvatar, and ProfileImageWidget. - [Layout & containers](https://bkey.mintlify.app/uikit/components/layout.md): ActivitySectionCard, SectionHeader, InfoCard, and CustomAppBar. - [Sheets & overlays](https://bkey.mintlify.app/uikit/components/sheets.md): BMoniBottomSheet, BMoniTitledBottomSheet, BMoniOptionsBottomSheet, SelectorBottomSheet, and SearchableSelectorBottomSheet. - [Feedback & status](https://bkey.mintlify.app/uikit/components/feedback.md): BMoniToast, BMoniToastOverlay, EmptyState, FailureWidget, InProgressWidget, and loaders. - [Wallet card](https://bkey.mintlify.app/uikit/components/wallet-cards.md): BMoniWalletCard and BMoniWalletCardBalance — the low-level wallet card primitives. - [Introduction](https://bkey.mintlify.app/wallets/introduction.md): bmoni_embedded_wallets_cards — model-aware wallet card widgets and Riverpod notifiers for Flutter. - [Installation](https://bkey.mintlify.app/wallets/installation.md): Add bmoni_embedded_wallets_cards to your Flutter project. - [Architecture](https://bkey.mintlify.app/wallets/architecture.md): How the package is structured and how it interacts with your app. - [Data contracts](https://bkey.mintlify.app/wallets/data-contracts.md): The three interfaces you implement to plug your data layer into the notifiers. - [Models](https://bkey.mintlify.app/wallets/models.md): EmbeddedWallet and the response / transaction types. - [Notifiers](https://bkey.mintlify.app/wallets/notifiers.md): EmbeddedWalletListNotifier, EmbeddedWalletBalanceNotifier, and EmbeddedWalletTransactionsNotifier. - [Widgets](https://bkey.mintlify.app/wallets/widgets.md): EmbeddedWalletCard and EmbeddedWalletTransactionsSection. - [API](https://bkey.mintlify.app/api-reference/introduction.md): The BMONI Embedded REST API — interactive reference hosted at embedded.bmoni.com. - [Supported regions & currencies](https://bkey.mintlify.app/api-reference/supported-regions.md): Where BMONI Embedded works today — currencies, KYC providers, and money-movement rails per region. - [Integration flow](https://bkey.mintlify.app/api-reference/integration-flow.md): End-to-end map of the BMONI Embedded API — from creating a user, to provisioning a smart wallet, through KYC, to top-up / withdraw / swap. - [Integration flow (no mobile app)](https://bkey.mintlify.app/api-reference/integration-flow-no-app.md): The flow for partners who have no app of their own — employees onboard through the BMONI app via an invite link, while the partner integrates over the API alone, sending invites (with KYC) and reading each employee's VBA. - [Sandbox test data](https://bkey.mintlify.app/api-reference/sandbox-test-data.md): The identity values that resolve in the sandbox, the persona-matching rule that catches almost everyone, and how to test the failure paths on purpose. - [Errors and status codes](https://bkey.mintlify.app/api-reference/errors.md): Every error the Embedded API returns, what caused it, and what to do about it — including the failures that succeed quietly. - [Webhooks and events](https://bkey.mintlify.app/api-reference/webhooks.md): Subscribe to BMONI events, verify the signature on every delivery, and stop polling for state that gets pushed to you. - [Deleting & reactivating an account](https://bkey.mintlify.app/api-reference/account-deletion.md): Delete a user account, and restore it within 90 days. Deletion requires empty wallets, is reversible for a bounded window, and after that only support can undo it. - [KYC — USD Account Requirements](https://bkey.mintlify.app/api-reference/kyc-usd-requirements.md): KYC requirements for starting a USD account. Requirements vary slightly by the user's country of residence. - [KYC — Nigeria (NGN + USD)](https://bkey.mintlify.app/api-reference/kyc-nga-requirements.md): KYC requirements for opening NGN and USD accounts for Nigerian users. Provisioned in two separate stages - [KYC — Canada (CAD)](https://bkey.mintlify.app/api-reference/kyc-can-requirements.md): KYC requirements for opening a CAD account for Canadian users. Identity verification is handled upstream — no document uploads required from our side. - [KYC — Europe (EUR)](https://bkey.mintlify.app/api-reference/kyc-eur-requirements.md): KYC requirements for opening a EUR (SEPA) account, provided by Monerium. Builds on the standard KYC wizard plus a Monerium authorization handshake. - [KYC — Mexico (MXN)](https://bkey.mintlify.app/api-reference/kyc-mex-requirements.md): KYC requirements for enabling MXN rails for Mexican users. Identity review is handled by Etherfuse using the documents already uploaded through the standard KYC wizard. - [KYC — Rest of World](https://bkey.mintlify.app/api-reference/kyc-row-requirements.md): KYC requirements for Ghana, China, India, South Africa, and other supported countries opening a USD account. - [Rails](https://bkey.mintlify.app/api-reference/rails.md): Every channel money can take into or out of a wallet — which direction it runs, what it converts between, and what identifier the destination needs. - [Transfers — send to another user](https://bkey.mintlify.app/api-reference/transfers.md): Move stablecoins from a smart wallet to another BMONI user or to any wallet address, and swap between stablecoins inside the wallet, using a proposal → approve → sign flow. - [Sign a proposal](https://bkey.mintlify.app/api-reference/signing.md): Produce a signature that BMONI accepts for a smart wallet proposal, using ethers, viem, or web3.py, and diagnose a rejected signature. - [USD — virtual bank account](https://bkey.mintlify.app/api-reference/usd-vba.md): Provision a USD virtual bank account so incoming ACH and wire deposits are credited to the smart wallet in USD, and track its lifecycle status. - [NGN — deposits & bank withdrawals](https://bkey.mintlify.app/api-reference/ngn-rails.md): Fund a wallet from a Nigerian virtual account, and withdraw NGN or USD to any Nigerian bank account via a verify → register → offramp flow. - [Mexico — MXN on/offramp](https://bkey.mintlify.app/api-reference/mxn-ramp.md): Move money between MXN bank accounts (SPEI/CLABE) and the MXN wallet, powered by Etherfuse. Onramps are deposit-driven; offramps are a quote plus on-device signatures. - [LATAM — cash orders](https://bkey.mintlify.app/api-reference/latam-cash.md): Cash pay-in and pay-out across Latin America at supported pay-points, powered by Pago46. - [EU — SEPA payouts](https://bkey.mintlify.app/api-reference/eu-sepa.md): Redeem EUR from a smart wallet to any IBAN over SEPA, using a prepare → sign → complete flow powered by Monerium. - [Cards — issue and manage spend cards](https://bkey.mintlify.app/api-reference/cards.md): Issue virtual or physical NGN/USD cards against a smart wallet, then activate, freeze, limit, and read them through the partner API. ## Optional - [GitHub](https://github.com/bkey-inc) - [pub.dev](https://pub.dev/publishers/bkey.me/packages) - [npm](https://www.npmjs.com/package/@bkey-inc/bmoni_embedded_sdk) - [Support](mailto:developers@bkey.me)