Spendable
links.
Put USDC in a link and send it anywhere. Whoever holds it pays straight from the link: scan a payment code, tap Pay. No app, no wallet, no gas.
Sign in with Google or email · testnet only- to escrow and write
- 1 tx
- to pay on Monad
- ≈ 10 s
- networks it pays out on
- 10
- for the person spending
- 0 gas
Write. Share. Spend.
Two people, one link. From a funded wallet to a paid address in under a minute.
- 01
Write
Type an amount and how long it lasts. One transaction escrows the USDC and writes the cheque, so it can't bounce.
One tap · ≈ 5 s - 02
Share
The link carries a one-off spending key in its fragment, the part of a URL that never reaches a server. Send it in any chat or show it as a QR code.
Any chat · or a QR code - 03
Spend
The link opens straight to the camera. Scan a USDC payment code or enter an address, check the amount, pay.
≈ 10 s on Monad · ≈ 30 s elsewhere
Spend, don't claim.
Most payment links make the receiver claim the money into a new wallet first. A spendable link skips that step: the link itself pays.
Any USDC address on 10 networks
- MonadDirect
- BaseCircle CCTP
- ArbitrumCircle CCTP
- OptimismCircle CCTP
- PolygonCircle CCTP
- AvalancheCircle CCTP
- UnichainCircle CCTP
- LineaCircle CCTP
- World ChainCircle CCTP
- EthereumCircle CCTP
Built like a cheque.
Safer than one.
Each cheque is a narrow permission, not a wallet. Its key can only move its own escrowed USDC, only until its date, and only within the fee allowance you set.
- Escrowed
- Funds are set aside when the cheque is written. It always clears.
- Capped
- A link can never spend more than the amount on it.
- Dated
- Every cheque expires. Reclaim what's left with one tap.
- Cancellable
- Stop a cheque instantly; unspent USDC and fees come back.
- Fee-fenced
- Each cheque has its own gas allowance, and requests that would fail are refused before they cost anything.
- Private by design
- The spending key lives only in the link. Pippo's server never sees it.
- Backed up to your passkey
- Links are sealed on-chain with a key only your passkey can derive, so they open on any device it syncs to.
Simple on top. Solid underneath.
The hard parts live in a smart account, a permit, a passkey and Circle's cross-chain rails.
- ISSUERGoogle sign-in · writes in one tx
- CHEQUE BOOK · MONADERC-4337 account · escrow · per-cheque keys
- PAYEE ON MONADUSDC transfer · ≈ 10 sPAYEE ON 9 OTHER NETWORKSCCTP burn → Circle mints · ≈ 30 s
- ERC-4337 cheque book
- Each issuer gets a smart account. Every cheque is a one-off key that can only spend its own escrow, before its date, within its own fee allowance.
- One-transaction writes
- A USDC permit replaces the approval step. The first cheque deploys the book, funds it, deposits fees and writes the cheque in a single transaction.
- Circle CCTP + forwarding
- Cross-network payments burn on Monad and Circle mints on the destination, so nobody needs a wallet or gas there.
- Passkey-sealed links
- One passkey's PRF output derives the key that seals every link on-chain. A new device restores them all with a single prompt.
- Privy sign-in
- Google or email creates an embedded wallet with no seed phrase and no pop-ups.
- Gas-checked sends
- Monad charges gas by limit, so every transaction is checked against the balance before it's sent.
A link on Monad.
A payment on Base.
A cheque key paid half a dollar to an address on Base Sepolia. Circle's Forwarding Service burned it on Monad and minted it on Base, while the issuer's deposit covered every fee.
- Paid from the link on Monad
- Burned on Monad, minted by Circle
- Delivered on Base Sepolia
- Paid from the link
- 0.500000 USDC
- From
- Monad testnet
- To
- Base Sepolia
- Circle forwarding fee
- 0.063284 USDC
- Burn → mint
- ≈ 15 s
- Gas paid by the holder
- 0 MON
Make your first
spendable link.
Sign in with Google or email, type an amount, share the link. The person holding it only needs a camera.
Open Pippo