raydium

Par elophanto · elophanto

SDK complet du protocole Raydium - la référence unique pour intégrer Raydium sur Solana. Couvre le SDK, la Trade API, les pools CLMM, CPMM et AMM, les lancements de tokens LaunchLab, le farming, l'intégration CPI et tous les outils Raydium.

npx skills add https://github.com/elophanto/elophanto --skill raydium

Guide d'Intégration Complet - Raydium Protocol

Le guide définitif pour intégrer Raydium - l'AMM leader de Solana et l'infrastructure de liquidité alimentant la DeFi depuis 2021.

Qu'est-ce que Raydium ?

Raydium est un exchange décentralisé sur Solana offrant :

  • Token Swapping - Swaps rapides et bon marché via routage intelligent sur tous les types de pools
  • Liquidity Provision - Gagnez des frais de trading et des récompenses en fournissant de la liquidité
  • Token Launches - LaunchLab pour les lancements de tokens sans permission avec courbes de liaison
  • Perpetual Trading - Trading avec effet de levier sur les actifs cryptographiques

Statistiques Clés

  • Infrastructure de liquidité la plus largement intégrée sur Solana
  • 35 000+ tokens lancés via LaunchLab (2025)
  • Plusieurs types de pools pour différents cas d'usage

Produits Principaux

Types de Pool

Type Description Meilleur Pour
CLMM Concentrated Liquidity Market Maker LPs professionnels, paires stablecoin, gestion active
CPMM Constant Product (x*y=k) avec Token22 Nouveaux lancements de tokens, intégrations simples
AMM V4 AMM Classique + OpenBook CLOB Marchés existants, liquidité hybride

Fonctionnalités Additionnelles

  • LaunchLab - Lancements de tokens sans permission avec courbes de liaison
  • Farms - Yield farming et récompenses de staking
  • Burn & Earn - Blocage permanent de liquidité
  • Trade API - API HTTP pour le routage de swaps

Aperçu de l'API

1. SDK (TypeScript)

Package : @raydium-io/raydium-sdk-v2

Pour l'intégration programmatique avec un contrôle total sur les pools, les positions et les transactions.

2. Trade API (HTTP)

URL de Base : https://transaction-v1.raydium.io

Pour le routage de swaps - obtenez des devis et des transactions sérialisées via HTTP.

3. Data API

URL de Base : https://api-v3.raydium.io

Pour les données de pool, les listes de tokens, les infos de farms et les configurations.

Démarrage Rapide

Installation

npm install @raydium-io/raydium-sdk-v2
# ou
yarn add @raydium-io/raydium-sdk-v2

Configuration de Base

import { Raydium } from '@raydium-io/raydium-sdk-v2';
import { Connection, Keypair } from '@solana/web3.js';
import bs58 from 'bs58';

// Configuration connexion et wallet
const connection = new Connection('https://api.mainnet-beta.solana.com');
const owner = Keypair.fromSecretKey(bs58.decode('YOUR_SECRET_KEY'));

// Initialisation SDK
const raydium = await Raydium.load({
  connection,
  owner,
  cluster: 'mainnet',
  disableLoadToken: false, // Charger la liste de tokens
});

// Accès aux données de tokens
const tokenList = raydium.token.tokenList;
const tokenMap = raydium.token.tokenMap;

// Accès aux données de compte
const tokenAccounts = raydium.account.tokenAccounts;

Types de Pool

CLMM (Concentrated Liquidity)

Permet aux LPs de concentrer la liquidité dans des plages de prix spécifiques pour une meilleure efficacité capitalistique.

// Récupérer le pool CLMM
const poolId = 'POOL_ID_HERE';
const poolInfo = await raydium.clmm.getPoolInfoFromRpc(poolId);

// Ou depuis l'API (mainnet uniquement)
const poolData = await raydium.api.fetchPoolById({ ids: poolId });

CPMM (Constant Product)

AMM simplifié sans exigence de marché OpenBook, supporte Token22.

// Récupérer le pool CPMM
const cpmmPool = await raydium.cpmm.getPoolInfoFromRpc(poolId);

AMM (Legacy)

AMM classique intégré avec le carnet d'ordres central OpenBook.

// Récupérer le pool AMM
const ammPool = await raydium.liquidity.getPoolInfoFromRpc({ poolId });

Opérations Principales

Swap

import { CurveCalculator } from '@raydium-io/raydium-sdk-v2';

// Calculer le swap
const { amountOut, fee } = CurveCalculator.swapBaseInput({
  poolInfo,
  amountIn: 1000000n, // lamports
  mintIn: inputMint,
  mintOut: outputMint,
});

// Exécuter un swap CPMM
const { execute } = await raydium.cpmm.swap({
  poolInfo,
  inputAmount: 1000000n,
  inputMint,
  slippage: 0.01, // 1%
  txVersion: 'V0',
});

await execute({ sendAndConfirm: true });

Ajouter de la Liquidité

// Dépôt CPMM
const { execute } = await raydium.cpmm.addLiquidity({
  poolInfo,
  inputAmount: 1000000n,
  baseIn: true,
  slippage: 0.01,
});

await execute({ sendAndConfirm: true });

Créer un Pool

// Créer un pool CPMM
const { execute } = await raydium.cpmm.createPool({
  mintA,
  mintB,
  mintAAmount: 1000000n,
  mintBAmount: 1000000n,
  startTime: new BN(0),
  feeConfig, // depuis l'API
  txVersion: 'V0',
});

const { txId } = await execute({ sendAndConfirm: true });

IDs de Programme

Programme Mainnet Devnet
AMM 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav
CLMM CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK devi51mZmdwUJGU9hjN27vEz64Gps7uUefqxg27EAtH
CPMM CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C CPMDWBwJDtYax9qW7AyRuVC19Cc4L4Vcy4n2BHAbHkCW

Points de Terminaison de l'API

// API Mainnet
const API_URL = 'https://api-v3.raydium.io';

// API Devnet
const DEVNET_API = 'https://api-v3.raydium.io/main/';

// Points de terminaison courants
const endpoints = {
  tokenList: '/mint/list',
  poolList: '/pools/info/list',
  poolById: '/pools/info/ids',
  farmList: '/farms/info/list',
  clmmConfigs: '/clmm/configs',
};

Options de Transaction

const { execute } = await raydium.cpmm.swap({
  poolInfo,
  inputAmount,
  inputMint,
  slippage: 0.01,
  txVersion: 'V0', // ou 'LEGACY'
  computeBudgetConfig: {
    units: 600000,
    microLamports: 100000, // frais de priorité
  },
});

// Exécuter avec options
const { txId } = await execute({
  sendAndConfirm: true,
  skipPreflight: true,
});

console.log(`https://solscan.io/tx/${txId}`);

Fonctionnalités Clés

Fonctionnalité CLMM CPMM AMM
Concentrated Liquidity Oui Non Non
Support Token22 Limité Oui Non
OpenBook Requis Non Non Oui
Custom Price Ranges Oui Non Non
LP NFT Positions Oui Non Non

LaunchLab (Nouveau)

LaunchLab simplifie les lancements de tokens sur Solana avec des courbes de liaison personnalisables :

// Créer un token avec courbe de liaison via LaunchLab
const { execute } = await raydium.launchLab.createToken({
  name: "My Token",
  symbol: "MTK",
  uri: "https://arweave.net/metadata.json",
  initialSupply: 1_000_000_000n,
  bondingCurve: "linear", // ou "exponential"
  graduationThreshold: 85_000_000_000n, // 85 SOL
  txVersion: "V0",
});

const { txId } = await execute({ sendAndConfirm: true });

Migration de Courbe de Liaison

Les tokens se migrent automatiquement vers des pools AMM une fois qu'ils atteignent le seuil de graduation (défaut : 85 SOL). Les créateurs gagnent 10% des frais de trading après la migration.

Jalons Clés (2025)

  • 35 000+ tokens lancés via LaunchLab
  • Orb Explorer lancé pour l'analytics on-chain

Protocole V3 (À Venir)

Raydium V3 introduit un modèle de liquidité hybride combinant :

  • Pools AMM avec le carnet d'ordres décentralisé d'OpenBook
  • Accès à 40% plus de liquidité dans la DeFi Solana
  • Efficacité capitalistique améliorée pour les LPs

Ressources

Structure de Skill

raydium/
├── SKILL.md                      # Ce fichier - guide d'intégration complet
├── resources/
│   ├── sdk-api-reference.md      # API SDK complet
│   ├── trade-api.md              # Référence HTTP Trade API
│   ├── program-ids.md            # Toutes les adresses de programme
│   ├── pool-types.md             # Comparaison des types de pool
│   ├── launchlab.md              # Documentation LaunchLab
│   └── github-repos.md           # Référence des dépôts GitHub
├── examples/
│   ├── swap/README.md            # Exemples de swap de tokens
│   ├── clmm-pool/README.md       # Création de pool CLMM
│   ├── clmm-position/README.md   # Gestion de position CLMM
│   ├── cpmm-pool/README.md       # Opérations de pool CPMM
│   ├── liquidity/README.md       # Gestion de liquidité
│   ├── farming/README.md         # Farming et staking
│   └── launchlab/README.md       # Lancements de tokens LaunchLab
├── templates/
│   └── raydium-setup.ts          # Modèle de configuration SDK
└── docs/
    ├── clmm-guide.md             # Exploration approfondie CLMM
    └── troubleshooting.md        # Problèmes courants

Dépôts GitHub

Dépôt Description
raydium-sdk-V2 SDK TypeScript
raydium-sdk-V2-demo Exemples SDK
raydium-clmm Programme CLMM (Rust)
raydium-cp-swap Programme CPMM (Rust)
raydium-amm Programme AMM V4 (Rust)
raydium-cpi Exemples d'intégration CPI
raydium-idl Définitions IDL

Vérification

  • Un appel RPC/SDK réel a été émis (mainnet, devnet ou validateur local) et la charge utile de réponse est capturée dans la transcription, pas seulement paraphrasée
  • Chaque transaction a été simulée (simulateTransaction ou équivalent) avant toute étape de signature/envoi ; les logs de simulation sont joint
  • Pour toute transaction signée/envoyée, la signature résultante est enregistrée et confirmée on-chain (statut retourné par getSignatureStatuses ou une URL d'explorateur)
  • Le slippage, les frais de priorité et les limites d'unités de calcul ont été définis explicitement avec des valeurs numériques concrètes, pas laissés aux défauts de la bibliothèque
  • Les adresses de compte, les mints et les IDs de programme utilisés dans l'exécution correspondent aux adresses raydium-amm documentées pour le cluster ciblé (pas de mélange mainnet/devnet)
  • Le chemin d'erreur a été exercé au moins une fois (solde insuffisant, oracle obsolète, blockhash expiré, etc.) et la gestion d'erreur de l'agent a produit un message lisible

Skills similaires