# URL RPC Base: akses tanpa API key serta contoh curl dan viem

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

Mulailah dengan URL RPC publik mainnet Base di bawah untuk membaca chain ID tanpa API key. Periksa metode yang didukung dan batas per IP di [halaman rantai Base](https://blockvectra.com/id/chains/base_mainnet/); gunakan API key untuk metode di luar `public.methods` yang diizinkan rantai tersebut.

```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":[]}'
```

## Informasi jaringan dan endpoint

Setiap permintaan ke Base secara eksplisit mengidentifikasi jaringan tujuannya pada path URL menggunakan slug `base_mainnet`. JSON-RPC mendukung autentikasi API key berbasis path maupun autentikasi melalui header permintaan (`x-api-key`).

| Parameter / Endpoint | Nilai / Templat | Autentikasi |
|---|---|---|
| Chain ID (EIP-155) | `8453` | — |
| JSON-RPC (kunci di path) | `POST https://api.blockvectra.com/v1/base_mainnet/{api_key}` | API key di path URL |
| JSON-RPC (kunci di header) | `POST https://api.blockvectra.com/v1/base_mainnet` | Header x-api-key: {api_key} |
| Basis Data API | `GET https://api.blockvectra.com/v1/data/base_mainnet/…` | Header x-api-key: {api_key} |
| Status publik | `GET https://api.blockvectra.com/v1/status` | Tanpa autentikasi (publik) |

## Contoh langsung curl dan viem

Anda dapat melakukan panggilan JSON-RPC langsung menggunakan curl atau pustaka klien web3 seperti viem. Atur API key Anda dalam variabel lingkungan `BLOCKVECTRA_API_KEY`:

**curl (Header)**

Kueri chain ID EIP-155 menggunakan header permintaan `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)**

Kueri nomor blok terbaru dengan memasukkan API key Anda pada path 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)**

Hubungkan menggunakan `createPublicClient` dari viem dan definisi rantai `base` resmi:

```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);
```

Anda juga dapat memasukkan API key pada path URL transport:

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

Template awal lengkap: [blockvectra/multichain-viem](https://github.com/blockvectra/multichain-viem)


### Struktur respons

Respons mengikuti spesifikasi JSON-RPC 2.0:

* **Berhasil**: Mengembalikan objek berisi `jsonrpc: "2.0"`, integer `id` yang sesuai, dan `result` dalam encoding heksadesimal (`eth_chainId` mengembalikan chain ID dalam encoding heksadesimal; `eth_blockNumber` mengembalikan tinggi blok terbaru).
* **Metode tidak diizinkan**: Meminta metode di luar metode yang diizinkan jaringan mengembalikan kode error JSON-RPC `-32601` (`method not available`, tidak ditagih).
* **Kueri di luar jendela**: Permintaan state historis yang lebih awal dari jendela retensi state mengembalikan kode error JSON-RPC `-32011` (tidak ditagih).
* **API key tidak disertakan**: Tidak menyertakan API key mengembalikan HTTP 401 dengan kode error JSON-RPC `-32024` (`missing_api_key`, tidak ditagih).
* **Parameter tidak valid**: Parameter permintaan dengan format yang salah mengembalikan kode error JSON-RPC `-32602` (tidak ditagih).

## Kapabilitas dan kebijakan metode

Nilai terkini: `GET /v1/chains` (`methods`, `max_logs_block_range`, `state_window_blocks`).

### Parameter dan batas jaringan

- **Rentang blok eth_getLogs**: Maksimal 1000 blok per permintaan
- **Jendela status historis**: 10000 blok terakhir (kueri di luar itu mengembalikan -32011)
- **Pelacakan eksekusi (debug_trace*)**: Tidak tersedia

Metode yang diizinkan per rantai: [Rantai yang Didukung](https://docs.blockvectra.com/en/chains/)

## Blockchain Data API

Nilai terkini: `GET /v1/chains` (`data`).

### Status Blockchain Data API

- **Tersedia**: Blockchain Data API tersedia di Base. Telusuri dataset yang didukung di direktori dataset. [Telusuri direktori dataset](https://blockvectra.com/id/data/)

## Memulai dan API key

Akun baru mendapatkan 30,000,000 CU saat pendaftaran — tanpa kartu kredit.

* **Konsol web**: Daftar melalui tanda tangan dompet Ethereum, lalu buat API key di [Konsol](https://console.blockvectra.com/login/?next=%2Fkeys%2F). Lihat [panduan mulai cepat](https://docs.blockvectra.com/id/quickstart/) untuk detail penyiapan.
* **Pendaftaran terprogram**: AI Agent otonom, skrip otomatis, dan pipeline CI dapat masuk dan membuat API key menggunakan tanda tangan dompet Ethereum (EIP-191) tanpa browser. Ikuti [panduan pendaftaran terprogram](https://docs.blockvectra.com/en/guides/programmatic-signup/).
* **AI Agent**: AI Agent otonom dapat menemukan kapabilitas Base menggunakan server Model Context Protocol (MCP) resmi. Lihat [Menghubungkan AI Agent ke BlockVectra](https://docs.blockvectra.com/id/guides/ai-agents/).
* **Meningkatkan batas**: Setelah top up, batas panggilan per detik di seluruh akun dihapus; setiap API key tetap tunduk pada batas laju dan burst Compute Unit (CU). Untuk tarif dan unit penagihan terkini, lihat [halaman Harga](https://blockvectra.com/id/pricing/).

## Panduan dan sumber daya terkait

* **Dokumentasi pengembang Base**: Untuk spesifikasi jaringan, mekanisme gas, dan kontrak di Base, lihat [dokumentasi Base](https://docs.base.org) resmi.
* **RPC kustom dompet**: Konfigurasikan endpoint RPC kustom untuk Base di MetaMask dan Rabby menggunakan [panduan RPC kustom dompet](https://docs.blockvectra.com/id/guides/wallet-custom-rpc/).
* **Simulasi transaksi**: Uji eksekusi transaksi dan evaluasi perubahan state sebelum menyiarkannya menggunakan `eth_simulateV1` dalam [panduan simulasi transaksi](https://docs.blockvectra.com/en/guides/simulate-transactions/).

## Langkah selanjutnya

* [Telusuri direktori dataset](https://blockvectra.com/id/data/) untuk melihat setiap dataset yang diindeks oleh BlockVectra.
* [Lihat paket gratis dan harga](https://blockvectra.com/id/pricing/#free) untuk memeriksa apa yang termasuk dalam akun Anda.
* [Masuk ke konsol](https://console.blockvectra.com/login/?next=%2Fkeys%2F) untuk membuat API key.
