Comment utiliser l'API Alchemy: Guide complet du développeur Web3

Ashley Innocent

Ashley Innocent

23 April 2026

Comment utiliser l'API Alchemy: Guide complet du développeur Web3

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

Exécuter une dApp Ethereum en production sans un fournisseur de nœuds fiable est un chemin direct vers l'astreinte. Les nœuds Geth auto-hébergés sont lents, manquent des réorganisations et s'étouffent dès que votre application gagne en popularité. L'API Alchemy résout ce problème en vous offrant une couche de nœuds renforcée ainsi qu'un ensemble d'API améliorées que la spécification JSON-RPC brute n'a jamais définies, comme obtenir tous les NFT d'un portefeuille en un seul appel au lieu de scanner chaque bloc depuis la genèse.

Ce guide vous présente l'intégralité de l'API Alchemy : créer une application, s'authentifier, appeler les méthodes JSON-RPC standard, utiliser des points de terminaison améliorés, s'abonner aux transactions en attente via WebSocket et déployer des comptes intelligents avec parrainage de gaz via Account Kit. Vous verrez des exemples curl et Node pour chaque flux majeur, et vous comprendrez comment les unités de calcul (CU) sont liées à votre facture mensuelle avant de déployer.

Si vous évaluez plus largement l'infrastructure de portefeuille et web3, Apidog vous aide à tester chaque point de terminaison en un seul endroit. Consultez également notre guide sur la meilleure API de portefeuille crypto pour une vue d'ensemble plus large du marché avant de vous engager auprès d'un fournisseur.

button

TL;DR

Qu'est-ce que l'API Alchemy ?

Alchemy est une plateforme de développement web3 qui opère des nœuds de blockchain gérés et superpose un moteur d'indexation de données. Vous obtenez trois choses que vous ne pouvez pas construire facilement vous-même : des nœuds JSON-RPC à haute disponibilité sur plus de 40 chaînes, des API améliorées qui pré-indexent les transferts et les métadonnées NFT, et une pile d'abstraction de compte (Account Kit) pour une expérience utilisateur sans gaz.

Là où Infura vous donne principalement un accès brut aux nœuds, Alchemy ajoute la couche d'indexation. Récupérer chaque transfert ERC-20 pour une adresse ne prend qu'un seul appel alchemy_getAssetTransfers ; la même requête sur un nœud simple signifierait itérer à travers chaque bloc. C'est pourquoi la plupart des portefeuilles de production, des tableaux de bord DeFi et des marchés NFT utilisent Alchemy pour les chemins à forte lecture.

Authentification et configuration

Créez un compte sur le tableau de bord Alchemy, puis cliquez sur Create new app (Créer une nouvelle application). Choisissez une chaîne (Ethereum Mainnet, Polygon, Base, etc.) et un réseau (mainnet ou un testnet comme Sepolia). Chaque application obtient une clé API unique qui forme le dernier segment de chemin de votre URL.

Votre point de terminaison HTTPS ressemble à :

https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

Votre point de terminaison WebSocket :

wss://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY

Considérez la clé API comme un secret. Placez-la dans une variable d'environnement, jamais dans le code côté client. Pour les dApps de navigateur, utilisez des listes blanches (restrictions de référent) dans le tableau de bord Alchemy afin qu'une clé divulguée ne puisse pas épuiser votre quota depuis le domaine d'un attaquant.

Installez le SDK :

npm install alchemy-sdk

Ensuite, initialisez un client :

import { Alchemy, Network } from "alchemy-sdk";

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET,
});

const block = await alchemy.core.getBlockNumber();
console.log("Latest block:", block);

Points de terminaison principaux

JSON-RPC standard via HTTPS

Toute méthode JSON-RPC Ethereum standard fonctionne. Voici eth_getBalance avec curl :

curl https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "method":"eth_getBalance",
    "params":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","latest"],
    "id":1
  }'

La réponse renvoie le solde en wei sous forme de chaîne hexadécimale. Le même schéma fonctionne pour eth_call, eth_sendRawTransaction, eth_getLogs et toutes les autres méthodes standard.

API améliorée : getAssetTransfers

alchemy_getAssetTransfers renvoie chaque transfert ETH, ERC-20, ERC-721, ERC-1155, interne et externe pour une adresse sur une plage de blocs. Un seul appel remplace des milliers de requêtes eth_getLogs.

import { Alchemy, Network, AssetTransfersCategory } from "alchemy-sdk";

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET,
});

const transfers = await alchemy.core.getAssetTransfers({
  fromBlock: "0x0",
  toAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  category: [
    AssetTransfersCategory.EXTERNAL,
    AssetTransfersCategory.ERC20,
    AssetTransfersCategory.ERC721,
  ],
  maxCount: 100,
});

for (const t of transfers.transfers) {
  console.log(`${t.asset} ${t.value} from ${t.from} to ${t.to}`);
}

API améliorée : getTokenBalances et getNFTs

Obtenir chaque jeton détenu par un portefeuille, sans connaître les adresses de contrat à l'avance, ne prend qu'un seul appel :

const balances = await alchemy.core.getTokenBalances(
  "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);

for (const token of balances.tokenBalances) {
  const meta = await alchemy.core.getTokenMetadata(token.contractAddress);
  console.log(`${meta.symbol}: ${token.tokenBalance}`);
}

Pour les NFT, utilisez l'espace de noms NFT :

const nfts = await alchemy.nft.getNftsForOwner(
  "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
);
console.log(`Détient ${nfts.totalCount} NFT`);

API d'abonnement via WebSocket

L'API d'abonnement pousse les mises à jour au lieu de vous faire interroger. Abonnez-vous aux transactions en attente ou à l'activité d'une adresse :

import { Alchemy, Network, AlchemySubscription } from "alchemy-sdk";

const alchemy = new Alchemy({
  apiKey: process.env.ALCHEMY_API_KEY,
  network: Network.ETH_MAINNET,
});

alchemy.ws.on(
  {
    method: AlchemySubscription.PENDING_TRANSACTIONS,
    toAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  },
  (tx) => console.log("Transaction USDC en attente :", tx.hash)
);

C'est ainsi que les bots de mempool, les observateurs MEV et les interfaces utilisateur de portefeuille en temps réel restent à jour sans brûler de CU en interrogeant eth_blockNumber.

Account Kit et Gas Manager

Account Kit est la pile de comptes intelligents d'Alchemy. Il fournit un SDK React, une implémentation de compte de contrat intelligent (Light Account et Modular Account) et Gas Manager pour le parrainage des opérations utilisateur. Les utilisateurs s'inscrivent avec une passkey ou un e-mail, obtiennent un portefeuille intelligent et ne touchent jamais à une phrase de récupération ou à un jeton de gaz.

import { createLightAccountClient } from "@account-kit/smart-contracts";
import { alchemy, sepolia } from "@account-kit/infra";

const client = createLightAccountClient({
  transport: alchemy({ apiKey: process.env.ALCHEMY_API_KEY }),
  chain: sepolia,
  signer: yourSigner,
});

const { hash } = await client.sendUserOperation({
  uo: { target: "0x...", data: "0x", value: 0n },
});

Pour les parcours d'intégration qui associent des comptes intelligents à des portefeuilles intégrés, consultez notre guide de l'API Privy, qui complète parfaitement Account Kit pour les dApps grand public.

Erreurs courantes et limites de débit

Alchemy mesure l'utilisation en unités de calcul (CU). Chaque méthode a un coût en CU : eth_call coûte 26 CU, eth_getLogs 75, alchemy_getAssetTransfers 150, et eth_getBlockByNumber 16. Le forfait gratuit vous donne 300M de CU par mois et un plafond de débit par seconde.

Les erreurs que vous verrez le plus souvent :

Les requêtes par lots sont vos amies. Envoyez jusqu'à 1000 appels JSON-RPC dans une seule requête HTTP POST, ce qui amortit la surcharge réseau et coûte souvent moins de CU au total. Pour des flux de travail de test plus larges, les tests d'API sans Postman en 2026 expliquent comment gérer les appels JSON-RPC par lots dans une collection.

Tarification Alchemy

Alchemy propose quatre niveaux publics :

Les CU sont réinitialisées mensuellement. Si vous dépassez les limites sur Croissance ou Échelle, vous payez les dépassements ; sur Gratuit, les requêtes commencent à échouer avec un code 429 jusqu'au prochain cycle. Surveillez votre utilisation quotidiennement dans le tableau de bord pendant votre premier mois afin de choisir le bon niveau.

Tester l'API Alchemy avec Apidog

Déboguer JSON-RPC à la main est fastidieux. Chaque requête est un POST avec un tableau de paramètres imbriqués, les réponses sont encodées en hexadécimal et les abonnements WebSocket sont difficiles à inspecter dans un terminal simple. Apidog vous offre un espace de travail unifié pour le trafic REST, GraphQL et WebSocket, vous permettant d'interroger les points de terminaison HTTPS d'Alchemy, d'ouvrir un WebSocket vers wss://eth-mainnet.g.alchemy.com/v2/... et de visualiser les flux d'abonnements aux transactions en attente côte à côte.

Enregistrez votre clé API comme variable d'environnement dans Apidog et réutilisez-la dans toutes les collections pour mainnet, Sepolia, Polygon et Base. Scriptez des assertions sur les champs de réponse pour détecter les régressions lorsqu'Alchemy déploie de nouveaux points de terminaison améliorés. Téléchargez Apidog et importez la spécification OpenAPI d'Alchemy pour échafauder votre collection en moins d'une minute.

button

FAQ

Alchemy est-il gratuit pour une utilisation en production ?Oui, dans la limite de 300M de CU par mois. De nombreuses petites dApps restent indéfiniment sur le forfait Gratuit. Une fois que vous dépassez ce plafond ou avez besoin d'un débit plus élevé, Croissance à 49 $ est la prochaine étape habituelle.

Alchemy prend-il en charge Solana ?Oui. Alchemy prend en charge le mainnet et le devnet Solana avec les méthodes RPC Solana standard ainsi que des points de terminaison améliorés pour les données de jetons et NFT. Créez une application Solana dans le tableau de bord pour obtenir un point de terminaison dédié.

Puis-je utiliser l'API Alchemy sans le SDK ?Absolument. Chaque point de terminaison est appelable via HTTPS avec curl, fetch ou tout client HTTP. Le SDK est un wrapper de commodité ; il ajoute des helpers typés, des tentatives automatiques et une reconnexion WebSocket, mais il est facultatif.

Quelle est la différence entre Alchemy et les API de développeur de MetaMask ?MetaMask se concentre sur l'expérience utilisateur et la signature du portefeuille ; Alchemy se concentre sur l'infrastructure de nœuds et les données. Ils résolvent des problèmes différents. Consultez notre guide de l'API MetaMask pour le côté portefeuille.

Comment faire pivoter une clé API Alchemy ?Créez une nouvelle application dans le tableau de bord, mettez à jour votre environnement, déployez, puis supprimez l'ancienne application. Il n'y a pas de rotation sur place, alors prévoyez une brève période de chevauchement.

Account Kit fonctionne-t-il sur n'importe quelle chaîne EVM ?Account Kit prend en charge Ethereum, Optimism, Arbitrum, Base, Polygon et leurs testnets. Les politiques de parrainage de Gas Manager sont spécifiques à chaque chaîne, alors configurez-les par réseau.

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API