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

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

Почніть із наведеного нижче публічного RPC URL для Base mainnet, щоб прочитати chain ID без API key. Перевірте підтримувані методи та ліміти на IP на [сторінці мережі Base](https://blockvectra.com/en/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 підтримує як автентифікацію з ключем у шляху, так і через заголовок запиту (`x-api-key`).

| Параметр / Ендпоінт | Значення / Шаблон | Автентифікація |
|---|---|---|
| Chain ID (EIP-155) | `8453` | — |
| JSON-RPC (ключ у шляху) | `POST https://api.blockvectra.com/v1/base_mainnet/{api_key}` | API key у шляху URL |
| JSON-RPC (ключ у заголовку) | `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)**

Запит EIP-155 chain ID за допомогою заголовка запиту `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)**

Підключення за допомогою `createPublicClient` у viem та офіційного визначення мережі `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` повертає hex-значення 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/uk/data/)

## Початок роботи та API keys

Нові акаунти отримують 30,000,000 CU під час реєстрації — без кредитної картки.

* **Вебконсоль**: зареєструйтеся за допомогою підпису Ethereum-гаманця та створіть API key у [Консолі](https://console.blockvectra.com/login/?next=%2Fkeys%2F). Деталі налаштування див. у [Посібнику зі швидкого старту](https://docs.blockvectra.com/en/quickstart/).
* **Програмна реєстрація**: автономні AI-агенти, автоматизовані скрипти та конвеєри CI можуть входити та отримувати API keys за допомогою підписів Ethereum-гаманців (EIP-191) без браузера. Дотримуйтесь [Посібника з програмної реєстрації](https://docs.blockvectra.com/en/guides/programmatic-signup/).
* **AI-агенти**: автономні AI-агенти можуть досліджувати можливості Base за допомогою офіційного сервера Model Context Protocol (MCP). Див. [Підключення AI-агентів до BlockVectra](https://docs.blockvectra.com/en/guides/ai-agents/).
* **Підвищення лімітів**: після поповнення обмеження кількості викликів на секунду для всього акаунта знімається; для кожного ключа продовжують діяти ліміти швидкості та burst у Compute Units (CU). Актуальні тарифи та розрахункові одиниці див. на [Сторінці цін](https://blockvectra.com/en/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/en/data/), щоб побачити кожен набір даних, який індексує BlockVectra.
* [Ознайомтеся з безкоштовним планом та цінами](https://blockvectra.com/en/pricing/#free), щоб перевірити, що включено у ваш акаунт.
* [Увійдіть до консолі](https://console.blockvectra.com/login/?next=%2Fkeys%2F), щоб створити API key.
