Sviluppatori · Bot

Esegui l'automazione dei depositi senza inventare un rate manager.

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

Sequenza del bot

  1. 01Carica un wallet client di Base dalla tua infrastruttura di firma.
  2. 02Chiama deposits(walletAddress) prima di creare un nuovo deposito; riutilizza l'inventario attivo quando è adatto all'ordine.
  3. 03Chiama offramp(walletClient, params) con integratorId e referralId così l'automazione può essere identificata.
  4. 04Usa otcTaker quando l'acquirente è già noto; altrimenti il deposito è pubblicamente eseguibile.
  5. 05Salva depositId, txHash, platform, currency, amount e il contesto dell'acquirente previsto.
  6. 06Poll deposits(address) or Peerlytics deposit/intent reads so fills and closes survive process restarts.
02

Disciplina dei retry

  • L'SDK riprende i depositi non delegati delegandoli invece di creare un duplicato.
  • La cache di idempotencyKey del browser non protegge i worker Node. Il tuo worker dovrebbe controllare deposits(address) prima di creare nuova liquidità.
  • Se la delega fallisce dopo la creazione, riprova la stessa route del wallet; il percorso di ripresa è pensato per quello stato.
  • Non riprovare automaticamente USER_CANCELLED. Indica che un firmatario ha rifiutato un prompt.

Domande frequenti

Un backend può creare depositi senza un wallet utente?

Sì, se ha un proprio firmatario di Base e un saldo USDC. L'SDK firma tramite il WalletClient di viem che fornisci; la custodia e la gestione delle chiavi sono tue.

idempotencyKey previene i depositi duplicati del bot?

No. idempotencyKey è basata sulla sessione del browser. In Node o nei worker, usa deposits(address) e il tuo database degli ordini per prevenire inventario duplicato.