# RPC de blockchain e MCP de documentação para frameworks de agentes

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

Configure o RPC de blockchain no ElizaOS, viem, wagmi ou Coinbase AgentKit usando as receitas abaixo. Desenvolvedores e agentes de IA podem usar primeiro o [MCP de documentação](https://docs.blockvectra.com/en/guides/ai-agents/#connecting-from-mcp-clients) para descobrir métodos e documentação e, em seguida, seguir o [fluxo de cadastro por HTTP](https://docs.blockvectra.com/en/guides/programmatic-signup/) independente para criar uma API key. Use essa chave em requisições de RPC e Data API ou no cabeçalho `x-api-key` do cliente MCP para ferramentas autenticadas; o acesso RPC sem chave é limitado a `public.methods` de cada rede.

## ElizaOS

* Documentação oficial: [elizaOS Documentation](https://elizaos.github.io/eliza/)
* Repositório oficial: [elizaos/eliza](https://github.com/elizaos/eliza)

No elizaOS, as interações com EVM são gerenciadas pelo plugin `@elizaos/plugin-evm`. O plugin lê endpoints de provedores RPC a partir de variáveis de ambiente com o padrão de nomenclatura `ETHEREUM_PROVIDER_<NETWORK>` ou da variável de fallback `EVM_PROVIDER_URL`.

Configure o arquivo `.env` com a chave privada da sua carteira e os endpoints 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
```

Inclua `@elizaos/plugin-evm` na configuração de personagem do seu agente:

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

## viem

* Documentação oficial: [viem Documentation](https://viem.sh/docs/clients/public.html)
* Referência de transportes: [viem HTTP Transport](https://viem.sh/docs/clients/transports/http.html) e [viem WebSocket Transport](https://viem.sh/docs/clients/transports/websocket.html)
* Repositório oficial: [wevm/viem](https://github.com/wevm/viem)

No viem, configure os transportes do cliente usando `http()` ou `webSocket()`.

### Transporte HTTP com API key

```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}`),
});
```

### Transporte HTTP com endpoint público sem chave

Para requisições de leitura em métodos públicos permitidos sem uma API key:

```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"),
});
```

### Transporte WebSocket

O transporte WebSocket (`webSocket(...)`) é compatível com redes que possuem `ws: true` em `GET /v1/chains`, como na 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}`),
});
```

Para parâmetros de conexão e tipos de assinatura, consulte o [guia de assinaturas WebSocket](https://docs.blockvectra.com/en/guides/websocket-subscriptions/).

## wagmi

* Documentação oficial: [wagmi createConfig](https://wagmi.sh/core/api/createConfig) e [wagmi HTTP Transport](https://wagmi.sh/core/api/transports/http)
* Repositório oficial: [wevm/wagmi](https://github.com/wevm/wagmi)

No wagmi, passe a URL RPC da BlockVectra no mapa `transports` dentro de `createConfig`.

### Configuração com API key

```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}`),
  },
});
```

### Configuração com endpoint público sem chave

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

* Documentação oficial: [Coinbase AgentKit Documentation](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
* Repositório oficial: [coinbase/agentkit](https://github.com/coinbase/agentkit)

O Coinbase AgentKit usa provedores de carteira para executar ações on-chain. Em TypeScript, o `ViemWalletProvider` de `@coinbase/agentkit` envolve um `WalletClient` padrão do viem, permitindo rotear a execução de transações e consultas RPC pelos endpoints da BlockVectra.

### Configuração com 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,
});
```

Para operações de leitura em métodos permitidos, configure `http("https://api.blockvectra.com/v1/eth_mainnet/public")`.

## MCP remoto

Se o seu agente se conecta via Model Context Protocol (Streamable HTTP MCP), conecte-se ao endpoint do servidor MCP da BlockVectra:

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

Para instruções de configuração do cliente no Claude Code, Cursor, VS Code, Codex, Gemini CLI, OpenAI Responses API e Windsurf, consulte [Como se conectar de clientes MCP](https://docs.blockvectra.com/en/guides/ai-agents/#connecting-from-mcp-clients) no guia de agentes de IA.

## Próximos passos

* [Conecte um agente de IA](https://docs.blockvectra.com/en/guides/ai-agents/) para descobrir endpoints com MCP, llms.txt e OpenAPI.
* [Siga o guia de cadastro programático](https://docs.blockvectra.com/en/guides/programmatic-signup/) para se cadastrar e criar uma API key com assinatura de carteira, ou [faça login no console](https://console.blockvectra.com/login/?next=%2Fkeys%2F) para criar uma chave.
* [Regras de cobrança](https://docs.blockvectra.com/en/guides/billing-rules/) para conferir a medição de Compute Units (CU), limites de taxa e erros não cobrados.
