# Usar RPC blockchain en agentes de ElizaOS con BlockVectra

> Source: https://docs.blockvectra.com/es/guides/elizaos/

Los agentes de ElizaOS acceden a las cadenas EVM mediante `@elizaos/plugin-evm`, que lee sus URL de RPC del entorno. Establezca `EVM_PROVIDER_URL` en `https://api.blockvectra.com/v1/eth_mainnet/public` y el plugin usará BlockVectra para Ethereum mainnet sin API key. El plan gratuito añade los métodos con clave, con 30,000,000 CU por ventana de 30 días. Verificado el 2026-10-11.

```bash
# .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
```

```json
{
  "name": "DeFiAgent",
  "plugins": ["@elizaos/plugin-evm"],
  "settings": { "chains": { "evm": ["base"] } }
}
```

Instale el plugin con `bun add @elizaos/plugin-evm`. Ethereum mainnet está habilitada por defecto; cada otra cadena que liste en `settings.chains.evm` debe usar el nombre de su export de `viem/chains`, y su variable de URL es `ETHEREUM_PROVIDER_<CHAIN_NAME>` en mayúsculas, como indica el [README del plugin en npm](https://www.npmjs.com/package/@elizaos/plugin-evm).

## Usar una API key

Los endpoints públicos solo cubren los métodos de `public.methods` de cada cadena. Para el resto, ponga la clave en la ruta de la URL (`/v1/{chain}/{api_key}`). El plugin solo acepta una URL, así que este es el único caso en que la clave viaja en la ruta. Exporte las variables en el shell que inicia el agente para que la clave nunca acabe en un archivo que suba al repositorio:

```bash
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}
```

Las URL pueden aparecer en registros, proxies y mensajes de error, así que use una clave aparte con un `cu_cap` bajo para el agente y revóquela en la consola si se filtra.

Para crear la clave sin navegador, siga los cuatro pasos de la [guía de registro programático](https://docs.blockvectra.com/es/guides/programmatic-signup/?ref=docs-elizaos): desafío, firma, inicio de sesión y después `POST /keys`. Los desarrolladores también pueden [crear una clave en la consola](https://console.blockvectra.com/login/?next=%2Fkeys%2F\&ref=docs-elizaos). La misma clave funciona en todas las cadenas, así que una sola clave sirve para cada variable `ETHEREUM_PROVIDER_*`.

## Añadir el servidor MCP de documentación

`@elizaos/plugin-mcp` permite que un personaje use servidores MCP remotos mediante Streamable HTTP. Instálelo con `bun add @elizaos/plugin-mcp` y registre el servidor de documentación de BlockVectra en los ajustes del personaje:

```json
{
  "plugins": ["@elizaos/plugin-evm", "@elizaos/plugin-mcp"],
  "settings": {
    "mcp": {
      "servers": {
        "blockvectra": { "type": "streamable-http", "url": "https://docs.blockvectra.com/mcp" }
      }
    }
  }
}
```

El agente podrá entonces llamar, sin clave, a `list_chains`, `get_status`, `rpc_call`, `read_doc` y las demás herramientas listadas en la [página del servidor MCP](https://docs.blockvectra.com/es/guides/mcp-server/). Las opciones HTTP documentadas del plugin son `type`, `url` y `timeout`; no documenta ninguna opción de encabezados, por lo que las herramientas MCP con clave quedan fuera de alcance con esta configuración. Mantenga las lecturas con clave en `plugin-evm`, como se indicó arriba.

## Errores que puede encontrar

| Respuesta                             | Significado                                                                   | Qué hacer                                                                          |
| ------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| HTTP 401, `-32024`, `missing_api_key` | Se llamó a una URL con clave sin enviar clave                                 | Poner la clave en la ruta o en el encabezado `x-api-key`                           |
| HTTP 401, `-32024`, `invalid_api_key` | Clave desconocida, desactivada o revocada                                     | Comprobar la clave en la consola; una clave nueva tarda unos segundos en activarse |
| `-32601`, `method_not_public`         | El método no está en `public.methods` de la cadena                            | Cambiar la URL de esa cadena de `/public` a la forma con clave                     |
| Cadena no reconocida                  | El nombre en `settings.chains.evm` no coincide con un nombre de `viem/chains` | Usar el nombre exacto de `viem/chains`                                             |

Cada error de BlockVectra incluye `data.reason` y un `docs_url`; la lista completa está en la [página de errores](https://docs.blockvectra.com/es/errors/).

## Documentación oficial

* [Documentación de ElizaOS](https://elizaos.github.io/eliza/)
* [elizaos/eliza en GitHub](https://github.com/elizaos/eliza)
* [`@elizaos/plugin-evm` en npm](https://www.npmjs.com/package/@elizaos/plugin-evm)
* [`@elizaos/plugin-mcp` en npm](https://www.npmjs.com/package/@elizaos/plugin-mcp)

## Preguntas frecuentes

**¿Se aplica `EVM_PROVIDER_URL` a Base?** No. Solo establece Ethereum mainnet; las demás cadenas usan `ETHEREUM_PROVIDER_<CHAIN_NAME>`.

**¿Puede un agente firmar y enviar transacciones a través del endpoint público?** `eth_sendRawTransaction` está en `public.methods` para las cadenas que lo listan, con su propio límite de velocidad por IP más bajo en `public.send_raw_rate_limit` de `GET /v1/chains`. Lea el límite ahí antes de construir sobre él.

**¿Necesito una clave para el servidor MCP?** No. Conectarse y las herramientas de documentación, cadenas y precios no requieren clave.

## Próximos pasos

* [Resumen de frameworks de agentes](https://docs.blockvectra.com/es/guides/agent-frameworks/) para LangChain, viem, wagmi y Coinbase AgentKit.
* [Conectar un agente de IA](https://docs.blockvectra.com/es/guides/ai-agents/) para descubrir endpoints con MCP, llms.txt y OpenAPI.
* [Reglas de facturación](https://docs.blockvectra.com/es/guides/billing-rules/) para la medición de CU, los límites de velocidad y los errores no facturados.
