Mécanique du protocole

Comment ZKP2P transforme un paiement en fiat en une libération d'USDC onchain.

ZKP2P est le protocole sous-jacent à USDCtoFiat. Les vendeurs verrouillent leurs USDC dans un smart contract Base, les acheteurs paient du fiat via une application de paiement classique, et une attestation de paiement signée débloque les USDC une fois que le paiement correspond à l'ordre.

01

La version courte

Un vendeur crée un dépôt en verrouillant ses USDC dans EscrowV2 sur Base et en listant la méthode de paiement en fiat, la devise, l'identifiant de versement et le taux. Un acheteur choisit cette liquidité, lance une intention onchain, paie le vendeur dans l'application de paiement sélectionnée, et soumet une preuve de paiement.

Le protocole ne demande à aucune des deux parties de faire confiance à une capture d'écran de chat. La preuve de paiement est vérifiée offchain par le service d'attestation, et le PaymentAttestation EIP-712 résultant est vérifié onchain avant que le contrat ne libère les USDC.

02

Le cycle de vie d'un remplissage

  1. 01Le vendeur dépose des USDC natifs sur Base dans EscrowV2 et déclare les méthodes de paiement, devises et coordonnées de bénéficiaire acceptées.
  2. 02L'acheteur sélectionne le dépôt et signale une intention via OrchestratorV2. Cette intention réserve le montant précis pendant que l'acheteur paie.
  3. 03L'acheteur paie le vendeur directement dans l'application fiat sélectionnée. USDCtoFiat ne reçoit ni ne détient jamais le transfert en fiat.
  4. 04La preuve de paiement est vérifiée par rapport à l'intention : montant, devise, destinataire, horodatage, méthode de paiement et contraintes de route.
  5. 05Le service d'attestation signe un PaymentAttestation. Le vérificateur onchain contrôle la signature, les valeurs de l'instantané et le nullifier, puis OrchestratorV2 libère les USDC.
03

Pourquoi le contrat peut libérer en toute sécurité

PrimitiveCe qu'elle faitPourquoi c'est important
EscrowV2Détient les USDC du vendeur sur BaseNi USDCtoFiat ni l'acheteur ne peuvent les déplacer en dehors des règles du contrat
Hash d'intentionIdentifie un ordre acheteurLie la preuve de paiement en fiat au remplissage exact
PaymentAttestationRésultat de vérification signé EIP-712Permet à un seul contrat vérificateur de gérer plusieurs méthodes de paiement
NullifierMarqueur à usage unique pour un paiementEmpêche que le même paiement soit réclamé deux fois
Hash des coordonnées du bénéficiaireHash de l'identifiant de versement du vendeurLie le paiement au vendeur sans publier l'identifiant onchain
04

Ce qui n'est pas onchain

Votre nom d'utilisateur Venmo, votre Revtag, votre Wisetag, votre identifiant PayPal.me, votre e-mail Zelle, votre session de compte et vos données de paiement détaillées ne sont pas publiés sur Base. La chaîne voit l'état du contrat, des hashes, des signatures, des montants et des événements de libération, pas l'historique complet et privé de votre compte de paiement.

Votre identifiant de versement reste visible pour la contrepartie qui doit vous payer. C'est inévitable dans tout flux de règlement sur application de paiement : l'acheteur ne peut pas envoyer de fiat sans destination.

Chemin de production V3

Séquestre non custodial plus attestation de paiement offchain.

ZKP2P V3 déplace l'analyse du paiement offchain et garde les règles de libération finale onchain, ce qui explique pourquoi l'UX vendeur peut prendre en charge plus de méthodes de paiement sans contrat vérificateur sur mesure pour chaque rail.

Le flux exact de paiement-app diffère par la méthode. L'enregistrement d'extension ne remplace pas la politique du fournisseur : Wise interdit les reçus crypto-vente P2P, et PayPal peut exiger une approbation préalable.

EscrowV2
0x777777779d229cdF3110e9de47943791c26300Efcontrat de garde vendeur
OrchestratorV2
0x888888359E981B5225CA48fbCdCeff702FC3b888cycle de vie de l'intention
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913token Base natif
Verifier
UnifiedPaymentVerifierV2vérifie les attestations de paiement

Poursuivre l’exploration

Questions fréquentes

Qu'est-ce que USDCtoFiat ?

USDCtoFiat coordonne des ventes non custodiales d’USDC natifs sur Base contre des USD, EUR ou GBP via les smart contracts ZKP2P. Les conditions d’éligibilité du prestataire de paiement et ses règles de compte continuent de s’appliquer ; la prise en charge technique d’une voie ne constitue pas une autorisation d’utiliser un compte externe, et Wise interdit actuellement les encaissements issus de ventes crypto P2P.

USDCtoFiat détient-il mes fonds ?

Non. Vous signez chaque transaction depuis votre propre wallet. Vos USDC sont verrouillés dans un contrat Base public et ne sont libérés à l'acheteur qu'une fois son paiement prouvé. Vous pouvez retirer à tout moment tout dépôt non rempli.

Combien coûte la vente ?

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.

Ai-je besoin d'un compte sur une plateforme d'échange centralisée ?

Aucun compte de plateforme d'échange n'est requis pour utiliser USDCtoFiat. Il vous faut un wallet détenant des USDC sur Base et un compte sur l'application de paiement sur laquelle vous voulez être payé. Les règles et limites de compte propres à l'application de paiement s'appliquent toujours.

Dois-je effectuer un KYC ?

USDCtoFiat ne collecte pas de documents d'identité, ne détient pas votre fiat et ne détient pas vos clés. L'application de paiement que vous utilisez contrôle toujours sa propre vérification, ses limites et ses règles de compte. Le règlement des USDC se fait via des smart contracts Base, et nous ne pouvons pas modifier ce qu'exigent Venmo, PayPal, Wise, Zelle ou votre banque.

ZKP2P est-il la même chose que USDCtoFiat ?

Non. ZKP2P est le protocole et le système de contrats sous-jacents. USDCtoFiat est un produit centré sur le vendeur construit par-dessus pour transformer des USDC Base en fiat via des applications de paiement prises en charge.

Le même paiement en fiat peut-il libérer des USDC deux fois ?

Non. Les attestations de paiement incluent un nullifier, un marqueur à usage unique vérifié par le vérificateur pour empêcher de rejouer le même paiement contre plusieurs intentions.

Que se passe-t-il si l'acheteur lance une intention mais ne paie jamais ?

Cette portion du dépôt vendeur est temporairement liée à l'intention ouverte jusqu'à ce qu'elle expire ou soit annulée. La liquidité non remplie reste retirable par le vendeur.