Versi singkat
Penjual membuat deposit dengan mengunci USDC di EscrowV2 di Base dan mendaftarkan metode pembayaran fiat, mata uang, pengenal pembayaran, dan tarif. Pembeli memilih likuiditas tersebut, memulai intent onchain, membayar penjual di aplikasi pembayaran yang dipilih, dan mengirimkan bukti pembayaran.
Protokol tidak meminta salah satu pihak untuk mempercayai tangkapan layar obrolan. Bukti pembayaran diperiksa offchain oleh layanan attestasi, dan EIP-712 PaymentAttestation yang dihasilkan diverifikasi onchain sebelum kontrak melepaskan USDC.
Siklus hidup pengisian
- 01Penjual menyetor USDC native di Base ke EscrowV2 dan menyatakan metode pembayaran yang diterima, mata uang, dan detail penerima pembayaran.
- 02Pembeli memilih deposit dan menandai intent melalui OrchestratorV2. Intent tersebut mereservasi jumlah tertentu sementara pembeli membayar.
- 03Pembeli membayar penjual langsung di aplikasi fiat yang dipilih. USDCtoFiat tidak pernah menerima atau menyimpan transfer fiat.
- 04Bukti pembayaran diverifikasi terhadap intent: jumlah, mata uang, penerima, cap waktu, metode pembayaran, dan batasan rute.
- 05Layanan attestasi menandatangani PaymentAttestation. Verifier onchain memeriksa tanda tangan, nilai snapshot, dan nullifier, lalu OrchestratorV2 melepaskan USDC.
Mengapa kontrak dapat melepaskan dengan aman
| Primitif | Apa yang dilakukannya | Mengapa penting |
|---|---|---|
| EscrowV2 | Menyimpan USDC penjual di Base | Baik USDCtoFiat maupun pembeli tidak dapat memindahkannya tanpa aturan kontrak |
| Hash intent | Mengidentifikasi satu pesanan pembeli | Mengikat bukti pembayaran fiat ke pengisian yang tepat |
| PaymentAttestation | Hasil verifikasi bertanda tangan EIP-712 | Memungkinkan satu kontrak verifier menangani berbagai metode pembayaran |
| Nullifier | Penanda satu kali untuk pembayaran | Mencegah pembayaran yang sama diklaim dua kali |
| Hash detail penerima pembayaran | Hash dari pengenal pembayaran penjual | Mengikat pembayaran ke penjual tanpa mempublikasikan handle onchain |
Apa yang tidak ada onchain
Nama pengguna Venmo, Revtag, Wisetag, handle PayPal.me, email Zelle, sesi akun, dan data pembayaran terperinci Anda tidak diposting ke Base. Rantai melihat status kontrak, hash, tanda tangan, jumlah, dan peristiwa pelepasan, bukan riwayat akun pembayaran pribadi lengkap.
Pengenal pembayaran Anda tetap terlihat oleh counterparty yang perlu membayar Anda. Hal itu tidak dapat dihindari dalam alur penyelesaian aplikasi pembayaran apa pun: pembeli tidak dapat mengirim fiat tanpa tujuan.