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

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

A bot integration is not a browser flow with the buttons removed. It needs duplicate prevention, restart-safe state, explicit wallet custody, and a clear rule for when liquidity should be private.

01

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

  1. 01Загрузите кошелёк-клиент Base из вашей собственной инфраструктуры подписания.
  2. 02Вызывайте deposits(walletAddress) перед созданием нового депозита; переиспользуйте активный инвентарь, когда он подходит под ордер.
  3. 03Вызывайте offramp(walletClient, params) с integratorId и referralId, чтобы автоматизацию можно было идентифицировать.
  4. 04Используйте otcTaker, когда покупатель уже известен; иначе депозит публично доступен для заполнения.
  5. 05Сохраняйте depositId, txHash, platform, currency, amount и предполагаемый контекст покупателя.
  6. 06Poll deposits(address) or Peerlytics deposit/intent reads so fills and closes survive process restarts.
02

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

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

Продолжайте исследовать

Общие вопросы

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

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

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

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