# RPC URL для Base: доступ без ключа, примеры для curl и viem

> Source: https://docs.blockvectra.com/ru/guides/base/

Начните с публичного RPC URL для Base mainnet ниже, чтобы запросить chain ID без API key. Ознакомьтесь с поддерживаемыми методами и лимитами на IP на [странице сети Base](https://blockvectra.com/ru/chains/base_mainnet/); используйте ключ для методов, выходящих за рамки `public.methods`, разрешенных сетью.

```bash
curl -sS "https://api.blockvectra.com/v1/base_mainnet/public" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
```

## Информация о сети и эндпоинты

Каждый запрос к Base явно определяет целевую сеть в пути URL с помощью слага `base_mainnet`. JSON-RPC поддерживает аутентификацию по ключу как в пути URL, так и в заголовке запроса (`x-api-key`).

| Параметр / Конечная точка | Значение / Шаблон | Аутентификация |
|---|---|---|
| Chain ID (EIP-155) | `8453` | — |
| JSON-RPC (key в пути) | `POST https://api.blockvectra.com/v1/base_mainnet/{api_key}` | API key в URL пути |
| JSON-RPC (key в заголовке) | `POST https://api.blockvectra.com/v1/base_mainnet` | Заголовок x-api-key: {api_key} |
| Базовый URL Data API | `GET https://api.blockvectra.com/v1/data/base_mainnet/…` | Заголовок x-api-key: {api_key} |
| Публичный статус | `GET https://api.blockvectra.com/v1/status` | Без аутентификации (публичный) |

## Примеры вызовов через curl и viem

Вы можете выполнять вызовы JSON-RPC напрямую с помощью curl или клиентских библиотек web3, таких как viem. Задайте свой API key в переменной окружения `BLOCKVECTRA_API_KEY`:

**curl (Header)**

Запросите chain ID стандарта EIP-155 с помощью заголовка запроса `x-api-key`:

```bash
curl -s "https://api.blockvectra.com/v1/base_mainnet" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
```


  **curl (Path)**

Запросите номер последнего блока, передав API key в пути URL:

```bash
curl -s "https://api.blockvectra.com/v1/base_mainnet/$BLOCKVECTRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
```


  **TypeScript (viem)**

Подключитесь с помощью функции viem `createPublicClient` и официального определения сети `base`:

```ts
import { createPublicClient, http } from "viem";
import { base } from "viem/chains";

const client = createPublicClient({
  chain: base,
  transport: http("https://api.blockvectra.com/v1/base_mainnet", {
    fetchOptions: {
      headers: {
        "x-api-key": process.env.BLOCKVECTRA_API_KEY!,
      },
    },
  }),
});

const blockNumber = await client.getBlockNumber();
console.log("Current block number on Base:", blockNumber);
```

Вы также можете передать ключ в пути URL транспорта:

```ts
const client = createPublicClient({
  chain: base,
  transport: http(`https://api.blockvectra.com/v1/base_mainnet/${process.env.BLOCKVECTRA_API_KEY}`),
});
```

Готовый стартовый шаблон: [blockvectra/multichain-viem](https://github.com/blockvectra/multichain-viem)


### Структура ответа

Ответы соответствуют спецификации JSON-RPC 2.0:

* **Успешный ответ**: возвращает объект, содержащий `jsonrpc: "2.0"`, соответствующий целочисленный `id` и результат `result` в шестнадцатеричной кодировке (`eth_chainId` возвращает chain ID в шестнадцатеричном виде; `eth_blockNumber` возвращает высоту последнего блока).
* **Запрещенные методы**: запрос метода, не входящего в список разрешенных методов сети, возвращает код ошибки JSON-RPC `-32601` (`method not available`, не тарифицируется).
* **Запросы за пределами окна**: запросы исторического состояния старше окна хранения состояния возвращают код ошибки JSON-RPC `-32011` (не тарифицируется).
* **Отсутствующий API key**: отправка запроса без ключа возвращает HTTP 401 с кодом ошибки JSON-RPC `-32024` (`missing_api_key`, не тарифицируется).
* **Некорректные параметры**: неверные параметры запроса возвращают код ошибки JSON-RPC `-32602` (не тарифицируется).

## Возможности и политика методов

Актуальные значения: `GET /v1/chains` (`methods`, `max_logs_block_range`, `state_window_blocks`).

### Параметры сети и лимиты

- **Диапазон блоков eth_getLogs**: Максимум 1000 блоков на запрос
- **Окно исторического состояния**: Последние 10000 блоков (запросы за пределами возвращают -32011)
- **Трассировка выполнения (debug_trace*)**: Недоступно

Разрешенные методы для каждой сети: [Поддерживаемые сети](https://docs.blockvectra.com/en/chains/)

## Blockchain Data API

Актуальные значения: `GET /v1/chains` (`data`).

### Статус Blockchain Data API

- **Доступно**: Blockchain Data API доступен для Base. Ознакомьтесь с поддерживаемыми наборами данных в каталоге наборов данных. [Каталог наборов данных](https://blockvectra.com/ru/data/)

## Начало работы и API keys

Новые аккаунты получают 30,000,000 CU при регистрации — банковская карта не требуется.

* **Веб-консоль**: зарегистрируйтесь с помощью подписи кошелька Ethereum и создайте API key в [консоли](https://console.blockvectra.com/login/?next=%2Fkeys%2F). Подробности настройки см. в руководстве [Быстрый старт](https://docs.blockvectra.com/en/quickstart/).
* **Программная регистрация**: автономные ИИ-агенты, автоматизированные скрипты и CI-пайплайны могут входить в систему и создавать API keys с помощью подписей кошелька Ethereum (EIP-191) без браузера. Следуйте [руководству по программной регистрации](https://docs.blockvectra.com/en/guides/programmatic-signup/).
* **ИИ-агенты**: автономные ИИ-агенты могут определять возможности Base через официальный сервер Model Context Protocol (MCP). См. [Подключение ИИ-агентов к BlockVectra](https://docs.blockvectra.com/en/guides/ai-agents/).
* **Повышение лимитов**: после пополнения ограничение на количество вызовов в секунду для всего аккаунта снимается; для каждого ключа продолжают действовать лимиты скорости Compute Units (CU) и лимиты всплесков (burst). Актуальные тарифы и расчетные единицы см. на странице [Цены](https://blockvectra.com/ru/pricing/).

## Связанные руководства и ресурсы

* **Документация для разработчиков Base**: спецификации сети, механику газа и контракты на Base см. в официальной [документации Base](https://docs.base.org).
* **Пользовательский RPC для кошельков**: настройте пользовательские эндпоинты RPC для Base в MetaMask и Rabby с помощью [руководства по пользовательским RPC в кошельках](https://docs.blockvectra.com/en/guides/wallet-custom-rpc/).
* **Симуляция транзакций**: тестируйте выполнение транзакций и оценивайте изменения состояния перед их отправкой в сеть с помощью `eth_simulateV1` в [руководстве по симуляции транзакций](https://docs.blockvectra.com/en/guides/simulate-transactions/).

## Следующие шаги

* [Изучите каталог наборов данных](https://blockvectra.com/ru/data/), чтобы увидеть все наборы данных, индексируемые BlockVectra.
* [Ознакомьтесь с бесплатным тарифом и ценами](https://blockvectra.com/ru/pricing/#free), чтобы узнать, что включено в ваш аккаунт.
* [Войдите в консоль](https://console.blockvectra.com/login/?next=%2Fkeys%2F), чтобы создать API key.
