Запустите автоматизацию депозитов, не изобретая менеджер курсов.
Интеграция бота — это не браузерный флоу с убранными кнопками. Ей нужны предотвращение дублирования, устойчивое к перезапуску состояние, явное хранение кошелька, верификация webhook и чёткое правило о том, когда ликвидность должна быть приватной.
Последовательность бота
- 1Загрузите кошелёк-клиент Base из вашей собственной инфраструктуры подписания.
- 2Вызывайте deposits(walletAddress) перед созданием нового депозита; переиспользуйте активный инвентарь, когда он подходит под ордер.
- 3Вызывайте offramp(walletClient, params) с integratorId и referralId, чтобы автоматизацию можно было идентифицировать.
- 4Используйте otcTaker, когда покупатель уже известен; иначе депозит публично доступен для заполнения.
- 5Сохраняйте depositId, txHash, platform, currency, amount и предполагаемый контекст покупателя.
- 6Регистрируйте HMAC-webhooks, чтобы заполнения и закрытия пережили перезапуски процесса.
Дисциплина повторов
- SDK возобновляет неделегированные депозиты, делегируя их вместо создания дубликата.
- Кэширование idempotencyKey в браузере не защищает Node-воркеры. Ваш воркер должен проверять deposits(address) перед созданием новой ликвидности.
- Если делегирование не удаётся после создания, повторите тот же маршрут кошелька; путь возобновления рассчитан на это состояние.
- Не повторяйте USER_CANCELLED автоматически. Это указывает, что подписант отклонил запрос.
Полезные паттерны ботов
Очередь зарплат или выплат
Создавайте один приватный OTC-депозит на каждый известный кошелёк покупателя, затем отправляйте возвращённую ссылку.
Бот казначейской ликвидности
Поддерживайте небольшой делегированный депозит на предпочтительном маршруте и пополняйте после подтверждённых webhook заполнений.
Сверка для поддержки
Используйте depositId и txHash как хэндлы для поддержки, затем сверяйте через deposits(address).
Keep exploring
Common questions
Может ли бэкенд создавать депозиты без пользовательского кошелька?
Да, если у него есть собственный подписант Base и баланс USDC. SDK подписывает через viem WalletClient, который вы предоставляете; хранение и управление ключами остаётся за вами.
Предотвращает ли idempotencyKey дублирование депозитов бота?
Нет. idempotencyKey привязан к браузерной сессии. В Node или воркерах используйте deposits(address) и собственную базу данных ордеров для предотвращения дублирования инвентаря.