Salta al contenuto principale
CONTROLLI DI SPESA

Il tuo agente non può superare la spesa che hai impostato.

Imposta un'indennità per periodo e un limite per transazione per ogni agente nel dashboard. Il backend lo applica su ogni pagamento in uscita - il codice dell'agente non può aggirarlo.

Vista del dashboard: permessi di spesa per agente - indennità, limite per transazione, periodo

Gli agenti autonomi commettono errori. Ritentano. Si ripetono. Vengono iniettati con prompt. Occasionalmente cercano di spendere denaro che non hai autorizzato.

Un permesso di spesa Blockchain0x è impostato dal proprietario nel dashboard e applicato dal backend, non dal codice dell'agente. Ogni pagamento in uscita viene controllato rispetto al permesso attivo prima che l'API lo accetti, quindi l'agente non può superare il limite anche se la sua logica ci prova. Il tuo codice può leggere il permesso tramite l'API per visualizzarlo o pianificare attorno ad esso, ma non può aumentarlo.

COSA HA UN PERMESSO DI SPESA

Quattro dimensioni. Impostato una volta. Applicato ovunque.

Indennità su un periodo

allowance_wei è il totale USDC (unità base) che l'agente può inviare in un intervallo di period_seconds. Il periodo è un giorno (86400), una settimana (604800) o 30 giorni (2592000).

Limite per transazione

per_tx_wei è il pagamento singolo in uscita più grande consentito. Ferma una chiamata errata dal trasferire più di quanto intendevi, indipendentemente dall'assegnazione del periodo.

Finestra di validità

start_at e end_at sono vincolati quando il permesso è attivo. Fuori dalla finestra non autorizza la spesa, quindi puoi pre-stabilire un budget o lasciare che uno scada da solo.

Revoca

revoked_at registra quando un permesso è stato disattivato dal dashboard. La revoca porta immediatamente l'assegnazione a zero per qualsiasi pagamento valutato dopo di essa.

GESTITO DAL DASHBOARD, SOLAMENTE IN LETTURA TRAMITE L'API

La chiave dell'agente non può aumentare il proprio limite.

Crei, cambi e revoci i permessi di spesa nel dashboard. L'API li espone in sola lettura - non esiste un endpoint e nessun metodo SDK che modifica un permesso. Questo è il punto: se l'agente è iniettato di prompt o bloccato in un ciclo, non può ampliare la propria assegnazione, perché la credenziale che detiene non ha mai ricevuto quel potere.

Quando un pagamento supererebbe il permesso attivo, il backend lo rifiuta prima che qualcosa tocchi la catena. Nessun fondo si muove. Il tuo agente gestisce quel rifiuto come qualsiasi altra chiamata fallita e puoi vedere il tentativo nella dashboard in modo da poter ampliare il permesso se era legittimo.

LEGGI ATTRAVERSO L'API

Recupera il permesso attuale per visualizzarlo o pianificare attorno ad esso.

GET /v1/agents/{id}/spend-permissions restituisce i valori attivi. Usalo per mostrare un budget nella tua UI, o per consentire all'agente di controllare quanto spazio è rimasto prima di provare un pagamento.

LEGGI (CURL)
curl https://api.blockchain0x.com/v1/agents/agt_123/spend-permissions \
  -H "Authorization: Bearer $BLOCKCHAIN0X_API_KEY"
RISPOSTA
{
  "allowance_wei": "5000000",
  "per_tx_wei": "1000000",
  "period_seconds": 86400,
  "start_at": "2026-05-15T00:00:00Z",
  "end_at": null,
  "revoked_at": null
}
allowance_wei

Total spend allowed per period, in USDC base units (6 decimals). "5000000" is 5 USDC.

per_tx_wei

Largest single payment allowed, in base units. "1000000" is 1 USDC. A payment over this is rejected even if the period allowance has room.

period_seconds

La finestra a cui si applica l'assegnazione: 86400 (giorno), 604800 (settimana) o 2592000 (30 giorni).

start_at / end_at

Quando il permesso è attivo. end_at è nullo per un permesso a tempo indeterminato.

revoked_at

Nulla mentre è attivo; un timestamp una volta revocato dal dashboard. Un permesso revocato non autorizza nulla.

IL PERIODO

Giorno, settimana o 30 giorni.

period_seconds prende uno dei tre valori. L'assegnazione si resetta quando il periodo scade; per_tx_wei si applica a ogni singolo pagamento indipendentemente dal periodo.

86400

1 giorno

604800

1 settimana

2592000

30 giorni

Un permesso di spesa è un limite rigido, impostato una volta, applicato ovunque - non un flusso di approvazione per pagamento e non una conferma umana nel loop. Se hai bisogno di approvazioni o multi-firma, quello è un modello separato e più pesante; il permesso è il pavimento sempre attivo sotto di esso.

DOMANDE FREQUENTI

Cinque domande sulle autorizzazioni di spesa che pongono gli operatori.

Posso impostare o modificare un permesso di spesa tramite l'API?

No. I permessi di spesa sono di sola lettura tramite l'API. Li crei, cambi e revoci nel dashboard di Blockchain0x, e GET /v1/agents/{id}/spend-permissions consente al tuo codice di leggere i valori correnti per visualizzarli o controllarli. Questo è deliberato: la chiave API dell'agente non può allentare i propri limiti, che è esattamente la proprietà che desideri se l'agente viene mai iniettato o entra in loop. Per aumentare un'indennità hai bisogno del dashboard.

Cosa succede quando un pagamento supera il permesso?

Il backend lo rifiuta prima che qualcosa tocchi la catena - nessun fondo si muove. L'applicazione vive nel backend, non nel codice del tuo agente, quindi l'agente non può aggirarlo anche se la sua logica ci prova. Leggi il permesso con il percorso GET per mostrare al tuo agente quanto spazio è rimasto e gestisci il rifiuto da payments.create come faresti con qualsiasi altra chiamata fallita.

Perché gli importi sono in wei anziché in dollari?

Consistency with the rest of the API: every amount is a base-unit string. USDC has 6 decimals, so allowance_wei "5000000" is 5 USDC and per_tx_wei "1000000" is 1 USDC. Strings, not floats - large integers lose precision as JSON numbers, and a base-unit string is unambiguous across languages.

Le autorizzazioni di spesa limitano i pagamenti in arrivo?

No. Un permesso governa solo il denaro che esce dal wallet. L'USDC in arrivo non è mai bloccato da esso - chiunque può pagare il tuo agente in qualsiasi momento. Pensa al permesso come a una valvola unidirezionale sulla spesa in uscita; il regolamento in entrata è confermato separatamente dal webhook payment.received.

Come posso revocare rapidamente la spesa se qualcosa sembra sbagliato?

Revoca il permesso nel dashboard - questo imposta revoked_at e porta l'indennità a zero per qualsiasi pagamento valutato successivamente. Per una fermata più dura puoi anche ruotare o revocare la chiave API dell'agente (apiKeys.rotate / apiKeys.revoke), che interrompe completamente la credenziale. Entrambi sono immediati; la revoca del permesso è quella chirurgica, la revoca della chiave è l'interruttore di emergenza.

Spendi con limiti, non sorprese.

Imposta un'indennità e un limite per transazione nel dashboard. Il backend fa il resto.