Use RPC de blockchain em agentes ElizaOS com a BlockVectra
Aponte o plugin-evm do ElizaOS para a BlockVectra com duas variáveis de ambiente, comece sem chave no endpoint público e adicione o servidor MCP de documentação por meio do plugin-mcp.
Os agentes ElizaOS acessam redes EVM por meio do @elizaos/plugin-evm, que lê suas URLs de RPC do ambiente. Defina EVM_PROVIDER_URL como https://api.blockvectra.com/v1/eth_mainnet/public e o plugin usa a BlockVectra para a mainnet da Ethereum sem API key. O Plano Gratuito acrescenta métodos autenticados com 30,000,000 CU por janela de 30 dias. Verificado em .
# .env (the plugin also needs the wallet key; keep it in your secret store)
EVM_PRIVATE_KEY=your-wallet-private-key
EVM_PROVIDER_URL=https://api.blockvectra.com/v1/eth_mainnet/public
ETHEREUM_PROVIDER_BASE=https://api.blockvectra.com/v1/base_mainnet/public{
"name": "DeFiAgent",
"plugins": ["@elizaos/plugin-evm"],
"settings": { "chains": { "evm": ["base"] } }
}Instale o plugin com bun add @elizaos/plugin-evm. A mainnet da Ethereum vem habilitada por padrão; toda outra rede listada em settings.chains.evm deve usar o nome de exportação de viem/chains, e a variável de URL correspondente é ETHEREUM_PROVIDER_<CHAIN_NAME> em maiúsculas, como no README do plugin no npm.
Use uma API key
Os endpoints públicos cobrem apenas os métodos em public.methods de cada rede. Para o restante, coloque a chave no caminho da URL (/v1/{chain}/{api_key}). O plugin aceita apenas uma URL, então este é o único lugar em que a chave trafega no caminho. Exporte as variáveis no shell que inicia o agente para que a chave nunca vá parar em um arquivo que você faz commit:
export EVM_PROVIDER_URL=https://api.blockvectra.com/v1/eth_mainnet/${BLOCKVECTRA_API_KEY}
export ETHEREUM_PROVIDER_BASE=https://api.blockvectra.com/v1/base_mainnet/${BLOCKVECTRA_API_KEY}URLs podem aparecer em logs, proxies e mensagens de erro; por isso, use uma chave separada com um cu_cap baixo para o agente e revogue-a no console se ela vazar.
Para criar a chave sem navegador, siga as quatro etapas do guia de cadastro programático: desafio, assinatura, login e, depois, POST /keys. Desenvolvedores também podem criar uma chave no console. A mesma chave funciona em todas as redes, então uma só chave atende cada variável ETHEREUM_PROVIDER_*.
Adicione o servidor MCP de documentação
O @elizaos/plugin-mcp permite que um personagem use servidores MCP remotos via Streamable HTTP. Instale-o com bun add @elizaos/plugin-mcp e registre o servidor de documentação da BlockVectra nas configurações do personagem:
{
"plugins": ["@elizaos/plugin-evm", "@elizaos/plugin-mcp"],
"settings": {
"mcp": {
"servers": {
"blockvectra": { "type": "streamable-http", "url": "https://docs.blockvectra.com/mcp" }
}
}
}
}O agente passa então a poder chamar list_chains, get_status, rpc_call, read_doc e as demais ferramentas listadas na página do servidor MCP, sem chave. As opções HTTP documentadas do plugin são type, url e timeout; ele não documenta nenhuma opção de cabeçalho, então as ferramentas MCP autenticadas ficam fora de alcance com esta configuração. Mantenha as leituras autenticadas no plugin-evm, como acima.
Erros que você pode ver
| Resposta | Significado | O que fazer |
|---|---|---|
HTTP 401, -32024, missing_api_key | Uma URL autenticada foi chamada sem chave | Colocar a chave no caminho ou no cabeçalho x-api-key |
HTTP 401, -32024, invalid_api_key | Chave desconhecida, desativada ou revogada | Verificar a chave no console; uma chave nova leva alguns segundos para ativar |
-32601, method_not_public | O método não está em public.methods da rede | Trocar a URL dessa rede de /public para a forma autenticada |
| Rede não reconhecida | O nome em settings.chains.evm não corresponde a um nome de viem/chains | Usar o nome exato de viem/chains |
Cada erro da BlockVectra inclui data.reason e um docs_url; a lista completa está na página de erros.
Documentação oficial
- Documentação do ElizaOS
- elizaos/eliza no GitHub
@elizaos/plugin-evmno npm@elizaos/plugin-mcpno npm
Perguntas frequentes
EVM_PROVIDER_URL vale para a Base? Não. Ela define apenas a mainnet da Ethereum; as outras redes usam ETHEREUM_PROVIDER_<CHAIN_NAME>.
Um agente pode assinar e enviar transações pelo endpoint público? eth_sendRawTransaction está em public.methods nas redes que o listam, com um limite de taxa por IP próprio e mais baixo em public.send_raw_rate_limit de GET /v1/chains. Leia o limite ali antes de construir sobre ele.
Preciso de uma chave para o servidor MCP? Não. Conectar e usar as ferramentas de documentação, de redes e de preços não exige chave.
Próximos passos
- Visão geral dos frameworks de agentes para LangChain, viem, wagmi e Coinbase AgentKit.
- Conecte um agente de IA para descobrir endpoints com MCP, llms.txt e OpenAPI.
- Regras de cobrança para a medição de CU, limites de taxa e erros não cobrados.
Última atualização:
Preços diários de DEX
Consulte preços diários de OHLC e VWAP de DEX na Data API, manipule frações racionais exatas em TypeScript e Python e faça o backfill de dados históricos com eficiência.
Estado histórico da EVM
Distinga janelas de estado autenticadas, histórico sem chave e intervalos de logs. Escolha um bloco fixo para eth_call e diagnostique erros de state_window.