# Utiliser le RPC blockchain dans les agents ElizaOS avec BlockVectra

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

Les agents ElizaOS accèdent aux chaînes EVM via `@elizaos/plugin-evm`, qui lit ses URL RPC dans l'environnement. Définissez `EVM_PROVIDER_URL` sur `https://api.blockvectra.com/v1/eth_mainnet/public` et le plugin utilise BlockVectra pour Ethereum mainnet sans API key. Le forfait gratuit ajoute les méthodes avec clé, avec 30,000,000 CU par fenêtre de 30 jours. Vérifié le 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"] } }
}
```

Installez le plugin avec `bun add @elizaos/plugin-evm`. Ethereum mainnet est activé par défaut ; toute autre chaîne listée dans `settings.chains.evm` doit utiliser le nom de son export `viem/chains`, et sa variable d'URL est `ETHEREUM_PROVIDER_<CHAIN_NAME>` en majuscules, comme dans le [README du plugin sur npm](https://www.npmjs.com/package/@elizaos/plugin-evm).

## Utiliser une API key

Les points de terminaison publics ne couvrent que les méthodes de `public.methods` de chaque chaîne. Pour les autres, placez la clé dans le chemin de l'URL (`/v1/{chain}/{api_key}`). Le plugin n'accepte qu'une URL ; c'est donc le seul cas où la clé transite dans le chemin. Exportez les variables dans le shell qui démarre l'agent afin que la clé n'atterrisse jamais dans un fichier que vous commitez :

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

Les URL peuvent apparaître dans les journaux, les proxys et les messages d'erreur ; utilisez donc une clé distincte avec un `cu_cap` bas pour l'agent, et révoquez-la dans la console en cas de fuite.

Pour créer la clé sans navigateur, suivez les quatre étapes du [guide d'inscription programmatique](https://docs.blockvectra.com/fr/guides/programmatic-signup/?ref=docs-elizaos) : challenge, signature, connexion, puis `POST /keys`. Les développeurs peuvent aussi [créer une clé dans la console](https://console.blockvectra.com/login/?next=%2Fkeys%2F\&ref=docs-elizaos). La même clé fonctionne sur toutes les chaînes, donc une seule clé sert chaque variable `ETHEREUM_PROVIDER_*`.

## Ajouter le serveur MCP de documentation

`@elizaos/plugin-mcp` permet à un personnage d'utiliser des serveurs MCP distants via Streamable HTTP. Installez-le avec `bun add @elizaos/plugin-mcp`, puis enregistrez le serveur de documentation BlockVectra dans les paramètres du personnage :

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

L'agent peut alors appeler, sans clé, `list_chains`, `get_status`, `rpc_call`, `read_doc` et les autres outils listés sur la [page du serveur MCP](https://docs.blockvectra.com/fr/guides/mcp-server/). Les options HTTP documentées du plugin sont `type`, `url` et `timeout` ; il ne documente aucune option d'en-tête, donc les outils MCP avec clé sont hors de portée avec cette configuration. Conservez les lectures avec clé dans `plugin-evm` comme ci-dessus.

## Erreurs que vous pouvez rencontrer

| Réponse                               | Signification                                                                | Que faire                                                                            |
| ------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| HTTP 401, `-32024`, `missing_api_key` | Une URL avec clé a été appelée sans clé                                      | Placer la clé dans le chemin ou dans l'en-tête `x-api-key`                           |
| HTTP 401, `-32024`, `invalid_api_key` | Clé inconnue, désactivée ou révoquée                                         | Vérifier la clé dans la console ; une nouvelle clé met quelques secondes à s'activer |
| `-32601`, `method_not_public`         | La méthode ne figure pas dans `public.methods` de la chaîne                  | Passer l'URL de cette chaîne de `/public` à la forme avec clé                        |
| Chaîne non reconnue                   | Le nom dans `settings.chains.evm` ne correspond à aucun nom de `viem/chains` | Utiliser le nom exact de `viem/chains`                                               |

Chaque erreur BlockVectra comporte `data.reason` et un `docs_url` ; la liste complète se trouve sur la [page des erreurs](https://docs.blockvectra.com/fr/errors/).

## Documentation officielle

* [Documentation ElizaOS](https://elizaos.github.io/eliza/)
* [elizaos/eliza sur GitHub](https://github.com/elizaos/eliza)
* [`@elizaos/plugin-evm` sur npm](https://www.npmjs.com/package/@elizaos/plugin-evm)
* [`@elizaos/plugin-mcp` sur npm](https://www.npmjs.com/package/@elizaos/plugin-mcp)

## Questions fréquentes

**`EVM_PROVIDER_URL` s'applique-t-il à Base ?** Non. Elle ne définit qu'Ethereum mainnet ; les autres chaînes utilisent `ETHEREUM_PROVIDER_<CHAIN_NAME>`.

**Un agent peut-il signer et envoyer des transactions via le point de terminaison public ?** `eth_sendRawTransaction` figure dans `public.methods` pour les chaînes qui le listent, avec sa propre limite de débit par IP plus basse sous `public.send_raw_rate_limit` dans `GET /v1/chains`. Lisez la limite à cet endroit avant de bâtir dessus.

**Ai-je besoin d'une clé pour le serveur MCP ?** Non. La connexion ainsi que les outils de documentation, de chaînes et de tarifs fonctionnent sans clé.

## Prochaines étapes

* [Vue d'ensemble des frameworks d'agents](https://docs.blockvectra.com/fr/guides/agent-frameworks/) pour LangChain, viem, wagmi et Coinbase AgentKit.
* [Connecter un agent IA](https://docs.blockvectra.com/fr/guides/ai-agents/) pour découvrir les points de terminaison avec MCP, llms.txt et OpenAPI.
* [Règles de facturation](https://docs.blockvectra.com/fr/guides/billing-rules/) pour la mesure en CU, les limites de débit et les erreurs non facturées.
