Pré-requisitos
- Uma carteira EVM na Base controlada pelo agente (chave privada em uma variável de ambiente ou gerenciador de segredos).
- Uma pequena quantidade de ETH na Base para gás (o staking são duas transações:
approvee depoisstake). - Qualquer quantidade diferente de zero de VVV para fazer stake. O endpoint de geração exige apenas que a carteira tenha saldo de sVVV diferente de zero, então 1 VVV é suficiente para gerar uma chave. Veja Pagando pela inferência para saber o que você precisa para realmente chamar endpoints pagos.
Passos
1
2
Faça stake de VVV na Venice
Faça stake do VVV no Smart Contract de Staking da Venice em 
Quando a segunda transação for confirmada, o saldo de VVV da carteira diminui e o saldo de sVVV aumenta na mesma quantia. O endpoint de geração lê o saldo de sVVV para confirmar que a carteira está com stake.
0x321b7ff75154472B18EDb199033fF4D116F340Ff. São duas transações:approve(spender, amount)no token VVV, ondespenderé o contrato de staking.stake(amount)no contrato de staking.

3
Solicite um token de validação
Chame A resposta contém um campo
GET /api/v1/api_keys/generate_web3_key para obter um token de curta duração assinado pela Venice. O endpoint não exige autenticação.token. O token expira 15 minutos após sua emissão, então assine e envie bem antes disso.4
Assine o token com a carteira de stake
Assine a string bruta do token com a carteira que detém o VVV em stake. Esse é um
personal_sign padrão sobre os bytes do token. Tanto ethers.Wallet.signMessage(token) quanto account.signMessage({ message: token }) do viem produzem a assinatura correta.5
Gere a chave de API
Faça Campos obrigatórios:
POST com o endereço, a assinatura e o token para o mesmo endpoint, junto com o tipo de chave que você quer.address, signature, token, apiKeyType (INFERENCE ou ADMIN).Campos opcionais: description, expiresAt, consumptionLimit (limita o gasto total nessa chave, denominado em usd, vcu ou diem).Em caso de sucesso, a resposta contém a string apiKey gerada. Armazene-a no cofre de segredos do agente e use-a como um Bearer token normal (Authorization: Bearer <key>).Exemplo de ponta a ponta
O exemplo abaixo usa uma carteira real obtida de uma variável de ambiente, em vez de uma gerada aleatoriamente. Uma carteira aleatória não tem VVV em stake e a geração será rejeitada com o erroWallet has no staked VVV on Base.
Referência de erros
O endpoint retorna mensagens de erro específicas e acionáveis. Mapeie-as no agente para que ele possa decidir se deve tentar novamente, solicitar um novo token ou parar.Pagando pela inferência
Gerar uma chave e ser capaz de chamar endpoints pagos com ela são duas coisas separadas. Uma chave recém-gerada autentica corretamente, mas não pode chamar endpoints pagos (como/chat/completions) até que a conta da carteira tenha um saldo gastável.
A chave gerada pode gastar a partir da conta do usuário nesta ordem de prioridade: DIEM, depois créditos agrupados, depois USD.
Se o agente precisar de um caminho de financiamento totalmente cripto-nativo e headless, as opções mais limpas são:
- Fazer stake de mais VVV para que a alocação diária de DIEM cubra o gasto do agente. A chave gerada usa isso automaticamente.
- Usar o fluxo de carteira x402 em vez da chave de API. Com o x402 o agente assina uma mensagem Sign-In-With-X por requisição, faz recarga diretamente com USDC na Base ou Solana via
POST /api/v1/x402/top-upe paga por requisição. O saldo de USDC do x402 é vinculado à carteira, não ao usuário, portanto não aparece como saldo para a chave Bearer gerada, mas permite que a mesma carteira pague pela inferência programaticamente.
Recursos relacionados
Cripto e agentes
Use a Venice como provedor de modelos e camada de RPC blockchain para agentes autônomos.
Autenticação x402 por carteira
Pague por requisição com USDC na Base ou Solana, sem necessidade de chave de API.
Endpoint de geração de chave de API Web3
Referência do endpoint de geração de chave.
Guia padrão de chave de API
Para usuários que preferem gerar uma chave pelo dashboard.