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'une exécution

  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 OrchestratorV4. 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 OrchestratorV4 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 à l'exécution exacte
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. Pour la plupart des méthodes, il n'est pas salé : quiconque connaît l'identifiant peut le retrouver
04

Ce qui est public

Votre identifiant de paiement n'est pas écrit en clair sur Base, mais chaque dépôt enregistre un hash de celui-ci et, pour la plupart des méthodes de paiement, ce hash n'est pas salé. Quiconque connaît ou devine votre Cashtag, Revtag, e-mail Zelle ou identifiant de compte Venmo peut le hacher et retrouver tous les dépôts qui l'utilisent, et la recherche publique de makers de ZKP2P renvoie l'identifiant enregistré pour un hash. Considérez votre identifiant de paiement comme public. Votre connexion et l'historique de votre compte dans l'app de paiement ne sont pas publiés sur Base.

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 V4

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 parcours exact dans l'application de paiement varie selon la méthode. L'enregistrement par extension ne prévaut pas sur la politique du prestataire : Wise interdit les encaissements issus de ventes crypto P2P, et PayPal peut exiger une approbation préalable.

EscrowV2
0x777777779d229cdF3110e9de47943791c26300Efcontrat de garde vendeur
OrchestratorV4
0x74c55679268FAfB493864915aD16A320AB8c40Bacycle de vie de l'intention
USDC
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913token Base natif
Verifier
UnifiedPaymentVerifierV4vérifie les attestations de paiement

Questions fréquentes

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 exécutée reste retirable par le vendeur.

Qu'est-ce que USDCtoFiat ?

USDCtoFiat coordonne des ventes non custodiales d’USDC natifs sur Base dans l’ensemble du catalogue actuel de paiements et de devises de ZKP2P, dont l’USD, l’EUR, le GBP, l’INR et le CNY. 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 exécuté.

Combien coûte la vente ?

La création et la gestion d’un dépôt vendeur sont gratuites, hors frais de gas sur Base. Pour une exécution déléguée, les frais de gestion de 0,10 % de Delegate sont prélevés sur l’USDC remis à l’acheteur, et non sur votre produit en monnaie fiduciaire ni sur votre taux affiché.

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.