# URL RPC da Base: acesso sem chave e exemplos em curl e viem

> Source: https://docs.blockvectra.com/pt-br/guides/base/

Comece com a URL RPC pública da Base mainnet abaixo para ler o Chain ID sem uma API key. Consulte os métodos suportados e os limites por IP na [página da rede Base](https://blockvectra.com/en/chains/base_mainnet/); use uma chave para métodos fora de `public.methods` permitidos pela rede.

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

## Informações da rede e endpoints

Toda requisição para a Base identifica sua rede de destino explicitamente no caminho da URL usando o slug `base_mainnet`. O JSON-RPC oferece suporte tanto à autenticação de chave pelo caminho quanto por cabeçalho de requisição (`x-api-key`).

| Parâmetro / Endpoint | Valor / Modelo | Autenticação |
|---|---|---|
| Chain ID (EIP-155) | `8453` | — |
| JSON-RPC (chave no caminho) | `POST https://api.blockvectra.com/v1/base_mainnet/{api_key}` | API key no caminho da URL |
| JSON-RPC (chave no cabeçalho) | `POST https://api.blockvectra.com/v1/base_mainnet` | Cabeçalho x-api-key: {api_key} |
| Base da Data API | `GET https://api.blockvectra.com/v1/data/base_mainnet/…` | Cabeçalho x-api-key: {api_key} |
| Status público | `GET https://api.blockvectra.com/v1/status` | Sem autenticação (público) |

## Exemplos diretos em curl e viem

Você pode fazer chamadas JSON-RPC diretamente usando curl ou bibliotecas de cliente web3 como viem. Defina sua API key na variável de ambiente `BLOCKVECTRA_API_KEY`:

**curl (Header)**

Consulte o Chain ID EIP-155 usando o cabeçalho de requisição `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)**

Consulte o número do bloco mais recente passando sua API key no caminho da 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)**

Conecte-se usando `createPublicClient` do viem e a definição oficial da rede `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);
```

Você também pode passar a chave no caminho da URL de transporte:

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

Modelo inicial completo: [blockvectra/multichain-viem](https://github.com/blockvectra/multichain-viem)


### Estrutura de resposta

As respostas seguem a especificação JSON-RPC 2.0:

* **Sucesso**: retorna um objeto contendo `jsonrpc: "2.0"`, o `id` inteiro correspondente e o `result` codificado em hexadecimal (`eth_chainId` retorna o Chain ID em hexadecimal; `eth_blockNumber` retorna a altura do bloco mais recente).
* **Métodos não permitidos**: solicitar um método fora dos métodos permitidos da rede retorna o código de erro JSON-RPC `-32601` (`method not available`, sem cobrança).
* **Consultas fora da janela**: requisições de estado histórico anteriores à janela de retenção de estado retornam o código de erro JSON-RPC `-32011` (sem cobrança).
* **API key ausente**: omitir a chave retorna HTTP 401 com o código de erro JSON-RPC `-32024` (`missing_api_key`, sem cobrança).
* **Parâmetros inválidos**: parâmetros de requisição malformados retornam o código de erro JSON-RPC `-32602` (sem cobrança).

## Política de métodos e recursos

Valores em tempo real: `GET /v1/chains` (`methods`, `max_logs_block_range`, `state_window_blocks`).

### Parâmetros e limites da rede

- **Intervalo de blocos para eth_getLogs**: Máx. 1000 blocos por requisição
- **Janela de estado histórico**: Últimos 10000 blocos (consultas além retornam -32011)
- **Rastreamento de execução (debug_trace*)**: Não disponível

Métodos permitidos por rede: [Redes suportadas](https://docs.blockvectra.com/en/chains/)

## Blockchain Data API

Valores em tempo real: `GET /v1/chains` (`data`).

### Status da Blockchain Data API

- **Disponível**: A Blockchain Data API está disponível na Base. Navegue pelos conjuntos de dados suportados no diretório de conjuntos de dados. [Explorar diretório de conjuntos de dados](https://blockvectra.com/pt-br/data/)

## Primeiros passos e API keys

Novas contas recebem 30,000,000 CU no cadastro — sem cartão de crédito.

* **Console web**: cadastre-se via assinatura de carteira Ethereum e gere uma API key no [Console](https://console.blockvectra.com/login/?next=%2Fkeys%2F). Consulte o [guia de Início rápido](https://docs.blockvectra.com/en/quickstart/) para detalhes de configuração.
* **Cadastro programático**: AI Agents autônomos, scripts automatizados e pipelines de CI podem fazer login e provisionar API keys usando assinaturas de carteira Ethereum (EIP-191) sem a necessidade de um navegador. Siga o [guia de cadastro programático](https://docs.blockvectra.com/en/guides/programmatic-signup/).
* **AI Agents**: AI Agents autônomos podem descobrir recursos da Base usando o servidor oficial do Model Context Protocol (MCP). Consulte [Conectando AI Agents à BlockVectra](https://docs.blockvectra.com/en/guides/ai-agents/).
* **Aumento de limites**: após a recarga, o limite de chamadas por segundo de toda a conta é removido; cada chave permanece sujeita aos limites de taxa e rajada de Compute Units (CU). Para tarifas e unidades de cobrança atuais, consulte a [página de preços](https://blockvectra.com/en/pricing/).

## Guias e recursos relacionados

* **Documentação para desenvolvedores da Base**: para especificações de rede, mecânica de gas e contratos na Base, consulte a [documentação oficial da Base](https://docs.base.org).
* **RPC personalizado na carteira**: configure endpoints RPC personalizados para a Base no MetaMask e Rabby usando o [guia de RPC personalizado na carteira](https://docs.blockvectra.com/en/guides/wallet-custom-rpc/).
* **Simulação de transações**: teste a execução de transações e avalie alterações de estado antes do envio usando `eth_simulateV1` no [guia de simulação de transações](https://docs.blockvectra.com/en/guides/simulate-transactions/).

## Próximos passos

* [Explore o diretório de conjuntos de dados](https://blockvectra.com/en/data/) para ver todos os conjuntos de dados indexados pela BlockVectra.
* [Consulte o plano gratuito e os preços](https://blockvectra.com/en/pricing/#free) para verificar o que sua conta inclui.
* [Entre no console](https://console.blockvectra.com/login/?next=%2Fkeys%2F) para criar uma API key.
