Agent 框架接入配方:ElizaOS、viem、wagmi、Coinbase AgentKit
主流 Web3 Agent 与应用开发框架接入 BlockVectra 的配置配方:涵盖 ElizaOS、viem、wagmi 与 Coinbase AgentKit 的 RPC 与 WebSocket 端点配置。
自主 AI Agent 与 Web3 应用开发框架通过 JSON-RPC 与 WebSocket 传输层与区块链网络交互。BlockVectra 提供携带 API key 的专用端点、支持公开只读方法的免 key 端点,以及用于工具发现的模型上下文协议(MCP)服务。
ElizaOS
- 官方文档:elizaOS 文档
- 官方仓库:elizaos/eliza
在 elizaOS 中,EVM 链上交互由 @elizaos/plugin-evm 插件支持。该插件通过环境变量读取 RPC 端点,变量名遵循 ETHEREUM_PROVIDER_<NETWORK> 命名规则,或使用通用的 EVM_PROVIDER_URL 变量。
在 .env 文件中配置钱包私钥与 RPC 端点:
# 用于交易签名的 EVM 钱包私钥
export EVM_PRIVATE_KEY=0x...
# 携带 API key 的专用 RPC 端点
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}
# 免 key 的公开 RPC 端点
# export ETHEREUM_PROVIDER_ETHEREUM=https://api.blockvectra.com/v1/eth_mainnet/public在 Agent 角色定义文件中声明 @elizaos/plugin-evm:
{
"name": "DeFiAgent",
"plugins": ["@elizaos/plugin-evm"]
}viem
- 官方文档:viem 文档
- 传输层参考:viem HTTP Transport 与 viem WebSocket Transport
- 官方仓库:wevm/viem
在 viem 中,通过 http() 或 webSocket() 配置客户端传输层。
携带 API key 的 HTTP 传输
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}`),
});免 key 的公开端点 HTTP 传输
在允许的公开只读方法上免 key 调用:
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"),
});WebSocket 传输
WebSocket 传输(webSocket(...))用于 GET /v1/chains 中声明 ws: true 的链,例如 Robinhood Chain 上(robinhood_mainnet):
import { createPublicClient, webSocket } from "viem";
export const wsClient = createPublicClient({
transport: webSocket(`wss://api.blockvectra.com/v1/robinhood_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});有关订阅类型与连接详情,请参阅 WebSocket 订阅指南。
wagmi
- 官方文档:wagmi createConfig 与 wagmi HTTP Transport
- 官方仓库:wevm/wagmi
在 wagmi 中,将 BlockVectra RPC 地址传入 createConfig 的 transports 映射中。
携带 API key 的配置
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}`),
},
});免 key 公开端点的配置
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
- 官方文档:Coinbase AgentKit 文档
- 官方仓库:coinbase/agentkit
Coinbase AgentKit 通过钱包 Provider(Wallet Provider)执行链上动作。在 TypeScript 中,@coinbase/agentkit 提供的 ViemWalletProvider 包装标准的 viem WalletClient,可将交易广播与 RPC 查询定向至 BlockVectra 端点。
使用 ViemWalletProvider 配置
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,
});对于调用受支持只读方法的场景,可直接配置 http("https://api.blockvectra.com/v1/eth_mainnet/public")。
远程 MCP
如果你的 Agent 通过模型上下文协议(Model Context Protocol,Streamable HTTP MCP)接入,可以直接连接 BlockVectra MCP 服务端点:
https://docs.blockvectra.com/mcp
针对 Claude Code、Cursor、VS Code、Codex、Gemini CLI、OpenAI Responses API 及 Windsurf 等客户端的配置说明,请参阅 接入 AI Agent 指南中的「在各客户端中接入」。
下一步
- 接入 AI Agent:通过 MCP、llms.txt 和 OpenAPI 自动发现接口。
- 参考程序化开户指南通过钱包签名自主开户建 key,或登录控制台创建 key。
- 计费与结算规则:查看计算单元(CU)计量、速率限额与不计费错误。
最后更新: