Механика протокола

Как ZKP2P превращает фиатную оплату в ончейн-высвобождение USDC.

ZKP2P — это протокол, лежащий в основе USDCtoFiat. Продавцы блокируют USDC в смарт-контракте Base, покупатели платят фиатом через обычное платёжное приложение, а подписанная аттестация платежа разблокирует USDC после того, как оплата совпадает с ордером.

01

Краткая версия

Продавец создаёт депозит, блокируя USDC в EscrowV2 на Base и указывая фиатный способ оплаты, валюту, идентификатор для выплаты и курс. Покупатель выбирает эту ликвидность, запускает ончейн-намерение, платит продавцу в выбранном платёжном приложении и предоставляет подтверждение оплаты.

Протокол не просит ни одну из сторон доверять скриншоту из чата. Подтверждение оплаты проверяется офчейн сервисом аттестации, а итоговая EIP-712 PaymentAttestation проверяется ончейн перед тем, как контракт высвободит USDC.

02

Жизненный цикл заполнения

  1. 1Продавец вносит нативные USDC на Base в EscrowV2 и объявляет принимаемые способы оплаты, валюты и реквизиты получателя.
  2. 2Покупатель выбирает депозит и сигнализирует о намерении через OrchestratorV2. Это намерение резервирует конкретную сумму, пока покупатель платит.
  3. 3Покупатель платит продавцу напрямую в выбранном фиатном приложении. USDCtoFiat никогда не получает и не хранит фиатный перевод.
  4. 4Подтверждение оплаты проверяется на соответствие намерению: сумма, валюта, получатель, временная метка, способ оплаты и ограничения маршрута.
  5. 5Сервис аттестации подписывает PaymentAttestation. Ончейн-верификатор проверяет подпись, значения снимка и нуллификатор, после чего OrchestratorV2 высвобождает USDC.
03

Почему контракт может высвобождать безопасно

ПримитивЧто он делаетПочему это важно
EscrowV2Хранит USDC продавца на BaseНи USDCtoFiat, ни покупатель не могут переместить их в обход правил контракта
Хеш намеренияИдентифицирует один ордер покупателяПривязывает доказательство фиатной оплаты к конкретному заполнению
PaymentAttestationРезультат верификации, подписанный по EIP-712Позволяет одному контракту-верификатору обрабатывать несколько способов оплаты
НуллификаторОдноразовый маркер для платежаНе даёт заявить одну и ту же оплату дважды
Хеш реквизитов получателяХеш идентификатора продавца для выплатыПривязывает оплату к продавцу, не публикуя хендл ончейн
04

Что не попадает ончейн

Ваш Venmo username, Revtag, Wisetag, хендл PayPal.me, Zelle email, сессия аккаунта и детальные платёжные данные не публикуются на Base. Цепочка видит состояние контракта, хеши, подписи, суммы и события высвобождения, а не полную приватную историю платёжного аккаунта.

Ваш идентификатор для выплаты всё ещё виден контрагенту, которому нужно вам заплатить. Это неизбежно в любом процессе расчётов через платёжное приложение: покупатель не может отправить фиат без адресата.

Продакшн-путь V3

Некастодиальный эскроу плюс офчейн-аттестация платежа.

ZKP2P V3 переносит разбор платежа офчейн и оставляет финальные правила высвобождения ончейн, поэтому UX продавца может поддерживать больше способов оплаты без отдельного контракта-верификатора для каждого рельса.

Точный процесс платёжного приложения может различаться по способу. Настройка продавца Wise и PayPal требует однократной регистрации расширения.

EscrowV20x777777779d229cdF3110e9de47943791c26300Efконтракт хранения продавца
OrchestratorV20x888888359E981B5225CA48fbCdCeff702FC3b888жизненный цикл намерения
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913нативный токен Base
VerifierUnifiedPaymentVerifierV2проверяет аттестации платежей

Common questions

Что такое USDCtoFiat?

USDCtoFiat позволяет продавать USDC на Base за деньги в Venmo, Cash App, Chime, Revolut, Wise, Zelle, PayPal и Monzo. Вы сохраняете контроль над своим кошельком, а сделки рассчитываются через некастодиальные смарт-контракты ZKP2P на Base.

Хранит ли USDCtoFiat мои средства?

Нет. Вы подписываете каждую транзакцию из собственного кошелька. Ваши USDC заблокированы в публичном контракте на Base и высвобождаются покупателю только после подтверждения его оплаты. Любой незаполненный депозит можно вывести в любой момент.

Сколько стоит продажа?

Создание и управление депозитом продавца бесплатно, хотя за ончейн-действия взимается газ Base. Интеграция offramp SDK бесплатна. При делегированных заполнениях комиссия менеджера Delegate в 0.10% берётся из USDC, высвобождаемых покупателю, а не из вашей фиатной выручки или вашей котировки. Аналитика Peerlytics, вебхуки и кредиты API оплачиваются отдельно.

Нужен ли мне аккаунт на централизованной бирже?

Для использования USDCtoFiat биржевой аккаунт не нужен. Вам нужен кошелёк с USDC на Base и аккаунт в платёжном приложении, в котором вы хотите получить оплату. Правила и лимиты самого платёжного приложения по-прежнему действуют.

Нужно ли проходить KYC?

USDCtoFiat не собирает документы, удостоверяющие личность, не хранит ваш фиат и не хранит ваши ключи. Платёжное приложение, которым вы пользуетесь, по-прежнему контролирует собственную верификацию, лимиты и правила аккаунта. Расчёты в USDC проходят через смарт-контракты Base, и мы не можем изменить требования Venmo, PayPal, Wise, Zelle или вашего банка.

ZKP2P — это то же самое, что USDCtoFiat?

Нет. ZKP2P — это базовый протокол и система контрактов. USDCtoFiat — это ориентированный на продавца продукт поверх него для превращения Base USDC в фиат через поддерживаемые платёжные приложения.

Может ли одна фиатная оплата высвободить USDC дважды?

Нет. Аттестации платежей включают нуллификатор — одноразовый маркер, проверяемый верификатором, чтобы предотвратить повторное использование одной и той же оплаты против нескольких намерений.

Что будет, если покупатель начнёт намерение, но так и не заплатит?

Эта часть депозита продавца временно привязана к открытому намерению, пока оно не истечёт или не будет отменено. Незаполненная ликвидность остаётся доступной для вывода продавцом.