Vai al contenuto principale
Un agente AI che controlla un wallet su Base può generare la propria API key Venice senza intervento umano. L’agente acquisisce VVV, ne effettua lo staking, firma un token di validazione a breve durata emesso da Venice e invia il token firmato per ricevere una nuova API key associata al wallet di staking. Questa guida illustra l’intero flusso end-to-end e copre le opzioni di finanziamento per pagare effettivamente l’inferenza una volta generata la chiave.

Prerequisiti

  • Un wallet EVM su Base controllato dall’agente (chiave privata in una variabile d’ambiente o in un secret manager).
  • Una piccola quantità di ETH su Base per il gas (lo staking richiede due transazioni: approve poi stake).
  • Qualsiasi quantità non zero di VVV in staking. L’endpoint di minting richiede solo che il wallet abbia un saldo sVVV non zero, quindi 1 VVV è sufficiente per generare una chiave. Consulta Pagare l’inferenza per ciò che ti serve per chiamare effettivamente gli endpoint a pagamento.
Usa un wallet dedicato per l’agente piuttosto che un wallet di tesoreria. La chiave privata del wallet firma ogni richiesta di token Venice, quindi il suo blast radius dovrebbe essere piccolo.

Passaggi

1

Acquisisci VVV

Invia VVV al wallet dell’agente, o fai eseguire all’agente uno swap su un DEX come Aerodrome o Uniswap.Contratto del token VVV su Base: 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf
2

Effettua lo staking di VVV con Venice

Esegui lo staking dei VVV nello smart contract di staking Venice all’indirizzo 0x321b7ff75154472B18EDb199033fF4D116F340Ff. Sono due transazioni:
  1. approve(spender, amount) sul token VVV, dove spender è il contratto di staking.
  2. stake(amount) sul contratto di staking.
Smart Contract Staking
Quando la seconda transazione viene confermata, il saldo VVV del wallet diminuisce e il suo saldo sVVV aumenta della stessa quantità. L’endpoint di minting legge il saldo sVVV per confermare che il wallet ha effettuato lo staking.
3

Richiedi un token di validazione

Chiama GET /api/v1/api_keys/generate_web3_key per ottenere un token a breve durata firmato da Venice. L’endpoint non è autenticato.
La risposta contiene un campo token. Il token scade 15 minuti dopo l’emissione, quindi firmalo e invialo ben prima.
4

Firma il token con il wallet di staking

Firma la stringa raw del token con il wallet che detiene i VVV in staking. Si tratta di un personal_sign standard sui byte del token. Sia ethers.Wallet.signMessage(token) sia account.signMessage({ message: token }) di viem producono la firma corretta.
5

Genera l'API key

Esegui POST con address, signature e token allo stesso endpoint, insieme al tipo di chiave che desideri.
Campi obbligatori: address, signature, token, apiKeyType (INFERENCE o ADMIN).Campi opzionali: description, expiresAt, consumptionLimit (limita la spesa totale su questa chiave, in usd, vcu o diem).In caso di successo, la risposta contiene la stringa apiKey generata. Conservala nel secret store dell’agente e usala come un normale Bearer token (Authorization: Bearer <key>).

Esempio end-to-end

L’esempio qui sotto usa un wallet reale da una variabile d’ambiente piuttosto che uno generato casualmente. Un wallet casuale non ha VVV in staking e il minting verrà rifiutato con l’errore Wallet has no staked VVV on Base.

Riferimento errori

L’endpoint restituisce messaggi di errore specifici e azionabili. Mappali nell’agente in modo che possa decidere se ritentare, richiedere un nuovo token o fermarsi.

Pagare l’inferenza

Generare una chiave e poter chiamare gli endpoint a pagamento con essa sono due cose distinte. Una chiave appena generata si autentica correttamente ma non può chiamare gli endpoint a pagamento (come /chat/completions) finché l’account del wallet non ha un saldo spendibile. La chiave generata può spendere dall’account utente in questo ordine di priorità: DIEM, poi crediti in bundle, poi USD. Se l’agente ha bisogno di un percorso di finanziamento completamente crypto-native e headless, le opzioni più pulite sono:
  1. Effettuare lo staking di più VVV in modo che l’allocazione giornaliera di DIEM copra la spesa dell’agente. La chiave generata lo riconosce automaticamente.
  2. Usare il flusso wallet x402 al posto dell’API key. Con x402 l’agente firma un messaggio Sign-In-With-X per richiesta, ricarica direttamente con USDC su Base o Solana tramite POST /api/v1/x402/top-up e paga per richiesta. Il saldo USDC x402 è legato al wallet, non all’utente, quindi non appare come saldo per la Bearer key generata, ma consente allo stesso wallet di pagare l’inferenza in modo programmatico.

Risorse correlate

Crypto e agenti

Usa Venice sia come provider di modelli sia come layer RPC blockchain per agenti autonomi.

Autenticazione wallet x402

Paga per richiesta con USDC su Base o Solana, senza API key.

Endpoint Generate Web3 API Key

Riferimento dell’endpoint di minting.

Guida API key standard

Per gli utenti che preferiscono generare una chiave dalla dashboard.