# Блокчейн-RPC в агентах ElizaOS з BlockVectra

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

Агенти ElizaOS працюють з EVM-мережами через `@elizaos/plugin-evm`, який читає свої RPC URL зі змінних середовища. Задайте `EVM_PROVIDER_URL` як `https://api.blockvectra.com/v1/eth_mainnet/public`, і плагін використовуватиме BlockVectra для Ethereum mainnet без API key. Безкоштовний план додає методи з ключем: 30,000,000 CU на 30-денне вікно. Перевірено 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"] } }
}
```

Встановіть плагін через `bun add @elizaos/plugin-evm`. Ethereum mainnet увімкнено за замовчуванням; кожна інша мережа в `settings.chains.evm` має називатися так, як її експортує `viem/chains`, а змінна з її URL — `ETHEREUM_PROVIDER_<CHAIN_NAME>` у верхньому регістрі, як описано в [README плагіна на npm](https://www.npmjs.com/package/@elizaos/plugin-evm).

## Використання API key

Публічні ендпоінти покривають лише методи з `public.methods` кожної мережі. Для решти вкажіть ключ у шляху URL (`/v1/{chain}/{api_key}`). Плагін приймає лише URL, тому це єдине місце, де ключ передається в шляху. Експортуйте змінні в оболонці, яка запускає агента, щоб ключ не потрапив у файл, який ви комітите:

```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 можуть потрапляти в журнали, проксі та повідомлення про помилки, тож використовуйте для агента окремий ключ з низьким `cu_cap` і відкличте його в консолі, якщо він витече.

Щоб створити ключ без браузера, виконайте чотири кроки з [посібника з програмної реєстрації](https://docs.blockvectra.com/uk/guides/programmatic-signup/?ref=docs-elizaos): challenge, підпис, вхід, потім `POST /keys`. Розробники також можуть [створити ключ у консолі](https://console.blockvectra.com/login/?next=%2Fkeys%2F\&ref=docs-elizaos). Той самий ключ працює в кожній мережі, тож один ключ обслуговує всі змінні `ETHEREUM_PROVIDER_*`.

## Додайте docs MCP-сервер

`@elizaos/plugin-mcp` дає персонажу змогу використовувати віддалені MCP-сервери через Streamable HTTP. Встановіть його через `bun add @elizaos/plugin-mcp`, а потім зареєструйте docs-сервер BlockVectra в налаштуваннях персонажа:

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

Тоді агент може без ключа викликати `list_chains`, `get_status`, `rpc_call`, `read_doc` та інші інструменти зі [сторінки MCP-сервера](https://docs.blockvectra.com/uk/guides/mcp-server/). Задокументовані HTTP-параметри плагіна: `type`, `url` і `timeout`; параметра для заголовків у документації немає, тому інструменти MCP з ключем із такої конфігурації недосяжні. Читання з ключем залишайте в `plugin-evm`, як описано вище.

## Помилки, які ви можете побачити

| Відповідь                             | Значення                                                             | Що робити                                                         |
| ------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------- |
| HTTP 401, `-32024`, `missing_api_key` | URL із ключем викликано без ключа                                    | Вкажіть ключ у шляху або в заголовку `x-api-key`                  |
| HTTP 401, `-32024`, `invalid_api_key` | Ключ невідомий, вимкнений або відкликаний                            | Перевірте ключ у консолі; новий ключ активується за кілька секунд |
| `-32601`, `method_not_public`         | Методу немає в `public.methods` мережі                               | Перемкніть URL цієї мережі з `/public` на форму з ключем          |
| Мережу не розпізнано                  | Назва в `settings.chains.evm` не збігається з назвою з `viem/chains` | Використайте точну назву з `viem/chains`                          |

Кожна помилка BlockVectra містить `data.reason` і `docs_url`; повний список — на [сторінці помилок](https://docs.blockvectra.com/uk/errors/).

## Офіційна документація

* [Документація ElizaOS](https://elizaos.github.io/eliza/)
* [elizaos/eliza на GitHub](https://github.com/elizaos/eliza)
* [`@elizaos/plugin-evm` на npm](https://www.npmjs.com/package/@elizaos/plugin-evm)
* [`@elizaos/plugin-mcp` на npm](https://www.npmjs.com/package/@elizaos/plugin-mcp)

## Поширені запитання

**Чи застосовується `EVM_PROVIDER_URL` до Base?** Ні. Він задає лише Ethereum mainnet; інші мережі використовують `ETHEREUM_PROVIDER_<CHAIN_NAME>`.

**Чи може агент підписувати й надсилати транзакції через публічний ендпоінт?** `eth_sendRawTransaction` входить до `public.methods` для мереж, які його вказують, з окремим нижчим лімітом швидкості на IP у `public.send_raw_rate_limit` в `GET /v1/chains`. Перш ніж на нього спиратися, прочитайте цей ліміт там.

**Чи потрібен ключ для MCP-сервера?** Ні. Підключення та інструменти документації, мереж і цін працюють без ключа.

## Наступні кроки

* [Огляд фреймворків агентів](https://docs.blockvectra.com/uk/guides/agent-frameworks/) для LangChain, viem, wagmi і Coinbase AgentKit.
* [Підключення AI-агента](https://docs.blockvectra.com/uk/guides/ai-agents/) для виявлення ендпоінтів через MCP, llms.txt і OpenAPI.
* [Правила тарифікації](https://docs.blockvectra.com/uk/guides/billing-rules/) щодо обліку CU, лімітів швидкості та помилок, що не тарифікуються.
