# URL RPC Base : accès sans clé et exemples en curl et viem

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

Commencez avec l'URL RPC publique de Base mainnet ci-dessous pour lire le Chain ID sans API key. Consultez les méthodes prises en charge et les limites par IP sur la [page de la chaîne Base](https://blockvectra.com/fr/chains/base_mainnet/) ; utilisez une clé pour les méthodes hors de `public.methods` autorisées par la chaîne.

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

## Informations sur le réseau et points de terminaison

Chaque requête vers Base identifie explicitement son réseau cible dans le chemin d'URL à l'aide du slug `base_mainnet`. Le JSON-RPC prend en charge l'authentification par clé dans le chemin ainsi que par l'en-tête de requête (`x-api-key`).

| Paramètre / Endpoint | Valeur / Modèle | Authentification |
|---|---|---|
| Chain ID (EIP-155) | `8453` | — |
| JSON-RPC (clé dans le chemin) | `POST https://api.blockvectra.com/v1/base_mainnet/{api_key}` | Clé API dans le chemin d'URL |
| JSON-RPC (clé dans l'en-tête) | `POST https://api.blockvectra.com/v1/base_mainnet` | En-tête x-api-key: {api_key} |
| Base de la Data API | `GET https://api.blockvectra.com/v1/data/base_mainnet/…` | En-tête x-api-key: {api_key} |
| Statut public | `GET https://api.blockvectra.com/v1/status` | Non authentifié (public) |

## Exemples directs en curl et viem

Vous pouvez effectuer des appels JSON-RPC directement à l'aide de curl ou de bibliothèques clientes web3 telles que viem. Définissez votre API key dans la variable d'environnement `BLOCKVECTRA_API_KEY` :

**curl (Header)**

Interrogez le Chain ID EIP-155 à l'aide de l'en-tête de requête `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)**

Interrogez le numéro du dernier bloc en transmettant votre API key dans le chemin d'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)**

Connectez-vous à l'aide de `createPublicClient` de viem et de la définition officielle de la chaîne `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);
```

Vous pouvez également transmettre la clé dans le chemin d'URL du transport :

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

Modèle de démarrage complet : [blockvectra/multichain-viem](https://github.com/blockvectra/multichain-viem)


### Structure de la réponse

Les réponses respectent la spécification JSON-RPC 2.0 :

* **Succès** : renvoie un objet contenant `jsonrpc: "2.0"`, l'`id` entier correspondant, et un `result` encodé en hexadécimal (`eth_chainId` renvoie le Chain ID encodé en hexadécimal ; `eth_blockNumber` renvoie la hauteur du dernier bloc).
* **Méthodes non autorisées** : demander une méthode en dehors des méthodes autorisées du réseau renvoie le code d'erreur JSON-RPC `-32601` (`method not available`, non facturé).
* **Requêtes hors fenêtre** : les requêtes d'état historique antérieures à la fenêtre de rétention d'état renvoient le code d'erreur JSON-RPC `-32011` (non facturé).
* **API key manquante** : omettre la clé renvoie HTTP 401 avec le code d'erreur JSON-RPC `-32024` (`missing_api_key`, non facturé).
* **Paramètres invalides** : des paramètres de requête malformés renvoient le code d'erreur JSON-RPC `-32602` (non facturé).

## Fonctionnalités et politique des méthodes

Valeurs en direct : `GET /v1/chains` (`methods`, `max_logs_block_range`, `state_window_blocks`).

### Paramètres et limites du réseau

- **Plage de blocs eth_getLogs**: Max 1000 blocs par requête
- **Fenêtre d'état historique**: 10000 blocs récents (les requêtes au-delà renvoient -32011)
- **Traçage d'exécution (debug_trace*)**: Non disponible

Méthodes autorisées par chaîne : [Chaînes prises en charge](https://docs.blockvectra.com/en/chains/)

## Blockchain Data API

Valeurs en direct : `GET /v1/chains` (`data`).

### Statut de la Blockchain Data API

- **Disponible**: La Blockchain Data API est disponible sur Base. Parcourez les jeux de données pris en charge dans le répertoire des jeux de données. [Parcourir le répertoire des jeux de données](https://blockvectra.com/fr/data/)

## Démarrage et API keys

Les nouveaux comptes reçoivent 30,000,000 CU à l'inscription — aucune carte bancaire requise.

* **Console web** : inscrivez-vous via signature de portefeuille Ethereum et générez une clé API dans la [Console](https://console.blockvectra.com/login/?next=%2Fkeys%2F). Consultez le [guide de Démarrage rapide](https://docs.blockvectra.com/fr/quickstart/) pour les détails de configuration.
* **Inscription programmatique** : les agents IA autonomes, scripts automatisés et pipelines CI peuvent se connecter et provisionner des clés API à l'aide de signatures de portefeuille Ethereum (EIP-191) sans navigateur. Suivez le [guide d'inscription programmatique](https://docs.blockvectra.com/fr/guides/programmatic-signup/).
* **Agents IA** : les agents IA autonomes peuvent découvrir les fonctionnalités de Base à l'aide du serveur officiel Model Context Protocol (MCP). Consultez [Connecter des agents IA à BlockVectra](https://docs.blockvectra.com/fr/guides/ai-agents/).
* **Augmentation des limites** : après une recharge, la limite d'appels par seconde à l'échelle du compte est levée ; chaque clé reste soumise aux limites de débit et de burst en Compute Units (CU). Pour les tarifs actuels et les unités de facturation, consultez la [page Tarifs](https://blockvectra.com/fr/pricing/).

## Guides et ressources associés

* **Documentation développeur Base** : pour les spécifications du réseau, la mécanique du gas et les contrats sur Base, consultez la [documentation officielle de Base](https://docs.base.org).
* **RPC personnalisé pour portefeuille** : configurez des points de terminaison RPC personnalisés pour Base dans MetaMask et Rabby à l'aide du [guide RPC personnalisé pour portefeuille](https://docs.blockvectra.com/fr/guides/wallet-custom-rpc/).
* **Simulation de transaction** : testez l'exécution des transactions et évaluez les changements d'état avant leur diffusion avec `eth_simulateV1` dans le [guide de simulation de transactions](https://docs.blockvectra.com/fr/guides/simulate-transactions/).

## Prochaines étapes

* [Parcourir le répertoire des jeux de données](https://blockvectra.com/fr/data/) pour voir chaque jeu de données indexé par BlockVectra.
* [Consulter le forfait gratuit et les tarifs](https://blockvectra.com/fr/pricing/#free) pour vérifier ce que comprend votre compte.
* [Se connecter à la console](https://console.blockvectra.com/login/?next=%2Fkeys%2F) pour créer une API key.
