Skip to main content
Choose the payment rail that matches your checkout. Base Pay gives Base Account users a one-tap USDC experience, a direct USDC transfer works with any EIP-1193 wallet, and B20 adds issuer-defined policy controls and an onchain order memo.

Demo

Accept USDC with Base Pay

pay() opens the Base Account approval flow. Keep testnet consistent when checking the returned transaction hash.
TypeScript
The function returns a completed Base Sepolia transaction hash whose recipient is the merchant.
See the complete verified payment fixtures for client construction, ABIs, and runnable projects.

Verify before fulfillment

A successful wallet prompt is not a fulfillment signal. Verify the recipient, token, sender, amount, memo when present, and replay state on your backend.

Verify a payment

Validate settlement and claim each transaction hash exactly once.

See also