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

# Адреса программ

> Канонические идентификаторы программ Raydium и общие PDA в Solana mainnet-beta и devnet. Все остальные страницы ссылаются на эту страницу вместо жёсткого кодирования адресов.

<Info>
  **Эта страница переведена с помощью ИИ. За эталон принимается английская версия.**

  [Открыть английскую версию →](/reference/program-addresses)
</Info>

<Info>
  **Источник истины.** На этой странице адреса программ указаны только один раз. Все остальные страницы ссылаются на неё. При изменении идентификатора обновляйте его **только здесь**, и все ссылки на сайте останутся согласованными.

  Всегда проверяйте значения через live API (`https://api-v3.raydium.io/main/info`) перед подписанием реальных транзакций.
</Info>

## Mainnet-beta

<Tip>
  Основное правило: если программный ID, который вы встретили, не совпадает с таблицей ниже, **не подписывайте транзакцию.** Несоответствие программного ID — это самый простой способ потерять средства в Solana.
</Tip>

### On-chain программы

| Программа                                   | Program ID                                     | Источник                                                         |
| ------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------- |
| **AMM v4** (Hybrid AMM + OpenBook)          | `675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8` | [raydium-amm](https://github.com/raydium-io/raydium-amm)         |
| **CPMM** (Standard AMM)                     | `CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C` | [raydium-cp-swap](https://github.com/raydium-io/raydium-cp-swap) |
| **CLMM** (Concentrated Liquidity)           | `CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK` | [raydium-clmm](https://github.com/raydium-io/raydium-clmm)       |
| **Stable AMM** (StableSwap-style curve)     | `5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h` | исходный код не публичен                                         |
| **Farm v3** (legacy RAY staking)            | `EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Q` | исходный код не публичен                                         |
| **Farm v5** (legacy ecosystem farms)        | `9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4z` | исходный код не публичен                                         |
| **Farm v6** (current ecosystem farms)       | `FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhG` | исходный код не публичен                                         |
| **LaunchLab**                               | `LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj`  | исходный код не публичен                                         |
| **AMM Routing** (Raydium's on-chain router) | `routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS`  | исходный код не публичен                                         |
| **Burn & Earn / LP Lock**                   | `LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE`  | исходный код не публичен                                         |

Примечания:

* AMM v4 и Farm v3/v5 **сохраняются для существующих пулов и позиций**. Интерфейс Raydium и SDK направляют создание новых пулов и новых экосистемных ферм на CPMM, CLMM и Farm v6 соответственно — см. [`protocol-overview/versions-and-migration`](/ru/protocol-overview/versions-and-migration).
* ID Farm v3 выше также служит программой одноактивного стейкинга \$RAY. Поведение идентично Farm v3 для LP стейкинга.
* **Stable AMM** — это отдельная программа, на которую может указывать программа AMM Routing наряду с AMM v4, CPMM и CLMM. Ликвидность невелика по сравнению с тремя другими программами, и SDK не предоставляет для неё API первого класса; интеграторы, направляющие трафик через неё, обычно делают это через маршрутизатор.
* **Доступность исходного кода.** Из on-chain программ выше только `raydium-amm` (AMM v4), `raydium-cp-swap` (CPMM) и `raydium-clmm` (CLMM) поставляются с публичными репозиториями исходного кода в [`github.com/raydium-io`](https://github.com/raydium-io). Stable AMM, LaunchLab, AMM Routing, Burn & Earn / LP Lock и программы Farm не являются открытыми — проверяйте их через live API, on-chain bytecode и опубликованные IDL в [`raydium-io/raydium-idl`](https://github.com/raydium-io/raydium-idl).

### Общая админ-авторитет

Все программы на основе Anchor (CLMM, CPMM, LaunchLab, Lock) используют один жёстко закодированный публичный ключ админа для контроля доступа на уровне инструкций к админ-функциям (например `CreateAmmConfig` или `UpdatePoolStatus`):

| Кластер      | Админ                                          |
| ------------ | ---------------------------------------------- |
| mainnet-beta | `GThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ` |
| devnet       | `DRayqG9RXYi8WHgWEmRQGrUWRWbhjYWYkCRJDd6JBBak` |

Авторитеты на уровне аккаунта (например `protocol_owner`, `fund_owner` на `AmmConfig` CPMM/CLMM или кошельки миграции на `GlobalConfig` LaunchLab) хранятся on-chain и могут отличаться от админа программы. Читайте их непосредственно из соответствующего конфиг-аккаунта перед отправкой критичных транзакций.

### Общие конфиги и PDA соглашения

Несколько программ Raydium предоставляют **конфиг-аккаунты**, публичные ключи которых стабильны и указаны в публичном API. Предпочитайте поиск через API вместо жёсткого кодирования:

```
# CPMM fee configs (returns an array of {id, index, tradeFeeRate, ...})
GET https://api-v3.raydium.io/main/cpmm-config

# CLMM fee configs
GET https://api-v3.raydium.io/main/clmm-config
```

Параметры комиссии `AmmConfig` CPMM по умолчанию с индексом `0` (стандартный пул 0.25%) для справки:

| Поле                | Значение | Значение                                                           |
| ------------------- | -------- | ------------------------------------------------------------------ |
| `trade_fee_rate`    | `2500`   | 0.25% от объёма торговли                                           |
| `protocol_fee_rate` | `120000` | 12% **от комиссии за торговлю** (не объёма) направляется протоколу |
| `fund_fee_rate`     | `40000`  | 4% **от комиссии за торговлю** направляется фонду multisig         |
| `creator_fee_rate`  | `500`    | 0.05% от объёма торговли создателю пула (опционально)              |

См. [`products/cpmm/fees`](/ru/products/cpmm/fees) для понимания того, как комиссии распределяются, и [`reference/fee-comparison`](/ru/reference/fee-comparison) для матрицы сравнения продуктов.

### PDA seeds

Приведённые ниже seeds являются **каноническими** и используются как SDK, так и on-chain CPI. Всегда вычисляйте PDA; не жёстко кодируйте полученные адреса.

```ts theme={null}
// CPMM — all seeds are static ASCII strings unless noted.
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` должны быть **отсортированы в порядке байт публичного ключа** (token0 \< token1) перед хешированием. Ошибка здесь приведёт к валидному PDA для несуществующего пула.

Эквивалентные CLMM seeds следуют тому же стилю; см. [`products/clmm/accounts`](/ru/products/clmm/accounts).

## Devnet

| Программа                 | Program ID                                                                                                                        |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **AMM v4**                | `DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav`                                                                                    |
| **CPMM**                  | `DRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb`                                                                                    |
| **CLMM**                  | `DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH`                                                                                    |
| **Stable AMM**            | `DRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m`                                                                                    |
| **LaunchLab**             | `DRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6`                                                                                    |
| **AMM Routing**           | `DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd`                                                                                    |
| **Burn & Earn / LP Lock** | `DLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC`                                                                                    |
| **Farm v3 / v5 / v6**     | Не публикуется надежно для devnet — проверьте через live API (`https://api-v3-devnet.raydium.io/main/info`) перед использованием. |

REST API base для devnet: `https://api-v3-devnet.raydium.io/` (та же схема маршрутов, что и на mainnet).

## Как проверить адрес on-chain

1. **Solana Explorer.** Вставьте адрес в [explorer.solana.com](https://explorer.solana.com) и убедитесь, что он помечен как `Program` с текущей авторитетом обновления. На mainnet-beta должны отображаться деплои, подписанные авторитетом обновления Raydium.
2. **CLI.** Используйте `solana program show <PROGRAM_ID> -u mainnet-beta` для проверки слота деплоя, BPF loader, авторитета обновления и длины данных. Запишите это в ваш runbook.
3. **IDL attachment.** Запросите on-chain IDL с помощью `anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet`. Поле `address` в IDL должно совпадать. Те же IDL зеркалируются на [github.com/raydium-io/raydium-idl](https://github.com/raydium-io/raydium-idl) — сравните on-chain IDL с репозиторием перед тем как доверять ему.
4. **Авторитеты конфига/админа.** Для конфиг-аккаунтов CPMM/CLMM прочитайте поле `owner`/`protocol_owner` и убедитесь, что оно совпадает с текущим multisig Raydium, опубликованным в [`security/admin-and-multisig`](/ru/security/admin-and-multisig).

Если какая-либо из четырёх проверок выше не согласуется с этой страницей, рассматривайте эту страницу как неправильную и откройте проблему перед написанием нового кода для этих адресов.

## Обновление этой страницы

* Изменения в программных ID являются критичными для безопасности. **Не** выпускайте изменение программного ID без (a) ссылки на объявление Raydium, (b) добавления записи в [`reference/changelog`](/ru/reference/changelog) и (c) проверки всех ссылок в документации, чтобы убедиться, что ни одна страница всё ещё не ссылается на старое значение.
* Deprecated программы остаются в таблице с примечанием о статусе, а не удаляются — существующие пулы всё ещё разрешаются через старую программу.

Источники:

* Live API: `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)
