Cara ZKP2P mengubah pembayaran fiat menjadi pelepasan USDC onchain.
ZKP2P adalah protokol di balik USDCtoFiat. Penjual mengunci USDC dalam smart contract Base, pembeli membayar fiat melalui aplikasi pembayaran biasa, dan attestasi pembayaran yang ditandatangani membuka kunci USDC setelah pembayaran sesuai dengan pesanan.
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
- 1Penjual menyetor USDC native di Base ke EscrowV2 dan menyatakan metode pembayaran yang diterima, mata uang, dan detail penerima pembayaran.
- 2Pembeli memilih deposit dan menandai intent melalui OrchestratorV2. Intent tersebut mereservasi jumlah tertentu sementara pembeli membayar.
- 3Pembeli membayar penjual langsung di aplikasi fiat yang dipilih. USDCtoFiat tidak pernah menerima atau menyimpan transfer fiat.
- 4Bukti pembayaran diverifikasi terhadap intent: jumlah, mata uang, penerima, cap waktu, metode pembayaran, dan batasan rute.
- 5Layanan 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.
Escrow non-kustodial ditambah attestasi pembayaran offchain.
ZKP2P V3 memindahkan penguraian pembayaran ke offchain dan menjaga aturan pelepasan akhir onchain, itulah mengapa UX penjual dapat mendukung lebih banyak metode pembayaran tanpa kontrak verifier bespoke untuk setiap rel.
Alur aplikasi pembayaran yang tepat dapat berbeda per metode. Pengaturan penjual Wise dan PayPal memerlukan registrasi ekstensi satu kali.
Keep exploring
Common questions
Apa itu USDCtoFiat?
USDCtoFiat memungkinkan Anda menjual USDC di Base untuk uang di Venmo, Cash App, Chime, Revolut, Wise, Zelle, PayPal, dan Monzo. Anda tetap mengontrol wallet Anda, dan perdagangan diselesaikan melalui smart contract ZKP2P non-kustodial di Base.
Apakah USDCtoFiat menyimpan dana saya?
Tidak. Anda menandatangani setiap transaksi dari wallet Anda sendiri. USDC Anda terkunci dalam kontrak Base publik dan hanya dilepaskan ke pembeli setelah pembayaran mereka terbukti. Anda dapat menarik deposit yang belum terisi kapan saja.
Berapa biaya untuk menjual?
Membuat dan mengelola deposit penjual gratis, meskipun gas Base berlaku untuk tindakan onchain. SDK offramp gratis untuk diintegrasikan. Untuk pengisian yang didelegasikan, biaya manajer 0,10% Delegate diambil dari USDC yang dilepaskan ke pembeli, bukan dari hasil fiat atau tarif yang Anda kutip. Analitik Peerlytics, webhook, dan kredit API memiliki harga terpisah.
Apakah saya memerlukan akun bursa terpusat?
Tidak diperlukan akun bursa untuk menggunakan USDCtoFiat. Anda memerlukan wallet yang menyimpan USDC di Base dan akun di aplikasi pembayaran tempat Anda ingin dibayar. Aturan dan batasan akun aplikasi pembayaran itu sendiri tetap berlaku.
Apakah saya perlu menyelesaikan KYC?
USDCtoFiat tidak mengumpulkan dokumen identitas, menyimpan fiat Anda, atau menyimpan kunci Anda. Aplikasi pembayaran yang Anda gunakan masih mengontrol verifikasi, batasan, dan aturan akunnya sendiri. Penyelesaian USDC terjadi melalui smart contract Base, dan kami tidak dapat mengubah apa yang diminta Venmo, PayPal, Wise, Zelle, atau bank Anda.
Apakah ZKP2P sama dengan USDCtoFiat?
Tidak. ZKP2P adalah protokol dan sistem kontrak yang mendasarinya. USDCtoFiat adalah produk yang berfokus pada penjual yang dibangun di atasnya untuk mengubah USDC Base menjadi fiat melalui aplikasi pembayaran yang didukung.
Bisakah pembayaran fiat yang sama melepaskan USDC dua kali?
Tidak. Attestasi pembayaran menyertakan nullifier, penanda satu kali yang diperiksa oleh verifier untuk mencegah pemutaran ulang pembayaran yang sama terhadap beberapa intent.
Apa yang terjadi jika pembeli memulai intent tetapi tidak pernah membayar?
Bagian dari deposit penjual tersebut sementara terikat pada intent terbuka hingga kedaluwarsa atau dibatalkan. Likuiditas yang belum terisi tetap dapat ditarik oleh penjual.