# RPC blockchain và docs MCP cho các framework Agent

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

Cấu hình RPC blockchain trong ElizaOS, viem, wagmi hoặc Coinbase AgentKit theo các ví dụ bên dưới. Nhà phát triển và AI Agent có thể dùng [docs MCP](https://docs.blockvectra.com/vi/guides/ai-agents/#kết-nối-từ-mcp-client) để khám phá các phương thức và tài liệu trước, sau đó làm theo [quy trình đăng ký qua HTTP](https://docs.blockvectra.com/en/guides/programmatic-signup/) riêng để tạo API key. Dùng API key này trong các yêu cầu RPC và Data API hoặc trong header `x-api-key` của MCP client cho các công cụ yêu cầu key; truy cập RPC không cần key chỉ giới hạn ở `public.methods` của từng chuỗi.

## ElizaOS

* Tài liệu chính thức: [Tài liệu elizaOS](https://elizaos.github.io/eliza/)
* Kho mã nguồn chính thức: [elizaos/eliza](https://github.com/elizaos/eliza)

Trong elizaOS, các tương tác EVM được xử lý bởi plugin `@elizaos/plugin-evm`. Plugin đọc endpoint của nhà cung cấp RPC từ các biến môi trường có tên theo mẫu `ETHEREUM_PROVIDER_<NETWORK>`, hoặc biến dự phòng `EVM_PROVIDER_URL`.

Cấu hình tệp `.env` với private key của ví và các endpoint 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
```

Thêm `@elizaos/plugin-evm` vào cấu hình nhân vật của agent:

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

## viem

* Tài liệu chính thức: [Tài liệu viem](https://viem.sh/docs/clients/public.html)
* Tài liệu tham khảo về transport: [viem HTTP Transport](https://viem.sh/docs/clients/transports/http.html) và [viem WebSocket Transport](https://viem.sh/docs/clients/transports/websocket.html)
* Kho mã nguồn chính thức: [wevm/viem](https://github.com/wevm/viem)

Trong viem, cấu hình transport của client bằng `http()` hoặc `webSocket()`.

### Transport HTTP với 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}`),
});
```

### Transport HTTP với endpoint công khai không cần key

Đối với yêu cầu đọc dùng các phương thức công khai được phép mà không cần 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"),
});
```

### Transport WebSocket

Transport WebSocket (`webSocket(...)`) được hỗ trợ trên các chuỗi có `ws: true` trong `GET /v1/chains`, chẳng hạn 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}`),
});
```

Để biết các tham số kết nối và loại đăng ký, xem [hướng dẫn đăng ký WebSocket](https://docs.blockvectra.com/en/guides/websocket-subscriptions/).

## wagmi

* Tài liệu chính thức: [wagmi createConfig](https://wagmi.sh/core/api/createConfig) và [wagmi HTTP Transport](https://wagmi.sh/core/api/transports/http)
* Kho mã nguồn chính thức: [wevm/wagmi](https://github.com/wevm/wagmi)

Trong wagmi, truyền RPC URL của BlockVectra vào ánh xạ `transports` bên trong `createConfig`.

### Cấu hình với 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}`),
  },
});
```

### Cấu hình với endpoint công khai không cần 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/public"),
  },
});
```

## Coinbase AgentKit

* Tài liệu chính thức: [Tài liệu Coinbase AgentKit](https://docs.cdp.coinbase.com/agentkit/docs/welcome)
* Kho mã nguồn chính thức: [coinbase/agentkit](https://github.com/coinbase/agentkit)

Coinbase AgentKit dùng các wallet provider để thực hiện thao tác on-chain. Trong TypeScript, `ViemWalletProvider` từ `@coinbase/agentkit` bọc một `WalletClient` viem tiêu chuẩn, cho phép thực thi giao dịch và truy vấn RPC qua các endpoint BlockVectra.

### Cấu hình với 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,
});
```

Đối với thao tác đọc dùng các phương thức được phép, cấu hình `http("https://api.blockvectra.com/v1/eth_mainnet/public")`.

## MCP từ xa

Nếu agent của bạn kết nối qua Model Context Protocol (Streamable HTTP MCP), hãy kết nối tới endpoint của MCP server BlockVectra:

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

Để xem hướng dẫn cấu hình client cho Claude Code, Cursor, VS Code, Codex, Gemini CLI, OpenAI Responses API và Windsurf, xem [Kết nối từ MCP client](https://docs.blockvectra.com/vi/guides/ai-agents/#kết-nối-từ-mcp-client) trong hướng dẫn AI agent.

## Các bước tiếp theo

* [Kết nối AI agent](https://docs.blockvectra.com/vi/guides/ai-agents/) để khám phá các endpoint bằng MCP, llms.txt và OpenAPI.
* [Làm theo hướng dẫn đăng ký bằng chương trình](https://docs.blockvectra.com/en/guides/programmatic-signup/) để đăng ký và tạo API key bằng chữ ký ví, hoặc [đăng nhập vào console](https://console.blockvectra.com/login/?next=%2Fkeys%2F) để tạo key.
* [Quy tắc tính phí](https://docs.blockvectra.com/vi/guides/billing-rules/) để xem cách đo mức sử dụng Compute Unit (CU), giới hạn tốc độ và các lỗi không bị tính phí.
