1
Seller deposits USDC and adds their Venmo
The seller creates a listing, deposits USDC into the escrow smart contract on Base, and provides their public Venmo username. Funds are locked on-chain until the trade completes.
Trustless USDC escrow with automated Venmo verification
1
The seller creates a listing, deposits USDC into the escrow smart contract on Base, and provides their public Venmo username. Funds are locked on-chain until the trade completes.
2
A buyer claims the listing, locking it so no one else can take it. The buyer sends the exact USDC amount in fiat via Venmo to the seller, using the unique trade code as the payment note — for example CAPO-4829.
3
Once the buyer marks payment as sent, Capo P2P automatically checks the seller's public Venmo feed for a payment from the buyer containing the trade code. No screenshots needed — we verify directly on Venmo.
4
When the payment is detected, the seller is notified to check their Venmo and confirm the amount matches. Once confirmed, the seller releases the USDC to the buyer. The buyer receives USDC minus a 1 USDC protocol fee.
5
If something goes wrong, either party can open a dispute. The arbitrator reviews the Venmo verification record and any additional evidence. See the Disputes page for full details.
Venmo has a public transaction feed that lets us verify payments without requiring access to your bank account. This means no KYC, no bank login, and automated verification.
Yes. Both buyer and seller must have public Venmo profiles for verification to work. Set this in Venmo Settings → Privacy → set to Public.
Make sure your Venmo is set to public, the payment note is exactly CAPO-{tradeId}, and you've waited 2-3 minutes for Venmo to update. If it still fails you can open a dispute.
No. Funds are held by a smart contract on Base, not by Capo P2P.
1 USDC per completed trade.
Any EVM wallet on Base. We recommend MetaMask or Rabby.
Need help with a live trade or verification issue? Contact us on Telegram.
Contact us on Telegram