---
url: /docs/store.md
description: >-
  Hold a customer's balance in a BlindPay-managed wallet, or register an
  external wallet the customer already controls.
---

**Abstracted:**

Once a customer receives money, it needs somewhere to live before it goes back out. A **managed wallet** is a balance BlindPay creates and holds in the customer's name: deposits land in it, payouts are funded from it, and you check it with a single API call. There are no keys to manage, no apps to connect, and no extra infrastructure on your side.

**Advanced:**

Once your customer holds stablecoins, they need somewhere to keep them. BlindPay supports two options, and you can mix both across different customers or even for the same customer.

A **managed wallet** (`bl_...`) is a BlindPay-custodied wallet: BlindPay creates it, holds the private keys, and your customer interacts with the balance through your product rather than a browser extension or a signed transaction. An **external blockchain wallet** (`bw_...`) is the opposite: your customer already controls the wallet (self-custodied), and you only register its address with BlindPay so it can receive stablecoin transfers or authorize a payout.

Managed wallets are in beta: only the chains listed on the managed wallet page have confirmed support.

## Which to use

| | Managed wallet (`bl_`) | Blockchain wallet (`bw_`) |
| --- | --- | --- |
| Custody | BlindPay-custodied | Customer-controlled (non-custodial) |
| Address | Generated by BlindPay | Supplied or signed by the customer |
| Best for | Products where you don't want customers managing keys | Customers who already have their own wallet |
| Sending funds | No client-side signing | Requires signature, approval, or delegation depending on chain |
| Availability | Beta, limited chain support | Generally available |

**Abstracted:**

## How it fits

1. A [payin](/docs/payins) or a [virtual account](/docs/virtual-accounts) deposit settles into the customer's managed wallet.
2. The balance sits there until you move it; check it any time with the balance endpoint.
3. A [payout](/docs/payouts) pulls from the wallet and delivers to a bank account, one API call, no extra approval step.

You only ever reference the wallet by its ID (`bl_...`) on payin quotes, or by its address when funding a payout. Everything else is handled by BlindPay.

**Advanced:**

## In this section

* [Managed wallets](/docs/wallets): create a wallet, check its balance, and use it on payins and payouts.

## Related

* [Virtual accounts](/docs/virtual-accounts): a dedicated bank account whose deposits settle into the linked wallet
* [Payins](/docs/payins): accept a bank transfer and credit the wallet
* [Payouts](/docs/payouts): pay out from the wallet to a bank account
* [Webhooks](/docs/learn/webhooks): get notified the moment funds land

## In this section

* [Managed wallet](/docs/wallets): create a `bl_` wallet, check its balance, and receive stablecoins directly into it.

Blockchain wallets (`bw_`) are documented under [Payins](/docs/blockchain-wallets), where they serve as the customer-controlled delivery target.

## Related

* [Receive](/docs/receive): stablecoins arriving in a managed wallet
* [Send](/docs/send): move stablecoins out of a managed wallet
* [Payins](/docs/payins): accept fiat and credit a wallet
* [Payouts](/docs/payouts): pay out fiat from a wallet's balance
* [Supported chains](/docs/kb/supported-chains): chain and token matrix
