B2B payments: stablecoins and blockchain payments
02
How it works
4 min read · Chapter 2 of 10
How a stablecoin payment runs, step by step
A stablecoin payment in five stages: quoted, funded, sent on-chain, off-ramped and paid. The on-chain transfer takes seconds to minutes and can't be undone, so the checks happen before it: the address, the chain and sanctions screening. The exceptions are funds frozen by the issuer or held in a ramp's compliance review, and coins sent to a wrong address or chain, which are usually lost.
- Quoted. The platform sends the amount, the supplier's bank details and the purpose to the orchestrator, which picks the coin, chain and off-ramp and returns a rate and fees held for seconds to minutes; the orchestrator carries the market risk meanwhile. The invoice number stays in its API and won't ride on the chain. What can go wrong: the quote expires before the dollars arrive, and the payment is priced again.
- Funded. The payer sends dollars by ACH, wire or RTP into a virtual account, after the orchestrator's KYB (its checks on the business and its owners). Once the dollars are usable, the orchestrator mints coins at the issuer or buys them. Circle mints free for enrolled institutions. The coin follows the off-ramp partner: USDC for many Mexican partners, USDT on Tron for much of Asia and Africa. What can go wrong: a compliance review holds the payment, or an ACH payment is returned after coins were minted, which is why many orchestrators wait for ACH to clear. The Frozen exception starts here.
- Sent on-chain. The transfer is signed and broadcast to the off-ramp's deposit address, which should already be on an allowlist and screened: the address, its history and its chain. This is the diagram's mark, "no undo". The network fee is cents or less on Solana, Base or Stellar, up to a few dollars on Tron or Ethereum. What can go wrong: a typo, a look-alike address copied from the wallet's history, or the right address on the wrong chain. Circle's terms say USDC sent to an address that can't support it "will be lost forever". The Lost exception starts here.
- Off-ramped. Once the transfer is confirmed, the off-ramp waits for its own finality threshold, screens the sending address, sells the coins for pesos and starts the payout. That's about 13 seconds on Solana and 13 to 15 minutes on Ethereum. What can go wrong: the off-ramp's bank refuses a crypto-linked flow, a review holds it, or the local rail is closed for the weekend (PESONet in the Philippines runs on banking days only). The dashboard says "sent" while no pesos have moved.
- Paid. The off-ramp pays over the local rail, SPEI here, in seconds. The importer's ERP matches the orchestrator's payment ID to the invoice; the on-chain transaction ID proves the coins moved and carries no invoice details. What can go wrong: SPEI doesn't check names, so a wrong but valid CLABE pays a stranger, and a credit with no usable reference sits as unapplied cash.
Frozen comes off the funded stage, when the issuer blocks an address or a ramp holds the payment for review. Issuers freeze on court orders and sanctions, and on their own judgment: Circle's terms let it block addresses it "determines may be associated with illegal activity", and Tether's let it bar transactions "for any reason (or for no reason)". By its own count, Tether has frozen more than $4 billion in total, and in March 2026 a sealed US court order froze 16 business wallets holding USDC at once. A frozen inbound payment leaves the recipient with an open invoice and a balance it can't move.
Lost comes off the sent stage, when coins go to a wrong address or chain. Nothing on a public chain sends them back; recovery depends on the holder cooperating, or on an issuer or custodian choosing to help, usually for a fee. Look-alike addresses planted in a wallet's history are a fraud category of their own: researchers at Carnegie Mellon counted at least $83.8 million lost that way in 2022-2024. The prevention is dull: allowlisted addresses, a small test payment to every new one, and payment requests that carry the address and chain so nobody types them.
Cheat sheet: five ways to move $50,000 to a supplier in Mexico
Bank wire, a bank converts
- Speed
- Minutes to 5 business days
- Rough cost
- About $400-1,700
- Invoice data
- Rich (ISO 20022)
- Undo?
- Recall by request
- Risk in between
- The banks
Non-bank FX provider, local payout
- Speed
- Same day to a day; seconds if prefunded
- Rough cost
- About $230-260
- Invoice data
- In the provider's API
- Undo?
- Local rail rules
- Risk in between
- The provider
Stablecoin, neither side holds a coin
- Speed
- Funding time plus minutes; 24/7 if funded by RTP
- Rough cost
- About $50-1,050, typically $200-300
- Invoice data
- In the orchestrator's API
- Undo?
- No; a refund is a new payment
- Risk in between
- The orchestrator and the off-ramp
Coin straight to the supplier's wallet
- Speed
- Seconds; pesos after the supplier's own off-ramp
- Rough cost
- About $1, plus the supplier's off-ramp
- Invoice data
- Address and amount
- Undo?
- No
- Risk in between
- The payer, then the supplier
Bank tokenized deposit network
- Speed
- Seconds, 24/7, inside the network
- Rough cost
- Bank-priced, not public
- Invoice data
- Rich, by the banks' account
- Undo?
- Bank ledger rules
- Risk in between
- The bank
The costs are worked out in the deep dive; the stablecoin figures are my ranges, since nobody publishes them.
Pass through, hold, or never touch
Pass through
- Who holds coins, for how long
- Only the orchestrator, for minutes
- Who earns
- The orchestrator and off-ramp; the issuer earns cents
- Example
- The importer's payment
Hold
- Who holds coins, for how long
- A company or recipient, for days or longer
- Who earns
- The issuer and distributors earn the interest; the holder gets nothing from the issuer
- Example
- Cash between a company's own entities; creators Meta pays in USDC
Never touch
- Who holds coins, for how long
- A payment company, for its own liquidity
- Who earns
- The payment company, through less prefunding
- Example
- Visa settling with US banks in USDC
I'd start most B2B products as pass-through. Holding adds custody, an accounting policy and freeze and depeg risk, so it's worth it only when someone wants coins.