Skip to main content

Perché il controllo del budget è importante

Un agente AI che chiama API a pagamento in un ciclo può accumulare costi rapidamente. Il controllo del budget ti permette di:
  • Limitare la spesa totale per sessione
  • Impostare limiti per dominio (es., max 100 sats/sessione su api.weather.com)
  • Ricevere un callback prima di ogni pagamento
  • Ottenere un report completo della spesa in qualsiasi momento

Budget globale

Quando una risposta 402 include un campo priceSats che supererebbe il budget rimanente, il client lancia BudgetExceededError prima di pagare — nessun satoshi viene speso.

Budget per dominio

I limiti per dominio vengono verificati indipendentemente dal limite globale — entrambi devono essere rispettati affinché il pagamento possa procedere.

Callback

onBudgetExceeded / on_budget_exceeded viene chiamato appena prima che venga lanciato BudgetExceededError — utile per logging o avvisi.

Report di spesa

spendingReport() restituisce null / None quando nessun budget è configurato.

Gestione di BudgetExceededError


Note sulla concorrenza

Non condividere una singola istanza di L402Client tra chiamate Promise.all concorrenti quando i limiti di budget sono importanti.BudgetTracker.check() e record() sono separati da un await (il pagamento Lightning). Due chiamate client.fetch() concorrenti a endpoint diversi possono entrambe superare il controllo del budget prima che una delle due registri la spesa — il che significa che il costo combinato può temporaneamente superare il tuo limite di budget di un pagamento.Schema sicuro — chiamate sequenziali:
Schema rischioso — chiamate parallele:
Mitigazione per carichi di lavoro paralleli: imposta il tuo budgetSats in modo conservativo (es. 80% del tuo vero limite) per assorbire la spesa eccessiva derivante da un pagamento concorrente. Per un’applicazione rigorosa, elabora le chiamate in modo sequenziale.

Riferimento completo delle opzioni