Off-ramp basics

A USDC off-ramp turns USDC into money you can spend.

An off-ramp is the path from onchain USDC to cash in a bank account, card, exchange account, or payment app. USDCtoFiat uses non-custodial peer-to-peer smart contracts on Base.

Volume traded on Base
$18.38M

37,927 completed trades through the ZKP2P Protocol.

Protocol participants
12,708

Unique makers and takers across the ZKP2P Protocol.

USDCtoFiat liquidity created
$503.8k

342 USDCtoFiat deposits created by 85 makers.

Delegate volume filled
$213.3k

1,013 Delegate fills, including $43.0k over the trailing 30 days.

01

Off-ramp models

ModelHow it worksPrimary risk
P2P smart contractLock USDC, receive payment from a buyerBuyer demand and app limits
ExchangeCustody USDC, sell, withdraw fiatCustodial holds and account limits
OTCBrokered counterparty settlementMinimums and onboarding
CardSpend against a stablecoin balanceFees and availability
02

How the P2P smart-contract flow works

  1. 01You lock USDC in the ZKP2P contract on Base and choose a payment app, currency, and payout handle.
  2. 02A buyer chooses your deposit and starts the trade onchain.
  3. 03The buyer pays you directly through the payment app you selected.
  4. 04Once payment is proven, the contract releases your USDC to the buyer.
03

Why settlement on Base is verifiable

Every deposit, buyer trade, and release is a transaction on Base. You can inspect the flow yourself instead of trusting a private dashboard.

Verifiable onchain

The contract path is public. Check it on Base.

USDC stays in a public contract until payment is proven. Every deposit, buyer trade, and release is visible onchain.

These addresses are protocol infrastructure, not custodial wallets. USDCtoFiat cannot move seller funds outside the contract rules.

NetworkBasechain ID 8453
EscrowV20x777777779d229cdF3110e9de47943791c26300EfZKP2P deposit contract
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Circle, native on Base
Orchestrator0x888888359E981B5225CA48fbCdCeff702FC3b888buyer trades and verification

Keep exploring

Common questions

What is USDCtoFiat?

USDCtoFiat lets you sell USDC on Base for money in Venmo, Cash App, Chime, Revolut, Wise, Zelle, PayPal, and Monzo. You keep control of your wallet, and trades settle through non-custodial ZKP2P smart contracts on Base.

Does USDCtoFiat hold my funds?

No. You sign every transaction from your own wallet. Your USDC is locked in a public Base contract and releases to the buyer only after their payment is proven. You can withdraw any unfilled deposit at any time.

What does it cost to sell?

Creating and managing a seller deposit is free, though Base gas applies to onchain actions. The offramp SDK is free to integrate. On delegated fills, Delegate's 0.10% manager fee comes from the USDC released to the buyer, not from your fiat proceeds or your quoted rate. Peerlytics analytics and API credits are priced separately.

Do I need a centralized exchange account?

No exchange account is required to use USDCtoFiat. You need a wallet holding USDC on Base and an account on the payment app you want to be paid in. The payment app's own account rules and limits still apply.

Do I need to complete KYC?

USDCtoFiat does not collect identity documents, hold your fiat, or hold your keys. The payment app you use still controls its own verification, limits, and account rules. USDC settlement happens through Base smart contracts, and we cannot change what Venmo, PayPal, Wise, Zelle, or your bank requires.

Is a P2P off-ramp safe?

Your USDC stays in a public Base contract and only releases once the buyer's payment is proven, so a buyer cannot take your USDC without paying. The real limits are demand and follow-through: a deposit fills only when a buyer wants your payment method and rate, and a buyer who starts but never completes payment can briefly tie up that part of your deposit. You can withdraw unfilled deposits whenever you want.