Flow
Create the intent
customerEmail to that body if you collected one — the payer then sees
it masked and can’t change it. Leave it out and the checkout page asks them
for one before showing payment details, so a receipt always has somewhere to
go. Either way the payer never logs in.
Poll or verify
PENDING → CONFIRMED | EXPIRED | CANCELLED. Always treat the
webhook (or this GET) as the source of truth — never the browser.
Supported assets
All stablecoins on all networks Puffin supports: Solana, Ethereum, Base, Polygon, BSC, Arbitrum, Optimism, XDC —GET /v1/wallets/supported lists
the current matrix.