---
url: /docs/receive.md
description: >-
  Receive stablecoins into a BlindPay-managed wallet and track every deposit
  through the wallet.inbound webhook.
---

Receive covers stablecoins arriving in a [managed wallet](/wallets). There is nothing to call: share the wallet's `address` with whoever is sending, and any transfer that arrives on the matching network credits the wallet. Your integration work is on the webhook side, reacting when funds land.

If you're looking for fiat coming in (a bank transfer converted to stablecoins), that's a [payin](/payins).

## How it works

1. Create a [managed wallet](/wallets) for the customer and share its `address`.
2. The sender transfers stablecoins to that address from any wallet or exchange, on the wallet's network.
3. The deposit credits the wallet balance automatically; there is no approval or signature step on the receiving end.
4. BlindPay fires a `wallet.inbound` webhook so your system can react in real time.

The deposit must arrive on the same network the wallet was created on. Funds sent on the wrong network are not credited and cannot be recovered by BlindPay.

## The wallet.inbound webhook

Every time stablecoins land in a managed wallet, `wallet.inbound` fires with this payload:

```json [wallet.inbound]
{
  "id": "bl_000000000000",
  "address": "0x1234567890abcdef1234567890abcdef12345678",
  "network": "base",
  "token": {
    "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "id": "usdc",
    "symbol": "USDC",
    "amount": 100
  }
}
```

`wallet.inbound` only fires for USDC and USDT deposits. See [webhooks](/learn/webhooks) for endpoint setup and signature verification.

`wallet.inbound` reports `amount` scaled by 100 (so `100` means $1.00), while the wallet balance endpoint reports the raw amount. Don't assume the two use the same unit.

## Check the balance

Webhooks are the push signal; the balance endpoint is the pull:

```bash [cURL]
curl --request GET \
  --url https://api.blindpay.com/v1/instances/in_000000000000/customers/re_000000000000/wallets/bl_000000000000/balance \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

## Related

* [Managed wallets](/wallets): create the wallet that receives the deposits
* [Payins](/payins): receive fiat and have it delivered as stablecoins instead
* [Send](/send): move the received stablecoins to another wallet
* [Payouts](/payouts): convert the balance to fiat in a bank account
* [Webhooks](/learn/webhooks): endpoint setup and signature verification
