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
$20.23M

44,982 completed trades through the ZKP2P Protocol.

Protocol participants
14,158

Unique makers and takers across the ZKP2P Protocol.

USDCtoFiat liquidity created
$598.9k

352 USDCtoFiat deposits created by 86 makers.

Delegate volume filled
$246.7k

1,230 Delegate fills, including $18.9k 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.

Network
Basechain ID 8453
EscrowV2
0x777777779d229cdF3110e9de47943791c26300EfZKP2P deposit contract
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Circle, native on Base
Orchestrator
0x014025fDE093f8701d86e9f38e2C3a9b779cb5c7buyer trades and verification

Common questions

What is USDCtoFiat?

USDCtoFiat coordinates non-custodial sales of native Base USDC for USD, EUR, or GBP through ZKP2P smart contracts. Payment-provider eligibility and account policies still apply; technical route support is not permission to use an external account, and Wise currently prohibits P2P crypto-sale receipts.

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.