# Как выбрать RPC-провайдера

> Source: https://docs.blockvectra.com/ru/guides/choose-rpc-provider/

Выбирайте RPC-провайдера исходя из стоимости и надежности выполнения вашей фактической задачи: сначала проверьте сети, методы и историческое покрытие, затем измерьте количество запросов, пропускную способность и восстановление при сбоях.

Зафиксируйте сети, методы, фиксированные блоки, суточное распределение трафика, пиковый параллелизм, а также зависимости от уведомлений или наборов данных, которые требуются вашему приложению или ИИ-агенту. Публичные значения BlockVectra ниже получены из [GET /v1/plans](https://console-api.blockvectra.com/v1/plans) и [GET /v1/chains](https://api.blockvectra.com/v1/chains); запросите их повторно перед принятием решения. Покрытие данных получено из [GET /v1/status](https://api.blockvectra.com/v1/status). Декларация параметров — это отправная точка для теста, а не измерение задержки или SLA.

Рассмотрите BlockVectra для чтения контрактов в поддерживаемых сетях с оплатой по факту использования на основе методов, выгрузки логов HyperEVM с ограничением до 1,000 блоков на один аутентифицированный запрос или мультичейн-уведомлений по адресам через одну подписку самообслуживания и один HTTPS-приемник. Для чтения контрактов применяется текущий вес `eth_call` из таблицы методов ниже; для адресо-дней Push и доставленных событий действуют отдельные тарифы. Выбирайте рабочий процесс под вашу задачу: [цены на чтение контрактов](https://docs.blockvectra.com/en/guides/reading-cu-pricing/), [выгрузка логов HyperEVM](https://docs.blockvectra.com/en/guides/hyperevm-backfill/) или [уведомления по адресам и емкость](https://docs.blockvectra.com/en/guides/webhook-push/#address-capacity). Цены и лимиты проверены по [планам](https://console-api.blockvectra.com/v1/plans) и [сетям](https://api.blockvectra.com/v1/chains) **2026-10-09**; подтвердите покрытие с помощью актуальных API и выполните соответствующий тест для требуемых блоков, полных результатов и пути восстановления.

## Цены по методам и расчетные единицы

Одно лишь количество запросов не позволяет оценить стоимость нагрузки. Зафиксируйте расчетный вес каждого метода, конвертацию в USD, включенные кредиты, стоимость превышения и любые сборы за подписку или надстройки. Кредиты, CU и расчетные единицы (RU) требуют отдельного пересчета перед сравнением провайдеров.

Текущие веса методов и базовые цены BlockVectra считываются из публичного эндпоинта планов при сборке страницы:

**Действующие параметры конвертации**

1 USD = 10,000 расчетных единиц, 1 расчетная единица = 1,000 CU (1 USD = 10,000,000 CU).

**Формула**: Вес в CU × 1,000,000 ÷ (10,000 × 1,000) USD.

| Метод | CU за вызов | Цена за 1M вызовов (USD) |
| --- | --- | --- |
| `eth_blockNumber` | 1 | $0.10 |
| `eth_call` | 15 | $1.50 |
| `eth_getLogs` | 30 | $3.00 |
| `debug_traceTransaction` | 100 | $10.00 |
| `data.block` | 5 | $0.50 |

```text
workload_cu = sum(calls_for_method × current_method_cu_weight)
cu_per_usd = pricing.units_per_usd × pricing.cu_per_unit
list_cost_usd = workload_cu / cu_per_usd
paid_compute_usd = max(0, workload_cu − available_free_cu) / cu_per_usd
```

Базовые цены не включают бесплатные кредиты, газ, дополнительные опции и затраты на миграцию. Отличайте регулярную квоту от пробного периода с ограниченным сроком действия, а цену за дополнительный объем — от средней стоимости включенных запросов. Ознакомьтесь с [правилами тарификации](https://docs.blockvectra.com/en/guides/billing-rules/), чтобы узнать, какие ответы потребляют CU.

**Тест для самопроверки:** повторите небольшой репрезентативный набор методов с фиксированными блоками и зафиксируйте успешные вызовы, повторные попытки и тарифицируемые ошибки. Сравните изменение расхода аккаунта с расчетом по весам методов. Закладывайте в бюджет количество запросов, вернувших полный результат, включая пагинацию и дозагрузку истории. Пересчет описан в руководстве [Цены на чтение контрактов в CU](https://docs.blockvectra.com/en/guides/reading-cu-pricing/).

## Диапазоны логов и историческое состояние

Для `eth_getLogs` проверьте диапазон блоков, ограничения на размер результата и поддержку фильтров для конкретной сети и плана. Широкий диапазон полезен только в том случае, если ответ полон. Аутентифицированные диапазоны BlockVectra берутся из каталога сетей:

| Сеть | Слаг сети | max_logs_block_range (блоков) |
| --- | --- | --- |
| Arbitrum One | `arb_mainnet` | 1,000 |
| Base | `base_mainnet` | 1,000 |
| BNB Smart Chain | `bsc_mainnet` | 1,000 |
| Ethereum | `eth_mainnet` | 1,000 |
| Ethereum Sepolia | `eth_sepolia` | 1,000 |
| HyperEVM | `hyperevm_mainnet` | 1,000 |
| Polygon | `polygon_mainnet` | 1,000 |
| Robinhood Chain | `robinhood_mainnet` | 1,000 |
| Robinhood Chain Testnet | `robinhood_testnet` | 1,000 |

Исторические логи и историческое выполнение контрактов — это разные возможности. Для `eth_call` проверьте `state_window_blocks`; для чтения без ключа также проверьте `public.history_blocks`. Отсутствующее поле или значение null означает, что параметр не определен, а не является доказательством неограниченной истории. См. [историческое состояние EVM](https://docs.blockvectra.com/en/guides/evm-historical-state/).

**Тест для самопроверки:** выберите фиксированный интервал с известным контрактом и топиками, разделите его по заявленному диапазону и сравните объединение результатов с меньшими перекрывающимися запросами. Выполните дедупликацию по хешу блока, хешу транзакции и индексу лога, а также проверьте границы интервала. Отдельно прочитайте тот же контракт на недавнем фиксированном блоке и на самом старом блоке, требуемом вашему приложению; зафиксируйте фактический результат или ошибку JSON-RPC. Протестируйте плотные и разреженные интервалы и посчитайте количество повторов. Следуйте руководству [диапазон логов и восстановление](https://docs.blockvectra.com/en/guides/getlogs-block-range/), чтобы сохранять прогресс контрольными точками.

## Бесплатные кредиты, лимиты скорости и пиковый трафик

Текущий бюджет цикла BlockVectra и объем вызовов, который он может покрыть, рассчитываются на основе планов:

Бесплатный план требует регистрации аккаунта и использования API key; все ключи аккаунта разделяют в среднем 25 вызовов в секунду (допускаются короткие всплески). В конце каждого цикла в 30 дней балансы ниже 30,000,000 CU пополняются до 30,000,000 CU.

| Метод | Вес CU | Прибл. вызовов / цикл | Прибл. / день | Прайс-лист / 1 млн вызовов |
| --- | --- | --- | --- | --- |
| `eth_blockNumber` | 1 | 30,000,000 | 1,000,000 | $0.10 |
| `eth_getBlockByNumber` | 5 | 6,000,000 | 200,000 | $0.50 |
| `eth_getBalance` | 10 | 3,000,000 | 100,000 | $1.00 |
| `eth_call` | 15 | 2,000,000 | 66,666 | $1.50 |
| `eth_getLogs` | 30 | 1,000,000 | 33,333 | $3.00 |
| `debug_traceTransaction` | 100 | 300,000 | 10,000 | $10.00 |
| `data.block` | 5 | 6,000,000 | 200,000 | $0.50 |
| `data.address_balances` | 25 | 1,200,000 | 40,000 | $2.50 |
| `data.dex_prices` | 15 | 2,000,000 | 66,666 | $1.50 |
| `data.transaction_trace` | 200 | 150,000 | 5,000 | $20.00 |

Лимит вызовов для бесплатного аккаунта: до 25 вызовов в секунду, суммарно для всех ключей аккаунта, всех сетей и Data API. Каждый ключ также имеет ограничения `cu_per_sec` и `burst_cu`. Допустимое пополнение цикла восполняет бесплатный баланс до целевого значения; оно не является дополнительным полным грантом. Первое платное пополнение останавливает пополнения циклов, сохраняя оставшиеся бесплатные CU. См. [правила бесплатного плана](https://docs.blockvectra.com/en/guides/free-plan/).

Разделяйте суточные квоты, балансы циклов, запросы/с, CU/с, емкость всплеска и параллельные запросы. Оплата дополнительного объема использования сама по себе не увеличивает пропускную способность на отдельный ключ.

**Тест для самопроверки:** используйте ключ с аутентификацией и небольшой ограниченный пакет запросов с частотой и параллелизмом, необходимыми вашей задаче, в рамках лимитов аккаунта. Зафиксируйте код состояния HTTP, ошибку JSON-RPC, перцентили задержки и выполненные вызовы. Останавливайтесь при исчерпании квоты; используйте экспоненциальную задержку с ограничением при троттлинге и сохраняйте прогресс. Повторите с выборкой различных методов, поскольку дорогостоящие методы быстрее расходуют бюджет CU/с. Сравните пиковую нагрузку со стабильным трафиком и учитывайте использование других ключей при проверке общего лимита аккаунта.

## Покрытие сетей, методов и протоколов

Используйте [каталог сетей](https://api.blockvectra.com/v1/chains), чтобы проверить идентификатор сети, `jsonrpc`, `methods.allow`, `methods.deny`, `public.methods`, `ws` и `subscriptions`. Название сети не гарантирует доступность каждого метода или протокола. Методы без ключа и методы с аутентификацией могут иметь разные лимиты.

**Тест для самопроверки:** скопируйте `public.url` выбранной сети и вызовите метод из `public.methods`. Для примера Ethereum ниже проверьте идентификатор сети, затем выполните необходимые для приложения методы с ключом аутентификации и теми же фиксированными блоками. Проверяйте правила запрета (deny), а также правила разрешения (allow); сравнивайте хеши блоков при сопоставлении результатов между эндпоинтами.

```bash
curl --fail-with-body -sS --max-time 15 https://api.blockvectra.com/v1/eth_mainnet/public \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: curl BlockVectraQA/1' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
```

Это проверяет публичный метод, а не архивное покрытие или аутентифицированную емкость. Если вашему приложению требуются сокеты, протестируйте необходимую подписку, отключение и путь возобновления в сети, заявляющей поддержку `ws`. См. [подписки WebSocket](https://docs.blockvectra.com/en/guides/websocket-subscriptions/).

## Доставка Push и индексированные данные

Для уведомлений по адресам проверьте декларацию `push` для сети и ее настройки подтверждений. BlockVectra может отслеживать один и тот же набор адресов в поддерживаемых сетях в рамках одной подписки с одним HTTPS-приемником; сверьте [емкость адресов для самообслуживания и корпоративных клиентов](https://docs.blockvectra.com/en/guides/webhook-push/#address-capacity) с вашим количеством адресов. Для запросов к Data API проверьте наборы данных и проиндексированный диапазон в [GET /v1/status](https://api.blockvectra.com/v1/status). Проиндексированные записи не означают возможность произвольного исторического выполнения контракта. Опрос RPC, сообщения WebSocket, доставленные события Push и отслеживаемые адресо-дни используют разные метрики тарификации; рассчитывайте каждый необходимый рабочий процесс по соответствующим весам в [планах](https://console-api.blockvectra.com/v1/plans).

**Тест для самопроверки:** для Push используйте подконтрольный вам HTTPS-приемник, проверяйте подписи и протестируйте обработку дубликатов, повторные попытки и воспроизведение событий, используя событие с подконтрольного вам адреса. Для Data API запросите известную проиндексированную транзакцию или перевод, сравните ее хеш блока с RPC, пройдите пагинацию до конца и сохраните курсор перед возобновлением. Фиксируйте пробелы в покрытии и количество тарифицируемых событий или вызовов. Используйте руководства [Webhook Push](https://docs.blockvectra.com/en/guides/webhook-push/), [Webhook или WebSocket](https://docs.blockvectra.com/en/guides/webhook-vs-websocket/) и [справочник Data API](https://docs.blockvectra.com/en/api/data/) для выбора подходящего способа восстановления.

## Аутентификация и доступ для агентов

Убедитесь, что ваш клиент может безопасно передавать ключ, находить машиночитаемую документацию, создавать аккаунт и восстанавливаться после ошибок. BlockVectra RPC принимает ключ в пути по адресу `POST /v1/{chain}/{api_key}` или в заголовке `x-api-key` по адресу `POST /v1/{chain}`. Data API использует `x-api-key`. Храните ключи в серверном окружении, не допуская их попадания в бандлы браузера, логи и сообщения чата.

Разработчики и ИИ-агенты используют одинаковые цены и лимиты. [Программная регистрация](https://docs.blockvectra.com/en/guides/programmatic-signup/) описывает создание аккаунта с помощью кошелька, а [руководство для агентов](https://docs.blockvectra.com/en/guides/ai-agents/) содержит документацию и точки входа MCP. Агенты могут пополнять баланс использования аккаунта стейблкоинами через [описанный процесс пополнения](https://docs.blockvectra.com/en/guides/agent-topup/) без ежемесячной RPC-подписки. Сети, токены и минимальные суммы пополнения доступны в [GET /v1/topup/status](https://api.blockvectra.com/v1/topup/status).

**Тест для самопроверки:** настройте целевой клиент на определение сети и метода, чтение документации, загрузку ключа из окружения и выполнение одного ограниченного аутентифицированного запроса. Проверьте как код состояния HTTP, так и `error` в JSON-RPC. Проверьте ответ при отсутствии ключа без логирования учетных данных. Убедитесь, что клиент сохраняет прогресс при недостаточном балансе, считывает разрешенную сеть и токен для пополнения и следует описанному процессу пополнения; шаги создания аккаунта и оплаты должны использовать подконтрольные вам учетные записи. Не рассматривайте подключение к документационному MCP как доказательство того, что агент способен выполнить аутентифицированный вызов RPC.

## Фиксация решения

Ведите краткий лист результатов: источник и дата выборки; сеть и метод; фиксированный хеш блока; полнота результата; общее количество вызовов и повторов; доступная квота; стоимость платной задачи; задержка и троттлинг; пробелы в истории и протоколах; шаги восстановления; трудозатраты на миграцию. Если нагрузка требует контрактной поддержки или SLA, запросите соответствующие условия отдельно от этих тестов API.

Когда требования к вашей нагрузке определены, проведите сравнение с конкретными провайдерами:

* [Сравнение с конкретными провайдерами: цены на вычисления и диапазоны логов](https://docs.blockvectra.com/en/guides/alchemy-alternative/).
* [Сравнение с конкретными провайдерами: пробный период и тарификация по подписке](https://docs.blockvectra.com/en/guides/quicknode-alternative/).
* [Сравнение с конкретными провайдерами: стоимость запросов HTTPS](https://docs.blockvectra.com/en/guides/ankr-alternative/).
* [Сравнение с конкретными провайдерами: дневные бюджеты и бюджеты циклов](https://docs.blockvectra.com/en/guides/infura-alternative/).
* [Сравнение с конкретными провайдерами: включенные запросы и оплата за превышение](https://docs.blockvectra.com/en/guides/chainstack-alternative/).
