Краткая версия
Продавец создаёт депозит, блокируя USDC в EscrowV2 на Base и указывая фиатный способ оплаты, валюту, идентификатор для выплаты и курс. Покупатель выбирает эту ликвидность, запускает ончейн-намерение, платит продавцу в выбранном платёжном приложении и предоставляет подтверждение оплаты.
Протокол не просит ни одну из сторон доверять скриншоту из чата. Подтверждение оплаты проверяется офчейн сервисом аттестации, а итоговая EIP-712 PaymentAttestation проверяется ончейн перед тем, как контракт высвободит USDC.
Жизненный цикл заполнения
- 01Продавец вносит нативные USDC на Base в EscrowV2 и объявляет принимаемые способы оплаты, валюты и реквизиты получателя.
- 02Покупатель выбирает депозит и сигнализирует о намерении через OrchestratorV2. Это намерение резервирует конкретную сумму, пока покупатель платит.
- 03Покупатель платит продавцу напрямую в выбранном фиатном приложении. USDCtoFiat никогда не получает и не хранит фиатный перевод.
- 04Подтверждение оплаты проверяется на соответствие намерению: сумма, валюта, получатель, временная метка, способ оплаты и ограничения маршрута.
- 05Сервис аттестации подписывает PaymentAttestation. Ончейн-верификатор проверяет подпись, значения снимка и нуллификатор, после чего OrchestratorV2 высвобождает USDC.
Почему контракт может высвобождать безопасно
| Примитив | Что он делает | Почему это важно |
|---|---|---|
| EscrowV2 | Хранит USDC продавца на Base | Ни USDCtoFiat, ни покупатель не могут переместить их в обход правил контракта |
| Хеш намерения | Идентифицирует один ордер покупателя | Привязывает доказательство фиатной оплаты к конкретному заполнению |
| PaymentAttestation | Результат верификации, подписанный по EIP-712 | Позволяет одному контракту-верификатору обрабатывать несколько способов оплаты |
| Нуллификатор | Одноразовый маркер для платежа | Не даёт заявить одну и ту же оплату дважды |
| Хеш реквизитов получателя | Хеш идентификатора продавца для выплаты | Привязывает оплату к продавцу, не публикуя хендл ончейн |
Что не попадает ончейн
Ваш Venmo username, Revtag, Wisetag, хендл PayPal.me, Zelle email, сессия аккаунта и детальные платёжные данные не публикуются на Base. Цепочка видит состояние контракта, хеши, подписи, суммы и события высвобождения, а не полную приватную историю платёжного аккаунта.
Ваш идентификатор для выплаты всё ещё виден контрагенту, которому нужно вам заплатить. Это неизбежно в любом процессе расчётов через платёжное приложение: покупатель не может отправить фиат без адресата.