Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
La documentation au niveau des endpoints se trouve dans l’onglet API Reference. Chaque endpoint dispose d’un panneau interactif Essayer alimenté par le playground OpenAPI de Mintlify — remplissez les paramètres dans le navigateur et accédez directement au mainnet actif (ou devnet, où disponible). Cette page est le complément narratif : quels services existent, quand utiliser lequel, et les conventions communes à tous. Si vous cherchez « que prend en charge GET /pools/info/ids », cliquez sur la Référence API ; si vous cherchez « quel service dois-je intégrer », continuez votre lecture.

Les onze services en un coup d’œil

Raydium exécute onze services HTTP publics. Chacun est documenté en tant que groupe distinct dans l’onglet API Reference et dispose d’une spécification OpenAPI alimentant le playground interactif.
ServiceHost MainnetHost DevnetCe qu’il fournit
API v3api-v3.raydium.ioapi-v3-devnet.raydium.ioAPI de lecture canonique pour les pools, mints, configurations et infos chaîne. Porte d’entrée par défaut pour l’UI et la plupart des intégrateurs.
Transaction APItransaction-v1.raydium.iotransaction-v1-devnet.raydium.ioConstruction de transactions de swap côté serveur.
Perps APIapi-perp-v1.raydium.ioParamètres, métadonnées d’actifs, sélection RPC pour l’interface Raydium Perps.
LaunchLab Mint APIlaunch-mint-v1.raydium.iolaunch-mint-v1-devnet.raydium.ioRecherche de tokens, indexes, classements, métadonnées par mint.
LaunchLab History APIlaunch-history-v1.raydium.iolaunch-history-v1-devnet.raydium.ioHistorique des trades et agrégats OHLC k-line pour les pools LaunchLab.
LaunchLab Forum APIlaunch-forum-v1.raydium.iolaunch-forum-v1-devnet.raydium.ioFils de commentaires et uploads IPFS sur les launches LaunchLab. Signé par wallet.
LaunchLab Auth APIlaunch-auth-v1.raydium.iolaunch-auth-v1-devnet.raydium.ioGénère des JWTs ray-token courte durée à partir d’un message signé par wallet. Requis par Forum.
Dynamic IPFS APIdynamic-ipfs.raydium.iodynamic-ipfs-devnet.raydium.ioRégénération d’images/métadonnées pour les NFTs dynamiques (positions CLMM, etc.).
Owner APIowner-v1.raydium.ioowner-v1-devnet.raydium.ioPositions par wallet, soldes, récompenses à réclamer.
API v1 (legacy)api.raydium.ioChemins /v1 et /v2 hérités maintenus en direct pour les clients n’ayant pas migré vers l’API v3.
Temp APItemp-api-v1.raydium.iotemp-api-v1-devnet.raydium.ioEspace de stockage pour les endpoints ad-hoc courte durée. La surface peut changer sans préavis.
Le versioning réside dans le hostname pour les services v3/v1 — il n’y a pas de versioning supplémentaire au niveau des chemins. Les changements cassants sont livrés sous un nouveau host avec chevauchement ; l’équipe s’est engagée publiquement à au moins 6 mois de chevauchement sur toute migration v3 → v4.

Choisir un service

Si vous voulez…Utilisez
Lire les métadonnées des pools, prix, APRs, configurations de fraisAPI v3
Lire les métadonnées des mints (nom, symbole, logo, décimales, tags de risque)API v3 /mint/list, /mint/price
Construire une transaction swap/add-liquidity/remove-liquidity côté serveurTransaction API
Afficher les positions d’un wallet (tokens LP, positions CLMM, stakes farm)Owner API
Rechercher les tokens LaunchLab, parcourir les classements, récupérer les métadonnées par mintLaunchLab Mint API
Rendre un graphique k-line/bougie pour un pool LaunchLabLaunchLab History API
Publier ou lire les commentaires sur un launch LaunchLabLaunchLab Auth APIray-tokenLaunchLab Forum API
Rendre l’image NFT d’une position CLMMDynamic IPFS API
Afficher les paramètres des marchés à terme ou les listes d’actifs pour l’UI PerpsPerps API
Maintenir la compatibilité avec un client préfixé par chemin v1/v2API v1 (legacy)

Conventions transversales

Enveloppe de réponse

Chaque service sauf IPFS retourne la même enveloppe JSON :
{
  "id":      "uuid-v4-per-request",
  "success": true,
  "data":    { ... }
}
En cas d’erreur :
{
  "id":      "uuid-v4-per-request",
  "success": false,
  "msg":     "human-readable error string",
  "data":    null
}
Certains services incluent également un entier error.code (l’API v3 l’utilise pour les identificateurs d’erreur stables entre les versions mineures). Voir la page d’aperçu de chaque service pour la forme exacte.

Authentification

Deux motifs apparaissent :
  • Pas d’authentification — tous les services sauf Forum. Accédez-les anonymement via HTTPS.
  • Handshake signé par wallet — requis par la LaunchLab Forum API. Signez un message Solana ed25519 de la forme time:<unix-seconds> avec votre wallet, envoyez la signature + adresse du wallet à la LaunchLab Auth API /request-token, recevez un JWT en retour, et transmettez-le en tant qu’en-tête de requête ray-token aux appels forum ultérieurs.
Le playground Mintlify accepte ray-token dans le panneau d’authentification avant d’envoyer les requêtes forum ; la valeur est conservée uniquement dans votre navigateur.

Limites de débit

Tous les hosts se trouvent derrière Cloudflare avec un rate limiting progressif par adresse IP source. Guidance publiée pour les intégrateurs : Les rafales au-dessus des limites publiées retournent HTTP 429 avec un en-tête Retry-After. Les agrégateurs ou bots qui ont besoin de limites supérieures doivent contacter l’équipe Raydium plutôt que de marteler les hosts publics — exécuter votre propre indexeur contre les IDs de programmes on-chain est aussi une option pour les charges de travail heavy en lecture.

Mise en cache et cohérence

  • La plupart des endpoints de lecture de l’API v3 sont mis en cache à la limite pour 5–60 secondes ; les TTLs spécifiques sont notés sur la page API Reference de chaque endpoint.
  • Le cache est invalidé par l’indexeur sur les événements touchant le programme qu’il observe.
  • Lors de grands réorganisations ou d’engorgemment, il peut y avoir une divergence de 1–2 slots entre la vue de l’API et l’état on-chain. Le SDK et les lectures RPC directes sont toujours plus à jour — si un client est sur le point de signer une transaction, relisez les comptes pertinents via RPC, ne faites jamais confiance aveuglément à une valeur API.

Format d’erreur

Les erreurs reviennent sous la forme HTTP 4xx/5xx avec la même enveloppe (success: false, msg rempli). L’API v3 inclut également un error.code stable :
{
  "id":      "uuid-v4-per-request",
  "success": false,
  "msg":     "Pool not found",
  "error":   { "code": 40401, "message": "Pool not found" }
}
Le error.code est stable entre les versions mineures de l’API ; traitez-le comme le signal principal dans la logique client et msg comme la surface lisible par l’humain.

Convention d’argument mint-pair

De nombreux endpoints de l’API v3 acceptent mint1=…&mint2=… et exigent mint1 < mint2 (ordre ascending par octet de pubkey). Cela permet à l’API de retourner le même pool canonique indépendamment de l’ordre d’argument préféré par l’appelant. Triez les deux mints côté client avant de construire l’URL — les documents au niveau des endpoints dans API Reference répètent cette contrainte où elle s’applique.

Modèles de client recommandés

  1. Hydratez une fois, rafraîchissez paresseusement. Tirez GET /main/info et GET /mint/list (tous deux sur l’API v3) au chargement de l’app et mettez en cache localement avec un TTL d’1 heure. Les deux sont fortement mis en cache à la limite et changent rarement.
  2. Groupez-les là où l’endpoint le permet. GET /pools/info/ids?ids=… accepte une liste séparée par des virgules — récupérez dix pools en une requête, pas dix requêtes.
  3. Évitez les récupérations de prix sur le chemin critique. GET /mint/price convient au rendu de l’UI ; ne le boucleriez jamais dans un bot. Pour les bots de trading, exécutez un indexeur ou abonnez-vous aux événements programSubscribe RPC directement.
  4. Miroir ou proxy pour un débit élevé. Tout ce qui dépasse le plafond des limites de débit publiées doit être servi depuis votre propre couche de cache, pas directement des hosts publics. Les agrégateurs avec un >120 req/min soutenu contre transaction-v1 devraient exécuter leur propre moteur de quotation/routing.
  5. Re-lisez juste avant de signer. Les réponses de l’API peuvent être obsolètes de 5–60 secondes. Pour un snapshot de pool réellement correct au moment de la signature, relisez les comptes pertinents via le SDK ou un appel RPC direct getMultipleAccounts. Traitez les valeurs de l’API comme un indice de recherche, pas une source de règlement.
  6. Utilisez la Transaction API pour une intégration sans friction. Si vous ne voulez pas regrouper le SDK dans votre client (native mobile, bot dans un environnement contraint), la Transaction API retournera une transaction versionnée encodée en base64 pour que l’utilisateur signe. Le swapResponse qu’elle retourne intègre une quotation — traitez-la comme valide pour ~30 secondes.

Où aller ensuite

  • Référence d’endpoints (interactif)API Reference. Chaque service a son propre groupe ; cliquez sur n’importe quel endpoint pour les paramètres, la forme de réponse, les exemples de code, et un panneau Essayer.
  • SDK TypeScriptsdk-api/typescript-sdk. Le SDK consomme l’API v3 en interne pour plusieurs chemins ; pour la construction de transactions, il relisait toujours l’état depuis RPC, ne faisant jamais confiance aveuglément à l’API.
  • Intégration Trade APIintegration-guides/aggregator. Motifs pour intégrer la liquidité Raydium dans un agrégateur multi-DEX.
  • Docs conviviales pour l’IAsdk-api/ai-integration. Pointeurs pour les agents de codage IA qui ont besoin d’appeler ces APIs.