# Gunakan RPC blockchain di Agent ElizaOS dengan BlockVectra

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

Agent ElizaOS terhubung ke chain EVM melalui `@elizaos/plugin-evm`, yang membaca URL RPC-nya dari lingkungan. Atur `EVM_PROVIDER_URL` ke `https://api.blockvectra.com/v1/eth_mainnet/public` dan plugin akan memakai BlockVectra untuk Ethereum mainnet tanpa API key. Paket Gratis menambahkan metode yang memerlukan API key dengan 30,000,000 CU per jendela 30 hari. Diperiksa pada 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"] } }
}
```

Instal plugin dengan `bun add @elizaos/plugin-evm`. Ethereum mainnet aktif secara default; setiap chain lain yang Anda cantumkan di `settings.chains.evm` harus memakai nama ekspor `viem/chains`-nya, dan variabel URL-nya adalah `ETHEREUM_PROVIDER_<CHAIN_NAME>` dalam huruf kapital, seperti di [README plugin di npm](https://www.npmjs.com/package/@elizaos/plugin-evm).

## Gunakan API key

Endpoint publik hanya mencakup metode dalam `public.methods` setiap chain. Untuk metode lainnya, letakkan API key di path URL (`/v1/{chain}/{api_key}`). Plugin hanya menerima URL, sehingga ini satu-satunya tempat API key dikirim lewat path. Ekspor variabel di shell yang memulai Agent agar API key tidak pernah masuk ke file yang Anda commit:

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

URL dapat muncul di log, proxy, dan pesan error, jadi gunakan API key terpisah dengan `cu_cap` rendah untuk Agent, dan cabut di konsol jika bocor.

Untuk membuat API key tanpa browser, ikuti empat langkah dalam [panduan pendaftaran terprogram](https://docs.blockvectra.com/id/guides/programmatic-signup/?ref=docs-elizaos): challenge, tanda tangan, login, lalu `POST /keys`. Pengembang juga dapat [membuat API key di konsol](https://console.blockvectra.com/login/?next=%2Fkeys%2F\&ref=docs-elizaos). API key yang sama berlaku di semua chain, sehingga satu API key melayani setiap variabel `ETHEREUM_PROVIDER_*`.

## Tambahkan server MCP dokumentasi

`@elizaos/plugin-mcp` memungkinkan karakter memakai server MCP jarak jauh melalui Streamable HTTP. Instal dengan `bun add @elizaos/plugin-mcp`, lalu daftarkan server dokumentasi BlockVectra di pengaturan karakter:

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

Agent kemudian dapat memanggil `list_chains`, `get_status`, `rpc_call`, `read_doc`, dan alat lain yang tercantum di [halaman server MCP](https://docs.blockvectra.com/id/guides/mcp-server/), tanpa API key. Opsi HTTP yang didokumentasikan plugin adalah `type`, `url`, dan `timeout`; plugin tidak mendokumentasikan opsi header, sehingga alat MCP yang memerlukan API key tidak dapat dijangkau dari konfigurasi ini. Tetap lakukan pembacaan yang memerlukan API key di `plugin-evm` seperti di atas.

## Error yang mungkin Anda lihat

| Respons                               | Arti                                                                | Yang harus dilakukan                                                          |
| ------------------------------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| HTTP 401, `-32024`, `missing_api_key` | URL yang memerlukan API key dipanggil tanpa API key                 | Letakkan API key di path atau header `x-api-key`                              |
| HTTP 401, `-32024`, `invalid_api_key` | API key tidak dikenal, dinonaktifkan, atau dicabut                  | Periksa API key di konsol; API key baru memerlukan beberapa detik untuk aktif |
| `-32601`, `method_not_public`         | Metode tidak ada di `public.methods` chain                          | Ganti URL chain tersebut dari `/public` ke bentuk dengan API key              |
| Chain tidak dikenali                  | Nama di `settings.chains.evm` tidak cocok dengan nama `viem/chains` | Gunakan nama `viem/chains` yang persis                                        |

Setiap error BlockVectra memuat `data.reason` dan `docs_url`; daftar lengkapnya ada di [halaman error](https://docs.blockvectra.com/id/errors/).

## Dokumentasi resmi

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

## Pertanyaan umum

**Apakah `EVM_PROVIDER_URL` berlaku untuk Base?** Tidak. Variabel ini hanya mengatur Ethereum mainnet; chain lain memakai `ETHEREUM_PROVIDER_<CHAIN_NAME>`.

**Dapatkah Agent menandatangani dan mengirim transaksi melalui endpoint publik?** `eth_sendRawTransaction` ada di `public.methods` untuk chain yang mencantumkannya, dengan batas laju per IP sendiri yang lebih rendah di `public.send_raw_rate_limit` dalam `GET /v1/chains`. Baca batasnya di sana sebelum membangun di atasnya.

**Apakah saya memerlukan API key untuk server MCP?** Tidak. Terhubung serta alat dokumentasi, chain, dan harga tidak memerlukan API key.

## Langkah selanjutnya

* [Ikhtisar framework Agent](https://docs.blockvectra.com/id/guides/agent-frameworks/) untuk LangChain, viem, wagmi, dan Coinbase AgentKit.
* [Hubungkan AI Agent](https://docs.blockvectra.com/id/guides/ai-agents/) untuk menemukan endpoint dengan MCP, llms.txt, dan OpenAPI.
* [Aturan penagihan](https://docs.blockvectra.com/id/guides/billing-rules/) untuk pengukuran CU, batas laju, dan error yang tidak ditagih.
