← Payment Reference GuidesStablecoin Infrastructure

BVNK Stablecoin Payments — a Mastercard Company

BVNK is enterprise stablecoin payment infrastructure: one API to accept stablecoins from customers, hold balances across fiat and digital currencies, and pay out to any wallet — with BVNK handling quotes, conversion, blockchain monitoring and gas. On August 3, 2026 Mastercard completed its acquisition of BVNK (up to $1.8B), becoming the first major card network to own stablecoin settlement rails. This guide covers the architecture, pay-in and payout transaction flows, the status model, and what the acquisition means.

Pay-ins: accepting stablecoins

Two collection methods cover the two commercial shapes. Payment Links are single-use: a fixed amount, a live quote, a unique address, an expiry — right for checkout and deposits of an exact amount. Channels are permanent per-customer addresses converted at spot — right for neobank-style top-ups. Both can settle into fiat, a different stablecoin, or the same coin.

A customer tops up a platform account with stablecoins via a BVNK Payment Link: the platform creates a payment with a live quote, BVNK generates a unique deposit address, the customer sends funds on-chain, and BVNK converts and settles into the platform's wallet — in fiat, a different stablecoin, or the same one.

1 / 6
🧑CustomerEnd-user wallet
🏪PlatformMerchant / PSP
⚙️BVNKPayments API + hosted page
⛓️BlockchainETH / TRON / SOL …
1
"Deposit $10 in crypto"
2
POST /api/v1/pay/summary (type: IN)
3
PENDING + quote + deposit address
4
Send exact amount on-chain
5
Transaction detected → PROCESSING
6
Webhook: COMPLETE + wallet credited
Initiation

"Deposit $10 in crypto"

Customer picks stablecoin at the platform's cashier or checkout.

A trading platform, neobank or e-commerce site offers stablecoins as a deposit / payment option next to cards and bank transfers. The customer chooses the amount in the display currency; everything after this is orchestrated through BVNK.

Initiation
Issuer Risk Check
Response
Settlement
Completion

Payment Link status model

StatusFinal?Meaning
PENDINGNoCreated; waiting for an on-chain transaction or expiry. Default window 48 h (expiryMinutes).
PROCESSINGNoTransaction seen on-chain; awaiting confirmations. Can still expire (e.g. insufficient gas).
COMPLETEYesFull amount received, converted, and credited to the wallet.
UNDERPAIDYesPartial amount received and credited — customer sent less than quoted. Handle in reconciliation.
EXPIREDYesNo (sufficient) payment before expiry.

Channel status model

StatusFinal?Meaning
DETECTEDNoTransfer visible at the channel address; a Channel Payment transaction is created and waits for network confirmations.
COMPLETEYesConfirmations reached; funds converted at spot and credited.
1

Create

POST /api/v1/pay/summary with type: IN — or POST /api/v2/channel once per customer. Restrict coins with currencyOptions; skip the selection screen by pinning payInDetails.currency + protocol.

2

Redirect

Send the customer to the returned redirectUrl (hosted page with QR and live rate) rather than showing a raw address — this kills mistyped-address risk.

3

Reconcile

Verify the webhook signature, return 200 fast, then GET /api/v1/pay/{uuid} and credit off the API state — final amounts can differ (UNDERPAID).

Try it live: the BVNK Flow Simulator animates the Payment Link, Channel, and payout sequences step by step with every API call and webhook annotated.