Mekanika protokol

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.

01

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.

02

Siklus hidup pengisian

  1. 1Penjual menyetor USDC native di Base ke EscrowV2 dan menyatakan metode pembayaran yang diterima, mata uang, dan detail penerima pembayaran.
  2. 2Pembeli memilih deposit dan menandai intent melalui OrchestratorV2. Intent tersebut mereservasi jumlah tertentu sementara pembeli membayar.
  3. 3Pembeli membayar penjual langsung di aplikasi fiat yang dipilih. USDCtoFiat tidak pernah menerima atau menyimpan transfer fiat.
  4. 4Bukti pembayaran diverifikasi terhadap intent: jumlah, mata uang, penerima, cap waktu, metode pembayaran, dan batasan rute.
  5. 5Layanan attestasi menandatangani PaymentAttestation. Verifier onchain memeriksa tanda tangan, nilai snapshot, dan nullifier, lalu OrchestratorV2 melepaskan USDC.
03

Mengapa kontrak dapat melepaskan dengan aman

PrimitifApa yang dilakukannyaMengapa penting
EscrowV2Menyimpan USDC penjual di BaseBaik USDCtoFiat maupun pembeli tidak dapat memindahkannya tanpa aturan kontrak
Hash intentMengidentifikasi satu pesanan pembeliMengikat bukti pembayaran fiat ke pengisian yang tepat
PaymentAttestationHasil verifikasi bertanda tangan EIP-712Memungkinkan satu kontrak verifier menangani berbagai metode pembayaran
NullifierPenanda satu kali untuk pembayaranMencegah pembayaran yang sama diklaim dua kali
Hash detail penerima pembayaranHash dari pengenal pembayaran penjualMengikat pembayaran ke penjual tanpa mempublikasikan handle onchain
04

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.

Jalur produksi V3

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.

EscrowV20x777777779d229cdF3110e9de47943791c26300Efkontrak kustodi penjual
OrchestratorV20x888888359E981B5225CA48fbCdCeff702FC3b888siklus hidup intent
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913token Base native
VerifierUnifiedPaymentVerifierV2memeriksa attestasi pembayaran

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.