> ## 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.

# Adresses des programmes

> IDs canoniques des programmes Raydium et PDAs partagés sur Solana mainnet-beta et devnet. Toutes les autres pages renvoient ici au lieu de coder en dur les adresses.

<Info>
  **Cette page est traduite automatiquement par IA. La version anglaise fait foi.**

  [Voir la version anglaise →](/reference/program-addresses)
</Info>

<Info>
  **Source de vérité.** Cette page est le seul endroit de la documentation qui énumère les adresses des programmes verbatim. Les autres pages renvoient ici. Si un ID change, mettez-le à jour **uniquement ici** et chaque référence dans le site reste cohérente.

  Vérifiez toujours les valeurs par rapport à l'API en direct (`https://api-v3.raydium.io/main/info`) avant de signer des transactions réelles.
</Info>

## Mainnet-beta

<Tip>
  Règle empirique : si un ID de programme que vous rencontrez ne correspond pas au tableau ci-dessous, **ne signez pas la transaction.** Un ID de programme non concordant est le moyen le plus simple de perdre des fonds sur Solana.
</Tip>

### Programmes on-chain

| Programme                                     | ID du programme                                | Source                                                           |
| --------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------- |
| **AMM v4** (AMM hybride + OpenBook)           | `675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8` | [raydium-amm](https://github.com/raydium-io/raydium-amm)         |
| **CPMM** (AMM standard)                       | `CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C` | [raydium-cp-swap](https://github.com/raydium-io/raydium-cp-swap) |
| **CLMM** (Liquidité concentrée)               | `CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK` | [raydium-clmm](https://github.com/raydium-io/raydium-clmm)       |
| **Stable AMM** (courbe de type StableSwap)    | `5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h` | source non disponible publiquement                               |
| **Farm v3** (staking RAY hérité)              | `EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q` | source non disponible publiquement                               |
| **Farm v5** (fermes écosystème hérité)        | `9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z` | source non disponible publiquement                               |
| **Farm v6** (fermes écosystème actuelles)     | `FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG` | source non disponible publiquement                               |
| **LaunchLab**                                 | `LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj`  | source non disponible publiquement                               |
| **AMM Routing** (routeur on-chain de Raydium) | `routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS`  | source non disponible publiquement                               |
| **Burn & Earn / LP Lock**                     | `LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE`  | source non disponible publiquement                               |

Notes :

* AMM v4 et Farm v3/v5 sont **conservés pour les pools et positions existants**. L'interface utilisateur Raydium et le SDK acheminent la création de nouveaux pools et les nouvelles fermes écosystème vers CPMM, CLMM et Farm v6 respectivement — voir [`protocol-overview/versions-and-migration`](/fr/protocol-overview/versions-and-migration).
* L'ID Farm v3 ci-dessus double le programme de staking en monoactif \$RAY. Le comportement est identique à Farm v3 pour le staking LP.
* **Stable AMM** est un programme séparé que le programme AMM Routing peut cibler aux côtés d'AMM v4, CPMM et CLMM. La liquidité est limitée par rapport à ces trois autres programmes et le SDK n'expose pas une API de première classe pour celui-ci ; les intégrateurs qui l'empruntent le font généralement via le routeur.
* **Disponibilité du code source.** Parmi les programmes on-chain ci-dessus, seuls `raydium-amm` (AMM v4), `raydium-cp-swap` (CPMM) et `raydium-clmm` (CLMM) sont fournis avec des dépôts sources publics sous [`github.com/raydium-io`](https://github.com/raydium-io). Stable AMM, LaunchLab, AMM Routing, Burn & Earn / LP Lock et les programmes Farm ne sont pas disponibles publiquement — vérifiez-les contre l'API en direct, le bytecode on-chain et les IDLs publiés dans [`raydium-io/raydium-idl`](https://github.com/raydium-io/raydium-idl) à la place.

### Autorité admin partagée

Tous les programmes basés sur Anchor (CLMM, CPMM, LaunchLab, Lock) partagent une seule `Pubkey` admin codée en dur pour le contrôle d'accès au niveau des instructions vers les chemins admin (tels que `CreateAmmConfig` ou `UpdatePoolStatus`) :

| Cluster      | Admin                                          |
| ------------ | ---------------------------------------------- |
| mainnet-beta | `GThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ` |
| devnet       | `DRayqG9RXYi8WHgWEmRQGrUWRWbhjYWYkCRJDd6JBBak` |

Les autorités opérationnelles au niveau du compte (par ex. `protocol_owner`, `fund_owner` sur `AmmConfig` CPMM/CLMM, ou les portefeuilles de migration sur `GlobalConfig` LaunchLab) sont stockés on-chain et peuvent différer de l'admin du programme. Lisez-les directement depuis le compte de configuration pertinent avant d'envoyer des transactions à enjeux élevés.

### Conventions de configuration partagée / PDA

Plusieurs programmes Raydium exposent des **comptes de configuration** dont les clés publiques sont stables et figurent dans l'API publique. Préférez la recherche API au codage en dur :

```
# Configurations de frais CPMM (renvoie un tableau de {id, index, tradeFeeRate, ...})
GET https://api-v3.raydium.io/main/cpmm-config

# Configurations de frais CLMM
GET https://api-v3.raydium.io/main/clmm-config
```

Paramètres de frais `AmmConfig` CPMM par défaut à l'index `0` (pool standard de 0,25%), pour référence :

| Champ               | Valeur   | Signification                                                            |
| ------------------- | -------- | ------------------------------------------------------------------------ |
| `trade_fee_rate`    | `2500`   | 0,25 % du volume d'échange                                               |
| `protocol_fee_rate` | `120000` | 12 % **des frais d'échange** (pas du volume) acheminés vers le protocole |
| `fund_fee_rate`     | `40000`  | 4 % **des frais d'échange** acheminés vers le multisig du fonds          |
| `creator_fee_rate`  | `500`    | 0,05 % du volume d'échange au créateur du pool (optionnel)               |

Voir [`products/cpmm/fees`](/fr/products/cpmm/fees) pour voir comment les divisions se composent, et [`reference/fee-comparison`](/fr/reference/fee-comparison) pour la matrice inter-produits.

### Graines PDA

Les graines ci-dessous sont **canoniques** et utilisées à la fois par le SDK et par les CPIs on-chain. Calculez toujours les PDAs ; ne codez pas en dur les adresses dérivées.

```ts theme={null}
// CPMM — toutes les graines sont des chaînes ASCII statiques sauf indication contraire.
const [ammConfig]   = PublicKey.findProgramAddressSync(
  [Buffer.from("amm_config"), u16ToBytes(index)],
  CPMM_PROGRAM_ID,
);
const [authority]   = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_and_lp_mint_auth_seed")],
  CPMM_PROGRAM_ID,
);
const [poolState]   = PublicKey.findProgramAddressSync(
  [Buffer.from("pool"), ammConfig.toBuffer(), token0Mint.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [lpMint]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_lp_mint"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault0]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token0Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault1]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [observation] = PublicKey.findProgramAddressSync(
  [Buffer.from("observation"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
```

`token0Mint` / `token1Mint` sont **triés par ordre d'octets de clé publique** (token0 \< token1) avant le hachage. Faire cela incorrectement produit une PDA valide pour un pool inexistant.

Les graines CLMM équivalentes suivent le même style ; voir [`products/clmm/accounts`](/fr/products/clmm/accounts).

## Devnet

| Programme                 | ID du programme                                                                                                                             |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **AMM v4**                | `DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav`                                                                                              |
| **CPMM**                  | `DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb`                                                                                              |
| **CLMM**                  | `DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH`                                                                                              |
| **Stable AMM**            | `DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m`                                                                                              |
| **LaunchLab**             | `DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6`                                                                                              |
| **AMM Routing**           | `DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd`                                                                                              |
| **Burn & Earn / LP Lock** | `DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC`                                                                                              |
| **Farm v3 / v5 / v6**     | Non publiés de manière fiable pour devnet — confirmez via l'API en direct (`https://api-v3-devnet.raydium.io/main/info`) avant utilisation. |

Base de l'API REST Devnet : `https://api-v3-devnet.raydium.io/` (même forme de route que mainnet).

## Comment vérifier une adresse on-chain

1. **Solana Explorer.** Collez l'adresse dans [explorer.solana.com](https://explorer.solana.com) et confirmez qu'elle est marquée comme `Program` avec une autorité de mise à niveau actuelle. Mainnet-beta devrait afficher des déploiements signés par l'autorité de mise à niveau de Raydium.
2. **CLI.** Utilisez `solana program show <PROGRAM_ID> -u mainnet-beta` pour inspecter l'emplacement de déploiement, le chargeur BPF, l'autorité de mise à niveau et la longueur des données. Enregistrez-les dans votre runbook.
3. **Attachement IDL.** Interrogez l'IDL on-chain avec `anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet`. Le champ `address` de l'IDL doit correspondre. Les mêmes IDLs sont mirrés sur [github.com/raydium-io/raydium-idl](https://github.com/raydium-io/raydium-idl) — diff l'IDL on-chain par rapport au dépôt avant de lui faire confiance.
4. **Autorités de configuration/admin.** Pour les comptes de configuration CPMM/CLMM, lisez le champ `owner`/`protocol_owner` et confirmez qu'il correspond au multisig Raydium actuel publié dans [`security/admin-and-multisig`](/fr/security/admin-and-multisig).

Si l'une des quatre vérifications ci-dessus est en désaccord avec cette page, traitez cette page comme incorrecte et ouvrez un problème avant d'écrire un nouveau code par rapport aux adresses.

## Mise à jour de cette page

* Les modifications des ID de programme sont critiques pour la sécurité. Ne **pas** livrer une modification d'ID de programme sans (a) créer un lien vers l'annonce Raydium, (b) ajouter une entrée dans [`reference/changelog`](/fr/reference/changelog) et (c) exécuter une vérification des liens sur la documentation pour confirmer qu'aucune page ne référence toujours l'ancienne valeur.
* Les déprécations restent dans le tableau avec une note d'état plutôt que d'être supprimées — les pools existants continuent à se résoudre via l'ancien programme.

Sources :

* API en direct : `https://api-v3.raydium.io/main/info`
* [github.com/raydium-io/raydium-idl](https://github.com/raydium-io/raydium-idl)
* [github.com/raydium-io/raydium-cp-swap](https://github.com/raydium-io/raydium-cp-swap)
