Issue cards to customers
Cards enable BVNK partners to issue stablecoin-backed virtual spending cards to their customers via the Embedded Custom API. Customers hold stablecoin in their BVNK wallet and spend locally using a card, either online or through a digital wallet (Apple Pay, Google Wallet).
Cards are available to partners and their customers in eligible jurisdictions only. Contact your account manager to confirm whether your target markets are supported.
For who is this product intended?
This product is designed for:
- Partners using the Custom delivery model who want to issue spending cards to their end users while owning 100% of the customer-facing experience (front end, comms, branding).
- Platforms and fintechs looking to drive wallet adoption by giving users a way to spend their stablecoin balance at any eligible merchant globally.
What is a standard use case?
You represent a remittance platform (let's call it SendGlobal) and you already issue USDC wallets to your users via BVNK. Your users can receive funds into these wallets, but they have no way to spend them locally. You want to offer a branded card so users can tap-to-pay at any merchant, driving stablecoin wallet adoption.
After integrating with BVNK's Cards API, you issue virtual cards linked to each user's USDC wallet. Users see their card details securely in your app via the BVNK SDK, add the card to their digital wallet, and start spending — all while you own the full customer experience.
Key capabilities
| Capability | Description |
|---|---|
| Issue virtual cards | Issue virtual cards linked to a customer's USDC wallet |
| View card details (PAN/CVV) | Securely display sensitive card data via BVNK's PCI-compliant SDK — no PCI certification required for the partner |
| Card controls | Freeze, unfreeze, and cancel cards via API |
| Real-time transaction data | Receive webhooks for authorisations, settlements, declines, and card status changes |
| Card transactions | Query all card activity including pending, settled, and declined transactions with full details |
| Digital wallet provisioning | Users can add their card to digital wallets |
| 3DS authentication | Card-not-present transactions are secured via a one-time password (OTP) sent by a card issuer |
How it works
The Cards integration follows this high-level flow:
- Sign agreements: An onboarded customer accepts Cards terms via an agreements signing session.
- Issue card: Partner requests a card linked to the customer's USDC wallet. The card is issued asynchronously.
- View card details: Customer views PAN/CVV/expiry securely via the BVNK SDK embedded in the partner's app.
- Spend: Customer pays at merchants. BVNK authorises transactions against the wallet balance and sends webhooks.
- Manage card: Partner can freeze, unfreeze, or cancel the card via API. All actions are audit-logged.
PCI compliance
BVNK handles all PCI-scoped operations. Sensitive card data (PAN, CVV, expiry) is displayed inside a BVNK-hosted secure iFrame/view via the front-end SDK. Partners are required to be PCI-compliant but do not need PCI certification.
Card statuses
| Status | Description |
|---|---|
CREATED | Card has been issued but not yet activated |
PENDING | Card is being provisioned by the card provider |
ACTIVE | Card is active and can be used for transactions |
FROZEN | Card is temporarily frozen (e.g. by customer request) — can be unfrozen |
BLOCKED | Card is blocked (e.g. suspected fraud) — cannot be unfrozen by partner |
CANCELLED | Card is permanently cancelled — cannot be reactivated |
EXPIRED | Card has passed its expiration date |
Webhooks
BVNK sends real-time notifications for the following events:
- Card application status change — card moves from pending to active or declined
- Card status change — freeze, unfreeze, block, unblock, cancel
- Card transaction created — a new authorisation, settlement, or refund
- Card transaction status update — e.g. authorisation settles, or pending transaction declines
Ready to start? Once you have completed all prerequisites, proceed with the integration: