# RPC blockchain et MCP de documentation pour les frameworks d'agents

> Source: https://docs.blockvectra.com/fr/guides/agent-frameworks/

Configurez le RPC blockchain dans ElizaOS, viem, wagmi ou Coinbase AgentKit à l'aide des recettes ci-dessous. Les développeurs et les agents IA peuvent d'abord utiliser le [MCP de documentation](https://docs.blockvectra.com/fr/guides/ai-agents/#connecting-from-mcp-clients) pour découvrir les méthodes et la documentation, puis suivre le [flux d'inscription HTTP distinct](https://docs.blockvectra.com/fr/guides/programmatic-signup/) pour créer une clé API. Utilisez cette clé dans les requêtes RPC et Data API ou dans l'en-tête `x-api-key` du client MCP pour les outils avec clé ; l'accès RPC sans clé est limité aux `public.methods` de chaque chaîne.

## ElizaOS

* Documentation officielle : [Documentation elizaOS](https://elizaos.github.io/eliza/)
* Dépôt officiel : [elizaos/eliza](https://github.com/elizaos/eliza)

Dans elizaOS, les interactions EVM sont prises en charge par le plugin `@elizaos/plugin-evm`. Le plugin lit les points de terminaison des fournisseurs RPC à partir de variables d'environnement nommées selon le modèle `ETHEREUM_PROVIDER_<NETWORK>`, ou la variable de secours `EVM_PROVIDER_URL`.

Configurez votre fichier `.env` avec la clé privée de votre portefeuille et vos points de terminaison RPC :

```bash
# EVM wallet private key for signing transactions
export EVM_PRIVATE_KEY=0x...

# Dedicated endpoints with API key
export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/${BLOCKVECTRA_API_KEY}
export ETHEREUM_PROVIDER_BASE=https://api.blockvectra.com/v1/base_mainnet/${BLOCKVECTRA_API_KEY}

# Keyless public RPC endpoint
# export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/public
```

Incluez `@elizaos/plugin-evm` dans la configuration de personnage de votre agent :

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

## viem

* Documentation officielle : [Documentation viem](https://viem.sh/docs/clients/public.html)
* Référence des transports : [Transport HTTP viem](https://viem.sh/docs/clients/transports/http.html) et [Transport WebSocket viem](https://viem.sh/docs/clients/transports/websocket.html)
* Dépôt officiel : [wevm/viem](https://github.com/wevm/viem)

Dans viem, configurez les transports clients à l'aide de `http()` ou `webSocket()`.

### Transport HTTP avec clé API

```typescript
import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";

export const client = createPublicClient({
  chain: mainnet,
  transport: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});
```

### Transport HTTP avec point de terminaison public sans clé

Pour les requêtes de lecture sur les méthodes publiques autorisées sans clé API :

```typescript
import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";

export const publicClient = createPublicClient({
  chain: mainnet,
  transport: http("https://api.blockvectra.com/v1/eth_mainnet/public"),
});
```

### Transport WebSocket

Le transport WebSocket (`webSocket(...)`) est pris en charge sur les chaînes avec `ws: true` dans `GET /v1/chains`, comme sur Robinhood Chain (`robinhood_mainnet`) :

```typescript
import { createPublicClient, webSocket } from "viem";

export const wsClient = createPublicClient({
  transport: webSocket(`wss://api.blockvectra.com/v1/robinhood_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});
```

Pour connaître les paramètres de connexion et les types d'abonnement, consultez le [guide des abonnements WebSocket](https://docs.blockvectra.com/fr/guides/websocket-subscriptions/).

## wagmi

* Documentation officielle : [wagmi createConfig](https://wagmi.sh/core/api/createConfig) et [Transport HTTP wagmi](https://wagmi.sh/core/api/transports/http)
* Dépôt officiel : [wevm/wagmi](https://github.com/wevm/wagmi)

Dans wagmi, transmettez l'URL du RPC BlockVectra à la table `transports` dans `createConfig`.

### Configuration avec clé API

```typescript
import { createConfig, http } from "wagmi";
import { mainnet } from "wagmi/chains";

export const config = createConfig({
  chains: [mainnet],
  transports: {
    [mainnet.id]: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
  },
});
```

### Configuration avec point de terminaison public sans clé

```typescript
import { createConfig, http } from "wagmi";
import { mainnet } from "wagmi/chains";

export const config = createConfig({
  chains: [mainnet],
  transports: {
    [mainnet.id]: http("https://api.blockvectra.com/v1/eth_mainnet/public"),
  },
});
```

## Coinbase AgentKit

* Documentation officielle : [Documentation Coinbase AgentKit](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
* Dépôt officiel : [coinbase/agentkit](https://github.com/coinbase/agentkit)

Coinbase AgentKit utilise des fournisseurs de portefeuille pour exécuter des actions on-chain. En TypeScript, le `ViemWalletProvider` de `@coinbase/agentkit` encapsule un `WalletClient` viem standard, vous permettant d'acheminer l'exécution des transactions et les requêtes RPC via les points de terminaison BlockVectra.

### Configuration avec ViemWalletProvider

```typescript
import { AgentKit, ViemWalletProvider } from "@coinbase/agentkit";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { mainnet } from "viem/chains";

const account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY as `0x${string}`);

const client = createWalletClient({
  account,
  chain: mainnet,
  transport: http(`https://api.blockvectra.com/v1/eth_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});

const walletProvider = new ViemWalletProvider(client);

export const agentKit = await AgentKit.from({
  walletProvider,
});
```

Pour les opérations de lecture sur les méthodes autorisées, configurez `http("https://api.blockvectra.com/v1/eth_mainnet/public")`.

## MCP distant

Si votre agent se connecte via le Model Context Protocol (Streamable HTTP MCP), connectez-vous au point de terminaison du serveur MCP BlockVectra :

`https://docs.blockvectra.com/mcp`

Pour les instructions de configuration client sur Claude Code, Cursor, VS Code, Codex, Gemini CLI, OpenAI Responses API et Windsurf, consultez [Connexion depuis les clients MCP](https://docs.blockvectra.com/fr/guides/ai-agents/#connecting-from-mcp-clients) dans le guide des agents IA.

## Prochaines étapes

* [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.
* [Suivre le guide d'inscription programmatique](https://docs.blockvectra.com/fr/guides/programmatic-signup/) pour vous inscrire et créer une clé API avec une signature de portefeuille, ou [se connecter à la console](https://console.blockvectra.com/login/?next=%2Fkeys%2F) pour créer une clé.
* [Règles de facturation](https://docs.blockvectra.com/fr/guides/billing-rules/) pour examiner le comptage des Compute Units (CU), les limites de débit et les erreurs non facturées.
