Разработчикам · Боты

Запустите автоматизацию депозитов, не изобретая менеджер курсов.

Интеграция бота — это не браузерный флоу с убранными кнопками. Ей нужны предотвращение дублирования, устойчивое к перезапуску состояние, явное хранение кошелька, верификация webhook и чёткое правило о том, когда ликвидность должна быть приватной.

01

Последовательность бота

  1. 1Загрузите кошелёк-клиент Base из вашей собственной инфраструктуры подписания.
  2. 2Вызывайте deposits(walletAddress) перед созданием нового депозита; переиспользуйте активный инвентарь, когда он подходит под ордер.
  3. 3Вызывайте offramp(walletClient, params) с integratorId и referralId, чтобы автоматизацию можно было идентифицировать.
  4. 4Используйте otcTaker, когда покупатель уже известен; иначе депозит публично доступен для заполнения.
  5. 5Сохраняйте depositId, txHash, platform, currency, amount и предполагаемый контекст покупателя.
  6. 6Регистрируйте HMAC-webhooks, чтобы заполнения и закрытия пережили перезапуски процесса.
02

Дисциплина повторов

  • SDK возобновляет неделегированные депозиты, делегируя их вместо создания дубликата.
  • Кэширование idempotencyKey в браузере не защищает Node-воркеры. Ваш воркер должен проверять deposits(address) перед созданием новой ликвидности.
  • Если делегирование не удаётся после создания, повторите тот же маршрут кошелька; путь возобновления рассчитан на это состояние.
  • Не повторяйте USER_CANCELLED автоматически. Это указывает, что подписант отклонил запрос.

Common questions

Может ли бэкенд создавать депозиты без пользовательского кошелька?

Да, если у него есть собственный подписант Base и баланс USDC. SDK подписывает через viem WalletClient, который вы предоставляете; хранение и управление ключами остаётся за вами.

Предотвращает ли idempotencyKey дублирование депозитов бота?

Нет. idempotencyKey привязан к браузерной сессии. В Node или воркерах используйте deposits(address) и собственную базу данных ордеров для предотвращения дублирования инвентаря.