Блокчейн-RPC та docs MCP для AI-агентів

Підключайте AI-агентів до блокчейн-RPC та docs MCP: дізнавайтеся про можливості без ключа, реєструйтеся через HTTP, а потім викликайте RPC та Data API за допомогою API key.

Почніть із docs MCP ендпоінта без ключа, щоб дізнатися про методи блокчейн-RPC, набори даних Data API, ціни та документацію. AI-агенти є першокласними користувачами: розробники та AI-агенти використовують ті самі API, правила, ліміти та ціни.

  1. Дослідження: використовуйте docs MCP, llms.txt, OpenAPI та публічний JSON для вибору мережі й методу. Виклики RPC без ключа обмежені списком public.methods мережі.
  2. Відкриття акаунта через HTTP: дотримуйтесь посібника з програмної реєстрації, щоб увійти за допомогою підпису гаманця та створити API key. Інструмент MCP how_to_get_api_key повертає інструкції для цього окремого процесу через HTTP.
  3. Виклик Data API: зберігайте ключ у змінній BLOCKVECTRA_API_KEY та використовуйте його для автентифікованих запитів до RPC або Data API. Для інструментів MCP з ключем налаштуйте заголовок клієнта x-api-key; дозволені операції для кожного інструмента наведено нижче.

1. Машинозчитуваний контекст та специфікації

BlockVectra публікує файли, призначені для LLM-агентів та інструментів розробника:

Індекси llms.txt

Відповідно до конвенції llmstxt.org, ці файли надають агентам структурований огляд сайту та його ендпоінтів:

  • Індекс головного сайту: llms.txt головного сайту — огляд головного сайту, підтримуваних мереж, цін та публічних API.
  • Індекс документації: llms.txt документації — каталог кожної сторінки документації з її назвою та описом.

Повний файл документації (llms-full.txt)

  • Повна документація: llms-full.txt — повний текст кожної англійської сторінки документації в одному текстовому файлі Markdown, що підходить для завантаження в системний промпт агента або додавання до конвеєра Retrieval-Augmented Generation (RAG).

Специфікації OpenAPI 3.1 для завантаження

Сайт документації надає файли OpenAPI 3.1 YAML, які можна імпортувати безпосередньо у фреймворки агентів, генератори інструментів або клієнти API:

  • Специфікація JSON-RPC API: /openapi/json-rpc.yaml — підтримувані методи, політика методів для кожної мережі, відповіді з помилками та облік Compute Units.
  • Специфікація Data API: /openapi/data.yaml — визначення REST-ендпоінтів для індексованих блоків, транзакцій, переказів, балансів, холдерів та пов'язаних наборів даних.
  • Специфікація Push API: /openapi/push.yaml — керування підписками через HTTP, адреси гаманців під спостереженням, події вебхуків, підписи та повторне відтворення.

Щоб відстежувати активність адрес гаманців, перегляньте Посібник з Blockchain Webhook API. Для сповіщень про платежі ERC-20 USDT / USDC використовуйте приклад отримувача платежів. Розробники та AI-агенти створюють підписки та керують ними через HTTP Push API за допомогою x-api-key; docs MCP забезпечує пошук і читання цих посібників.

Інформацію про версіонування шляхів, правила зворотної сумісності та рекомендації для агентів і авторів SDK див. у розділі Версіонування та сумісність API. Готові рецепти для популярних фреймворків (ElizaOS, viem, wagmi, Coinbase AgentKit) див. у розділі Рецепти для фреймворків агентів.

Сервер Model Context Protocol (MCP)

BlockVectra надає безстанний (stateless) MCP-сервер без ключа через Streamable HTTP:

  • Ендпоінт: MCP ендпоінт (HTTP POST, що приймає JSON-RPC 2.0; GET повертає 405)
  • Транспорт: MCP Streamable HTTP (без стану, API key не потрібен)

Доступні інструменти

  1. read_doc(path, lang?): повертає необроблений вміст Markdown для будь-якої сторінки документації з /md/{lang}/{path}.md. Приймає внутрішні відносні шляхи (наприклад, quickstart, guides/ai-agents, api/json-rpc, chains).
  2. search_docs(query, lang?, limit?): виконує пошук сторінок документації за назвами, шляхами та описами.
  3. list_chains(): читає підтримувані блокчейн-мережі, статичні параметри та політики методів з GET /v1/chains.
  4. get_status(): читає стан готовності сервісу в реальному часі, статус мереж, висоту останніх блоків та затримку синхронізації з GET /v1/status.
  5. get_pricing(): зчитує вагу Compute Units (CU), параметри безкоштовного плану та ліміти ключів за замовчуванням з GET /v1/plans.
  6. estimate_usage(lines?, method?, calls_per_day?): оцінює Compute Units (CU), базову вартість та чисту вартість після вирахування безкоштовної квоти циклу для одного чи кількох методів (підтримує кілька рядків lines: [{method, calls_per_day}] або окремі method та calls_per_day). Також повідомляє ліміти швидкості на кожен ключ з key_defaults та пропонує кількість необхідних API keys, якщо трафік перевищує ліміти одного ключа.
  7. how_to_get_api_key(lang?): повертає кроки передачі API key та формати автентифікації запитів для JSON-RPC і Data API.
  8. get_method_info(method, chain?): повертає доступність у мережі, вагу Compute Units (CU), ціну за мільйон викликів та посилання на документацію для методу. Доступність JSON-RPC відповідає methods.allow та deny у GET /v1/chains; покриття наборів даних Data API відповідає data_features у GET /v1/status з data: true у каталозі мереж.
  9. explain_error(reason?, code?, http_status?): шукає пояснення помилок, вплив на тарифікацію, можливість повтору та дії для відновлення з каталогу помилок.
  10. list_docs(lang?): виводить список усіх сторінок документації з відносними шляхами та назвами з індексу документації.
  11. rpc_call(chain, method, params?): виконує виклик JSON-RPC 2.0 лише для читання в підтримуваній мережі з вашим API key (readOnlyHint: true). Методи запису (такі як eth_sendRawTransaction) відхиляються; замість них використовуйте send_raw_transaction. Вимагає заголовка x-api-key у конфігурації клієнта MCP для повного доступу або використовує публічний ендпоінт без ключа, якщо він доступний.
  12. data_api_get(chain, path, query?): надсилає GET-запит до Data API для підтримуваної мережі та шляху з вашим API key (readOnlyHint: true). Вимагає заголовка x-api-key у конфігурації клієнта MCP.
  13. get_account(): запитує баланс акаунта, Compute Units (CU), ліміти швидкості та параметри ключа з GET /v1/account з вашим API key (readOnlyHint: true). Вимагає заголовка x-api-key у конфігурації клієнта MCP.
  14. get_deposit_address(): запитує виділену ончейн-адресу депозиту, доступні мережі та токени з GET /v1/topup/deposit-address з вашим API key (readOnlyHint: true). Переказуйте кошти лише на перелічені мережі та токени. Вимагає заголовка x-api-key у конфігурації клієнта MCP.
  15. send_raw_transaction(chain, raw_tx): транслює підписану необроблену транзакцію в підтримувану мережу через eth_sendRawTransaction (destructiveHint: true). Вимагає заголовка x-api-key у конфігурації клієнта MCP для повного доступу або використовує публічний ендпоінт без ключа, якщо це дозволено в мережі.

Інструменти з ключем

Інструменти з ключем вимагають API key для виконання ончейн-запитів, транзакцій, звернень до Data API або операцій з акаунтом.

Безпека API key:

  • Зчитування виключно із заголовків: API key зчитується лише з HTTP-заголовків запиту клієнта MCP (x-api-key: rgw_... або Authorization: Bearer rgw_...).
  • Ніколи не додавайте ключі в чат: ніколи не передавайте API keys або приватні ключі в аргументах інструментів і не вставляйте їх у чат. Аргументи інструментів та історія чату потрапляють до журналів і контекстів розмови; передача ключів в аргументах буде відхилена.

Якщо ці інструменти викликаються без заголовка API key, вони повертають isError: true та спрямовують агента до how_to_get_api_key і посібника з програмної реєстрації.

Підключення з клієнтів MCP

Ви можете підключитися до сервера MCP документації BlockVectra за адресою https://docs.blockvectra.com/mcp у типових середовищах розробки та фреймворках.

Почніть без API key. Підключіться до ендпоінта MCP, викличте list_chains, а потім прочитайте quickstart за допомогою read_doc. Додайте API key у HTTP-заголовки вашого клієнта, коли вам знадобляться Data API або інструменти акаунта. Доступ до RPC без ключа визначається політикою публічних методів кожної мережі.

Заголовок x-api-key є необов'язковим. Без API key клієнти можуть використовувати всі інструменти документації лише для читання (read_doc, search_docs, list_docs), дослідження мереж (list_chains), актуальний статус (get_status), оцінку вартості (get_pricing, estimate_usage), пояснення помилок (explain_error) та методи, дозволені на публічних ендпоінтах. Якщо ви використовуєте інструменти з ключем (rpc_call для обмежених методів, send_raw_transaction, data_api_get, get_account та get_deposit_address), налаштуйте заголовок x-api-key зі своїм API key.

Claude Code

Підключіться до MCP-сервера через CLI:

claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp

Щоб додати необов'язковий API key для автентифікованих інструментів, передайте прапорець --header (або -H):

claude mcp add --transport http blockvectra-docs https://docs.blockvectra.com/mcp \
  --header "x-api-key: YOUR_API_KEY"

Офіційна документація: Документація Claude Code MCP.

Cursor

Додайте сервер до конфігурації MCP у Cursor:

{
  "mcpServers": {
    "blockvectra": {
      "url": "https://docs.blockvectra.com/mcp"
    }
  }
}

Cursor також підтримує встановлення в один клік через діплінки за допомогою закодованої в base64 конфігурації eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9 (що відповідає {"url":"https://docs.blockvectra.com/mcp"}):

cursor://anysphere.cursor-deeplink/mcp/install?name=blockvectra&config=eyJ1cmwiOiJodHRwczovL2RvY3MuYmxvY2t2ZWN0cmEuY29tL21jcCJ9

Коли вам знадобляться автентифіковані інструменти (Data API або керування акаунтом), додайте об'єкт headers зі своїм API key:

{
  "mcpServers": {
    "blockvectra": {
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Офіційна документація: Документація Cursor MCP та Посилання для встановлення Cursor.

VS Code

У VS Code налаштуйте сервер у файлі .vscode/mcp.json під кореневим ключем servers з типом type: "http":

{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp"
    }
  }
}

Коли вам знадобляться автентифіковані інструменти, додайте об'єкт headers:

{
  "servers": {
    "blockvectra": {
      "type": "http",
      "url": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Для збереження конфіденційних облікових даних VS Code підтримує посилання на вхідні змінні або файли середовища замість прямого внесення ключів у конфігурацію. Ви також можете додавати сервери за допомогою команди Command Palette MCP: Add Server.

Офіційна документація: Документація серверів VS Code MCP та Довідник з конфігурації VS Code MCP.

Codex

Додайте сервер за допомогою CLI OpenAI Codex:

codex mcp add blockvectra --url https://docs.blockvectra.com/mcp

У config.toml налаштуйте URL сервера:

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"

Коли вам знадобляться автентифіковані інструменти, налаштуйте заголовки запитів у config.toml:

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
http_headers = { "x-api-key" = "YOUR_API_KEY" }

Або зіставте заголовок зі змінної середовища:

[mcp_servers.blockvectra]
url = "https://docs.blockvectra.com/mcp"
env_http_headers = { "x-api-key" = "BLOCKVECTRA_API_KEY" }

Офіційна документація: Документація OpenAI Codex CLI MCP.

Gemini CLI

У конфігурації Gemini CLI додайте сервер у mcpServers, використовуючи httpUrl для Streamable HTTP:

{
  "mcpServers": {
    "blockvectra": {
      "httpUrl": "https://docs.blockvectra.com/mcp"
    }
  }
}

Коли вам знадобляться автентифіковані інструменти, додайте об'єкт headers зі своїм API key:

{
  "mcpServers": {
    "blockvectra": {
      "httpUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Офіційна документація: Документація MCP-сервера Gemini CLI.

OpenAI Responses API

Під час виклику OpenAI Responses API передайте MCP-сервер у масиві tools із типом type: "mcp":

OPENAI_API_BASE="https://api.openai.com/v1"
curl "$OPENAI_API_BASE/responses" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "tools": [{
      "type": "mcp",
      "server_label": "blockvectra",
      "server_url": "https://docs.blockvectra.com/mcp",
      "require_approval": "never"
    }],
    "input": "..."
  }'

Коли вам знадобляться автентифіковані інструменти, включіть поле headers у визначення інструмента:

{
  "type": "mcp",
  "server_label": "blockvectra",
  "server_url": "https://docs.blockvectra.com/mcp",
  "headers": { "x-api-key": "YOUR_API_KEY" },
  "require_approval": "never"
}

Офіційна документація: Посібник з інструментів OpenAI MCP та Довідник OpenAI Responses API.

Windsurf

У Windsurf налаштуйте сервер у розділі mcpServers, використовуючи поле serverUrl:

{
  "mcpServers": {
    "blockvectra": {
      "serverUrl": "https://docs.blockvectra.com/mcp"
    }
  }
}

Коли вам знадобляться автентифіковані інструменти, додайте об'єкт headers зі своїм API key:

{
  "mcpServers": {
    "blockvectra": {
      "serverUrl": "https://docs.blockvectra.com/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

Windsurf також підтримує посилання на змінні середовища, наприклад "x-api-key": "${env:BLOCKVECTRA_API_KEY}".

Офіційна документація: Документація Windsurf MCP.

Claude Desktop та claude.ai

Користувацькі конектори налаштовуються через інтерфейс користувача:

  • claude.ai: перейдіть до Customize > Connectors, натисніть + Add, виберіть Add custom connector та введіть URL:
    https://docs.blockvectra.com/mcp
  • Claude Desktop: відкрийте меню налаштувань акаунта та налаштуйте користувацькі конектори через інтерфейс конекторів.

Підключення до цього URL дозволяє Claude шукати посібники, читати документацію у форматі Markdown, переглядати підтримувані мережі, перевіряти статус мережі та розраховувати оцінку вартості без облікових даних.

Офіційна документація: Посібник з користувацьких конекторів Claude.

2. Публічні JSON-ендпоінти (ключ не потрібен)

Агент може перевірити доступні мережі, актуальний статус та параметри плану перед надсиланням будь-якого тарифікованого запиту. Жоден із цих ендпоінтів не потребує API key:

  • GET /v1/status та GET /v1/chains не вимагають автентифікації та не тарифікуються.
  • GET /v1/plans є публічним і не вимагає автентифікації.

Усі три надсилають заголовок Access-Control-Allow-Origin: *.

Статус сервісу (GET /v1/status)

Повертає готовність сервісу та статус синхронізації кожної публічної мережі:

curl -s "https://api.blockvectra.com/v1/status"

Поля відповіді:

  • checked_at: час генерації знімка стану (RFC 3339 / ISO 8601 UTC).
  • gateway.status: статус роботи сервісу. Значення ok означає, що сервіс готовий; degraded означає, що платні запити відхиляються до відновлення. Це значення не залежить від статусу вузлів будь-якої конкретної мережі.
  • chains[]: мережі, доступні для публіки:
    • chain: ідентифікатор мережі (slug, наприклад robinhood_mainnet).
    • name: зрозуміла для людини відображувана назва.
    • chain_id: EIP-155 chain ID (десяткове ціле число).
    • jsonrpc: чи надається доступ до JSON-RPC.
    • data: чи надається доступ до Data API.
    • data_features: можливості Data API, доступні для цієї мережі (порожній масив, якщо data має значення false).
    • data_status: статус роботи Data API (ok, syncing або unavailable; присутній, лише якщо data має значення true).
    • status: статус вузла мережі (ok або unavailable).
    • head: інформація про останній блок — block (висота останнього блоку), time (мітка часу блоку) та lag_seconds (на скільки час блоку відстає від поточного часу) — або null, якщо невідомо.

Приклад відповіді:

{
  "checked_at": "2026-09-28T12:00:00Z",
  "gateway": {
    "status": "ok"
  },
  "chains": [
    {
      "chain": "robinhood_mainnet", "name": "Robinhood Chain", "chain_id": 4663,
      "jsonrpc": true,
      "data": true,
      "data_features": [
        "blocks",
        "transactions",
        "address_transactions",
        "transfers",
        "token_metadata",
        "freshness"
      ],
      "status": "ok",
      "head": {
        "block": 73017329,
        "time": "2026-09-28T11:59:58Z",
        "lag_seconds": 2
      }
    }
  ]
}

Параметри мереж (GET /v1/chains)

Повертає статичні параметри та політику методів для кожної публічної мережі:

curl -s "https://api.blockvectra.com/v1/chains"

Поля відповіді:

  • chains[]: публічні мережі та їхні статичні параметри:
    • chain: ідентифікатор мережі (slug).
    • name: зрозуміла для людини відображувана назва.
    • chain_id: EIP-155 chain ID.
    • jsonrpc: чи надається доступ до JSON-RPC.
    • data: чи надається доступ до Data API.
    • ws: чи підтримуються підключення WebSocket.
    • subscriptions: підтримувані типи підписок WebSocket (наприклад, newHeads, logs).
    • methods: політика методів:
      • allow: дозволені назви методів (наприклад, eth_call, debug_traceTransaction).
      • deny: заборонені методи або шаблони префіксів із символом підстановки (наприклад, eth_newFilter). Заборонені методи мають пріоритет над дозволеними.
    • max_logs_block_range: максимальний діапазон блоків, дозволений в одному запиті eth_getLogs.
    • state_window_blocks: вікно історичного стану в блоках; null, якщо доступна повна історія.
    • info: публічні дані розширення для мережі (зарезервовано; наразі порожній об'єкт {}).
    • public: конфігурація публічного ендпоінта без автентифікації (або null):
      • url: базовий URL для публічних запитів.
      • methods: методи, дозволені на публічному ендпоінті.
      • rate_limit: обмеження швидкості (per_ip_rps, burst, batch_max).
      • history_blocks: історія блоків, доступна на публічному ендпоінті.
      • send_raw_rate_limit: обмеження швидкості для трансляції транзакцій через eth_sendRawTransaction.

Приклад відповіді:

{
  "chains": [
    {
      "chain": "robinhood_mainnet", "name": "Robinhood Chain", "chain_id": 4663,
      "jsonrpc": true,
      "data": true,
      "ws": true,
      "subscriptions": [
        "newHeads",
        "logs"
      ],
      "methods": {
        "allow": [
          "eth_blockNumber",
          "eth_call",
          "eth_chainId",
          "debug_traceTransaction"
        ],
        "deny": [
          "eth_newFilter",
          "eth_newBlockFilter",
          "eth_newPendingTransactionFilter",
          "eth_getFilterLogs",
          "eth_getFilterChanges",
          "eth_uninstallFilter",
          "eth_subscribe",
          "eth_unsubscribe"
        ]
      },
      "max_logs_block_range": 1000,
      "state_window_blocks": 900,
      "info": {},
      "public": {
        "url": "https://api.blockvectra.com/v1/robinhood_mainnet/public",
        "methods": [
          "eth_chainId",
          "net_version",
          "eth_blockNumber",
          "eth_call"
        ],
        "rate_limit": {
          "per_ip_rps": 3,
          "burst": 20,
          "batch_max": 10
        },
        "history_blocks": 128,
        "send_raw_rate_limit": {
          "per_ip_rps": 1,
          "burst": 3
        }
      }
    }
  ]
}

Плани та вага методів (GET /v1/plans)

Параметри плану надаються за адресою GET https://console-api.blockvectra.com/v1/plans. Агент може надіслати запит до цього ендпоінта під час виконання, щоб дізнатися про активні ліміти безкоштовного плану та вагу кожного методу в Compute Units (CU):

  • free: параметри безкоштовного плану (Free Plan) — signup_units (бонус за реєстрацію в одиницях), monthly_units (рівень поповнення циклу в одиницях), window_days (тривалість циклу використання в днях) та max_calls_per_sec (обмеження викликів на секунду для безкоштовного плану).
  • pricing: параметри платного плану — units_per_usd (одиниць за 1 USD), cu_per_unit (CU на одиницю) та min_topup_usd (мінімальне поповнення в USD).
  • method_weights: вага виклику в CU, кожен об'єкт має вигляд { "method": string, "cu_weight": number }. Поле method вказує назву або шаблон методу JSON-RPC, стандартну вагу для неперелічених методів або операцію Data API, таку як data.<op>. Вага встановлюється для кожного методу і не розділяється за мережами.

3. Автентифікація та безпека ключів

Агенти, що виконують виклики RPC, повинні дотримуватися таких правил:

  • Автентифікація: передавайте API key одним із трьох способів. У шляху: POST /v1/{chain}/{api_key} — формат у шляху використовує лише ключ у шляху та ігнорує обидва заголовки. У заголовку x-api-key: POST /v1/{chain} з x-api-key: $BLOCKVECTRA_API_KEY. У заголовку Authorization: POST /v1/{chain} з Authorization: Bearer $BLOCKVECTRA_API_KEY. Якщо присутні обидва заголовки, непорожній x-api-key має пріоритет; заголовок Bearer використовується лише тоді, коли x-api-key відсутній або порожній. Один і той самий ключ працює в кожній підтримуваній мережі, а також у Data API (який приймає ключ лише в заголовку x-api-key).
  • Безпека ключів: зберігайте API keys у змінних середовища на стороні сервера (наприклад, BLOCKVECTRA_API_KEY) або в менеджері секретів. Ніколи не вбудовуйте ключ у код браузера або будь-який клієнтський бандл. Ендпоінти повертають Access-Control-Allow-Origin: *, проте вони призначені для виклику бекенд-сервісами, а не з браузера.
  • Облік та оновлення: використання обліковується в Compute Units (CU): кожен метод споживає CU відповідно до своєї ваги, а баланс, накопичувачі CU та обмеження швидкості безкоштовного плану є спільними для всіх мереж. Після платного поповнення обмеження викликів на секунду безкоштовного плану більше не застосовується; для кожного ключа продовжують діяти ліміт швидкості в CU та ємність burst. Невикористані безкоштовні кредити залишаються у вашому балансі й можуть використовуватися далі. Подробиці див. на Сторінці цін.

Ще немає API key?

Якщо у вас є Ethereum-гаманець: дотримуйтесь Посібника з програмної реєстрації, щоб зареєструватися та створити API key за допомогою підпису Ethereum-гаманця без використання браузера. Ідентичністю агента є його гаманець: якщо токен сесії або ключ втрачено, повторно автентифікуйтеся за допомогою того самого гаманця для відновлення. Якщо у вас немає гаманця: попросіть користувача увійти на console.blockvectra.com, створити ключ і встановити його як змінну середовища BLOCKVECTRA_API_KEY. Не просіть користувача вставляти ключ у чат.

Запит балансу (GET /v1/account)

Агент може перевірити поточний баланс свого ключа, ліміти CU та параметри ключа безпосередньо без витрачання Compute Units (CU). Формат запиту, обмеження швидкості та повні визначення полів відповіді див. у розділі Запит балансу: GET /v1/account.

4. Робочий процес вибору мережі для агентів

Перед відправленням викликів агент може виконати такі кроки:

  1. Перевірка мережі та її політики методів: викличте GET /v1/chains, переконайтеся, що цільова мережа існує та має jsonrpc: true, і що метод, який ви плануєте викликати, дозволений у methods.allow та не заборонений у methods.deny (заборона має пріоритет).
  2. Перевірка актуального статусу: викличте GET /v1/status та переконайтеся, що gateway.status має значення ok, а status цільової мережі — ok; використовуйте head.lag_seconds, щоб вирішити, чи є дані мережі достатньо свіжими для вашого випадку використання. Коли вузол мережі не синхронізовано, кожен метод, окрім eth_chainId, повертає помилку JSON-RPC -32010 (HTTP 200, не тарифікується), тому агент може зачекати та повторити спробу або вибрати іншу мережу.
  3. Надсилання запиту: виконайте POST /v1/{chain} із заголовком x-api-key та стандартним тілом JSON-RPC.

5. Мінімальний робочий приклад

Наведений нижче приклад зчитує /v1/chains, щоб вибрати мережу, яка дозволяє eth_blockNumber, перевіряє /v1/status, а потім викликає eth_blockNumber один раз.

export BLOCKVECTRA_API_KEY="rgw_your_api_key"

# 1. List public chains and their method policy
curl -s "https://api.blockvectra.com/v1/chains"

# 2. Check the service and per-chain status
curl -s "https://api.blockvectra.com/v1/status"

# 3. Call eth_blockNumber on the chain you selected (e.g. robinhood_mainnet)
curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -H "x-bv-meter: 1" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Успішний виклик повертає стандартний об'єкт відповіді JSON-RPC:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x45a27f1"
}

Щоб перевірити списання CU за запит та залишок одиниць балансу в заголовках відповіді, додайте x-bv-meter: 1. Поведінку заголовків та випадки помилок див. у розділі Заголовки відповіді щодо списання та балансу.

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

Востаннє оновлено:

На цій сторінці