Ограничьте депозит USDC одним кошельком покупателя в коде.
Приватный OTC превращает публичный депозит в маршрут на одного покупателя. Это нужный инструмент, когда ваш продукт уже знает контрагента: выплата в стиле зарплаты, согласованная сделка или расчёт с известным покупателем.
Создание ограниченного депозита
- 1Вызовите offramp(walletClient, { amount, platform, currency, identifier, otcTaker }).
- 2SDK создаёт депозит, затем прикрепляет хук whitelist для кошелька otcTaker.
- 3Прочитайте otcLink из результата и отправьте его одобренному покупателю.
- 4Любой кошелёк, кроме otcTaker, отклоняется ончейн, прежде чем сможет начать заполнение.
Управление ограничением на существующих депозитах
| Хелпер | Что делает |
|---|---|
| enableOtc(walletClient, depositId, taker) | Ограничить существующий депозит одним кошельком покупателя |
| disableOtc(walletClient, depositId) | Снять ограничение и вернуть депозит в публичный доступ |
| getOtcLink(depositId) | Сформировать ссылку для покупателя по ограниченному депозиту |
Почему требуется больше одной транзакции
createDeposit в EscrowV2 не принимает параметр whitelist, поэтому SDK прикрепляет хук отдельной транзакцией после того, как депозит уже существует. Ограничение обеспечивает контракт Base, а не интерфейс или ссылка, поэтому неодобренный кошелёк отклоняется ончейн, даже если у него есть ссылка.
Хук whitelist охраняет депозит, а не ссылку.
OTC-ссылка — это удобство. Реальную защиту даёт pre-intent-хук, прикреплённый к депозиту на Base.
createDeposit не принимает параметр whitelist, поэтому хук прикрепляется отдельной транзакцией.
Keep exploring
Common questions
Как сделать депозит приватным в коде?
Передайте otcTaker в offramp() при создании депозита либо вызовите enableOtc на существующем депозите. SDK прикрепляет ончейн-хук whitelist, чтобы заполнить мог только этот кошелёк покупателя, и возвращает otcLink для отправки.
Можно ли позже сменить одобренного покупателя?
Да. Используйте disableOtc, чтобы снять ограничение, или повторно вызовите enableOtc с новым taker. Каждое изменение — это ончейн-обновление, и новый покупатель должен использовать получившуюся ссылку на депозит.
Устраняет ли приватный OTC риск платёжного приложения?
Нет. Он ограничивает, кто может заполнить депозит. Фиатная часть по-прежнему проходит через выбранное платёжное приложение с его лимитами, проверками и поведением при возвратах.