Support
A signed message from a taker indicating they want to buy USDC from a specific deposit. Once signaled onchain, the taker has a time window to complete the fiat payment.
When you click "Buy USDC", you create an intent that reserves the USDC from the maker's deposit.
USDC locked in the protocol by a maker, available for takers to purchase with fiat. Makers set the rate, accepted currencies, and payment platforms.
A maker creates a $1,000 deposit accepting EUR via Revolut at 1.02 rate.
The onchain transaction that creates an intent, reserving USDC from a deposit for a taker to complete their purchase.
After selecting a quote, you signal your intent to lock in the rate.
The payment platform (Revolut, Venmo, Cash App, etc.) used for fiat transfers. Each platform has its own zero-knowledge proof circuit.
If you're buying via Revolut, the Revolut verifier validates your payment proof.
A liquidity provider who deposits USDC into the protocol and receives fiat payments from takers. Makers earn the spread between their rate and the market rate.
Makers are the sell-side of the market, providing USDC liquidity.
A user who buys USDC by sending fiat payment to a maker. Takers pay a slight premium (the spread) for the convenience of P2P trading.
Takers are the buy-side, exchanging fiat for USDC.
USDCtoFiat's opt-in automated rate-management service. Users create deposits first, then choose whether to let Delegate manage eligible rate settings through DRM V1.
A maker can create a deposit on USDCtoFiat, then opt it into Delegate for automated pricing.
An onchain configuration target that can update deposit pricing rules. In current product docs this is the preferred term; some older docs and indexer views still call these vaults.
Delegate is implemented as a rate manager that can update rates but cannot withdraw funds.
The projected yearly return for a maker based on their turnover rate, extrapolated from the selected time period. Higher turnover = higher APR.
A maker with 200% APR would earn $2,000 on a $1,000 deposit over a year.
The difference between a maker's rate and the mid-market exchange rate. This is the maker's profit margin on each trade.
If mid-rate is 1.00 and maker rate is 1.02, the spread is 2%.
The ratio of fill volume to deposit size, indicating how efficiently capital is being utilized. Higher turnover means the deposit is being used more actively.
A $1,000 deposit with $5,000 in fills has 5x turnover.
A group of deposits with similar characteristics (currency, platform, size range) used for benchmark comparisons.
Your EUR/Revolut deposit is compared against other EUR/Revolut deposits in its cohort.
When a maker releases USDC to a taker after verifying they received the fiat payment. This completes the trade.
After the taker submits payment proof, the maker fulfills the intent.
When an intent expires without being fulfilled, the reserved USDC returns to the maker's available balance.
If a taker doesn't complete payment in time, the intent is pruned.
A browser extension that generates zero-knowledge proofs of your fiat payment without exposing your banking credentials or transaction details.
PeerAuth proves you sent $100 via Revolut without revealing your bank balance.
A cryptographic method that proves a statement is true without revealing the underlying data. ZKP2P uses ZK proofs to verify fiat payments.
You can prove you made a payment without showing your bank statement.
The percentage of a deposit's total capacity currently locked in pending intents. High utilization means most funds are being actively used.
A deposit with $800 in pending intents out of $1,000 has 80% utilization.
How long since a deposit last had activity (fills or new intents). High staleness may indicate uncompetitive rates or low demand.
A deposit with no activity for 7 days is considered stale.
The live view of active maker liquidity across currencies, platforms, and rates. Peer Orderbook and parts of Peerlytics surface this market state.
You can check the orderbook before pricing a new deposit.
ZKP2P is an open protocol for buying and selling USDC directly with other people, using payment apps like Venmo, Revolut, and PayPal. Instead of trusting a middleman, payments are verified cryptographically and USDC is held in a smart contract until the trade completes. No exchange account or KYC required.
Peerlytics is the explorer and market intelligence layer for the ZKP2P network. You can search protocol activity, compare liquidity, inspect rates, follow addresses, and use the developer API.
No wallet is needed to browse rates, analytics, or the explorer. Connecting a wallet lets you view your own protocol profile, watchlist addresses, and manage alerts.
Revolut, Venmo, Cash App, Wise, PayPal, Monzo, N26, Chime, Mercado Pago, and Zelle (via Citi, Chase, and BofA). Over 30 currencies are supported across these platforms, with more being added regularly.
Use USDCtoFiat to create deposits and manage maker flows. Peerlytics helps you inspect live liquidity, compare market rates, and monitor the resulting protocol activity.
Use the orderbook to see what makers are charging by currency and payment method. A rate of 1.02 means buyers pay $1.02 in fiat for every $1 of USDC. Higher rates mean more spread but fewer fills; lower rates mean more volume but thinner margins.
APR estimates your annualized return based on how fast your deposit turns over. It uses your 30-day turnover rate and assumes a 0.5% average spread. For example, if your deposit fully cycles 5 times in a month, that's roughly 30% APR. Think of it as a guide, not a guarantee.
Yes. Pausing stops new buyers from claiming your USDC while any pending trades complete. Closing lets you withdraw all available USDC. You can't withdraw USDC that's currently locked in a pending trade.
A buyer locks a portion of your USDC by signaling an intent. They send you fiat through the payment method you specified. They verify the payment cryptographically using PeerAuth. Once the proof checks out, the USDC releases to their wallet automatically. You keep the fiat and the spread.
PeerAuth is a browser extension (and mobile app) that proves you actually sent a payment, without revealing your account balance or transaction history. It connects to your payment app, detects your transfer, and generates a cryptographic proof that the right amount was sent to the right person.
If you don't complete payment within 24 hours, the intent expires and the USDC returns to the seller's deposit. You won't be charged anything. Just create a new intent when you're ready to try again.
Look at the rate (lower = cheaper for you), the seller's track record (fill rate, total volume), and available liquidity. Peerlytics lets you compare quotes side by side and inspect any seller's history before committing.
The big picture: total trading volume, number of completed trades, active participants, volume trends over time, and breakdowns by currency and platform. Use the time range picker to zoom into specific periods.
The orderbook shows what sellers are currently charging, broken down by currency and payment method. Filter by the currency or platform you care about to see available rates and liquidity.
Rankings of the most active traders. Buyers earn tier badges based on lifetime volume: Peasant, Peer ($500+), Plus ($2k+), Pro ($10k+), Platinum ($25k+), and President (VIP invite). Sellers are ranked by fill volume, earnings, and APR.
A real-time feed of onchain activity: new buy signals, completed trades, and expired intents as they happen. Useful for watching network activity or tracking your own transactions.
Your personal trading dashboard. Sellers see deposit health, earnings, and fill history. Buyers see order history, success rate, and tier progress. Both get leaderboard ranking and an activity timeline.
A way to track deposits or sellers you're interested in. Watchlisted items show up in your profile so you can monitor rate changes, new fills, and liquidity shifts without searching every time.
Turn on push notifications to get alerted when someone buys from your deposit, when a watched seller changes their rate, or when key network events happen. Manage your preferences in Profile > Settings.