Skip to main content
Эта страница переведена с помощью ИИ. За эталон принимается английская версия.Открыть английскую версию →
Источник истины. Эта страница — единственное место в документации, где адреса программ перечислены в явном виде. Все остальные страницы ссылаются сюда. Если ID изменится, обновите его только здесь, и все ссылки на сайте останутся согласованными.Всегда проверяйте значения по живому API (https://api-v3.raydium.io/main/info) перед подписанием реальных транзакций.

Mainnet-beta

Практическое правило: если ID программы в дикой природе не совпадает с таблицей ниже, не подписывайте транзакцию. Несовпадающий ID программы — это самый простой способ потерять средства на Solana.

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

Примечания:
  • AMM v4 и Farm v3/v5 сохраняются для существующих пулов и позиций. Raydium UI и SDK направляют создание новых пулов и новые экосистемные фермы на CPMM, CLMM и Farm v6 соответственно — см. 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. Stable AMM, LaunchLab, AMM Routing, Burn & Earn / LP Lock и программы Farm недоступны публично — проверяйте их по живому API, on-chain байт-коду и опубликованным IDL в raydium-io/raydium-idl.

Общий администраторский ключ

Каждая программа Raydium — включая AMM v4 — использует один жёстко закодированный администраторский Pubkey для контроля доступа на уровне инструкций к администраторским путям. Это config_feature::amm_owner::ID в AMM v4 (ограничивает SetParams, CreateConfigAccount и UpdateConfigAccount, и используется как pnl_owner по умолчанию) и admin::ID в Anchor-программах — CLMM, CPMM, LaunchLab, Lock — ограничивающий пути такие как CreateAmmConfig или UpdatePoolStatus: Операционные ключи на уровне аккаунта (например protocol_owner, fund_owner на CPMM/CLMM AmmConfig, или кошельки миграции на LaunchLab GlobalConfig) хранятся on-chain и могут отличаться от администратора программы. Читайте их непосредственно из соответствующего аккаунта конфигурации перед отправкой критичных транзакций.

Администратор создания PDA разрешений CPMM

CreatePermissionPda принимает либо общего администратора программы выше, либо выделенного владельца. Начиная с обновления CPMM 2026-09, ClosePermissionPda принимает тех же двух подписантов; до этого это было только администратором.

Администраторы реестра поддерживаемых монет

CreateSupportMintAssociated и CloseSupportMintAssociated принимают либо общего администратора программы, либо выделенного владельца программы ниже. Регистрация монеты допускает её через список разрешений расширения Token-2022 программы — см. reference/token-2022-support. CPMM и CLMM каждый ведут свой собственный реестр PDA и свой собственный ключ администратора; ни один ключ не работает на другой программе.

Кошельки владельцев комиссий CPMM

Начиная с обновления CPMM 2026-09, CreateAmmConfig записывает эти фиксированные ключи в protocol_owner и fund_owner новой конфигурации вместо копирования ключа подписанта администратора. CollectProtocolFee и CollectFundFee принимают ключ, хранящийся в конфигурации или общего администратора программы (|| crate::admin::ID), поэтому администратор остаётся принятым подписантом — изменилось только то, куда по умолчанию идут доходы.
Это значения, которые программа записывает в новые конфигурации, а не описание существующих. Аккаунты AmmConfig, созданные до обновления, сохраняют то, что на них хранится. Всегда читайте protocol_owner / fund_owner с аккаунта перед построением транзакции сбора.

Кошельки владельцев комиссий CLMM

Начиная с обновления CLMM 2026-09-30, CreateAmmConfig записывает эти фиксированные ключи в owner и fund_owner новой конфигурации. Раньше он копировал ключ подписанта администратора. CollectProtocolFee / CollectFundFee принимают ключ, хранящийся в конфигурации или общего администратора программы, поэтому администратор по-прежнему является принятым подписантом. На mainnet эти значения совпадают с уже хранящимися на всех 21 существующих конфигурациях CLMM (см. Конфигурационные аккаунты на уровне программы). Обновление жёстко кодирует значение, которое ранее устанавливалось вручную.
Как и в CPMM, это значения, которые программа записывает в новые конфигурации. Существующие аккаунты AmmConfig не переписываются. Читайте owner / fund_owner с аккаунта перед построением транзакции сбора.

Кошельки сбора комиссий протокола

Где накапливается доля протокола от торговых комиссий каждой программы. Это обычные кошельки, хранящие токены, поэтому один адрес содержит смешанный набор SPL монет (wSOL и USDC из пулов SOL/USDC, wSOL и RAY из пулов SOL/RAY и так далее). Доля протокола Stable AMM накапливается в хранилище как out_put.need_take_pnl_* и выводится WithdrawPnl вместо того, чтобы находиться в постоянном кошельке. Для CPMM читайте protocol_owner с конкретного AmmConfig перед построением транзакции сбора — конфигурации, созданные до обновления 2026-09, могут содержать другой ключ.

Кошельки сбора избыточных ламортов

Каждая из трёх программ, обновлённых 2026-09-09, и CLMM 2026-09-30, получила администраторскую инструкцию, которая возвращает ламорты, удерживаемые выше минимума, освобождаемого от арендной платы на контролируемых программой аккаунтах, следуя SIMD-0437 снижению арендной платы. Каждая программа жёстко кодирует свой собственный целевой кошелёк, и каждый является выделенным ключом, а не общим администратором программы. CPMM, LaunchLab и CLMM дополнительно принимают общего администратора программы в качестве подписанта. AMM v4 принимает только кошелёк выше — у него нет резервного администратора. AMM v4 также компилирует отдельный ключ testnet (75KWb5XcqPTgacQyNw9P5QU2HL3xpezEVcgsFCiJgTT) под своей функцией testnet. Эти инструкции перемещают только ламорты; они никогда не трогают баланс токена, не закрывают аккаунт и не изменяют состояние пула. См. products/amm-v4/instructions, products/cpmm/instructions, products/launchlab/instructions и products/clmm/instructions.

Делегированный создатель конфигурации LaunchLab

CreateConfig принимает либо общего администратора программы, либо делегированный ключ ниже. Делегированная роль может создать новый GlobalConfig; она не может вызывать администраторский путь UpdateConfig для существующего аккаунта.

Ограниченные администраторы заморозки выпускающей организации CLMM

Когда любая из монет хранилища в пуле CLMM имеет одного из администраторов заморозки ниже, новые позиции, открытые через путь V2, имеют свой аккаунт токена NFT позиции заморожен. Список — это frozen_position_nft_authorities::IDS в программе CLMM, и его единственная запись — это администратор выпускающей организации, на который также совпадала удалённая с тех пор детекция Superstate CLMM. Это администраторы заморозки выпускающей организации базового актива, используемые только как ключи совпадения. PDA пула CLMM, а не ключ выпускающей организации, становится администратором заморозки для монеты NFT позиции. Список жёстко закодирован в программе CLMM. Добавление или удаление администратора требует обновления программы.

Общие соглашения о конфигурации / PDA

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

Получатели комиссии за создание пула

Как CPMM, так и AMM v4 проверяют назначение комиссии за создание пула по точному адресу, поэтому оно должно уже существовать на любом кластере, на котором вы тестируете. CLMM не имеет отдельной комиссии за создание пула. AMM v4 также компилирует 3TRTX4dXUpp2eqxi3tvQDFYUV7SdDJjcPE3Y4mbtftaX под своей функцией testnet. CPMM отклоняет несовпадение с ConstraintAddress Anchor (2012); AMM v4 с InvalidFee.

Администратор ордеров с лимитом CLMM

SettleLimitOrder и CloseLimitOrder принимают либо собственного owner ордера, либо ключ администратора на уровне программы ниже. Администратор не может открывать, увеличивать или уменьшать ордера, и выход всегда попадает на аккаунт владельца ордера — см. security/admin-and-multisig. Параметры комиссии конфигурации CPMM по умолчанию индекс 0 (стандартный пул 0.25%), для справки: См. products/cpmm/fees для того, как составляются доли, и reference/fee-comparison для матрицы кросс-продукта.

Семена PDA

Семена ниже канонические и используются как SDK, так и on-chain CPI. Всегда вычисляйте PDA; не жёстко кодируйте производные адреса.
token0Mint / token1Mint отсортированы по порядку байтов открытого ключа (token0 < token1) перед хешированием. Ошибка в этом даёт действительный PDA для несуществующего пула. Эквивалентные семена CLMM следуют тому же стилю; см. products/clmm/accounts.

Devnet

REST API базовый адрес Devnet: https://api-v3-devnet.raydium.io/ (та же форма маршрута, что и mainnet).

Администратор обновления

Каждая программа Raydium на mainnet-beta развёрнута под BPF Upgradeable Loader с одним и тем же администратором обновления — хранилищем мультиподписи Squads для обновления программы: Проверено on-chain 2026-09-09 для AMM v4, CPMM, CLMM, Stable AMM, Farm v6, LaunchLab, AMM Routing и Lock — все восемь сообщают об этом администраторе, и ни один не является неизменяемым. Перепроверьте с помощью solana program show <PROGRAM_ID> -u mainnet-beta перед критичным развёртыванием; см. security/admin-and-multisig для порога мультиподписи и практики подписания.

Конфигурационные аккаунты на уровне программы

Все значения прочитаны с mainnet-beta 2026-09-09. Ставки комиссий на этих аккаунтах изменяются администратором — читайте их в реальном времени вместо кеширования.

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

  1. Solana Explorer. Вставьте адрес в explorer.solana.com и подтвердите, что он отмечен как Program с текущим администратором обновления. Mainnet-beta должен показывать развёртывания, подписанные администратором обновления Raydium.
  2. CLI. Используйте solana program show <PROGRAM_ID> -u mainnet-beta для проверки слота развёртывания, BPF загрузчика, администратора обновления и длины данных. Запишите эти значения в вашу инструкцию.
  3. Присоединение IDL. anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet работает для CLMM, LaunchLab и Lock, которые по-прежнему ведут устаревший аккаунт anchor:idl, принадлежащий самой программе. Это не работает для CPMM: IDL CPMM on-chain переместился в программу Program Metadata (ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S) при обновлении 2026-09, поэтому вместо этого получите его оттуда. AMM v4, Stable AMM и Farm не имеют on-chain IDL. IDL зеркалируются на github.com/raydium-io/raydium-idl — сравните on-chain IDL с репозиторием перед тем, как доверять ему.
  4. Конфигурация/администраторские ключи. Для конфигурационных аккаунтов CPMM/CLMM читайте поле owner/protocol_owner и подтвердите, что оно совпадает с текущей мультиподписью Raydium, опубликованной в security/admin-and-multisig.
Если любая из четырёх проверок выше не совпадает с этой страницей, считайте эту страницу неправильной и откройте issue перед написанием нового кода для этих адресов.

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

  • Изменения ID программ критичны для безопасности. Не отправляйте изменение ID программы без (a) ссылки на объявление Raydium, (b) добавления записи в reference/changelog и (c) запуска проверки ссылок по документации для подтверждения того, что ни одна страница по-прежнему не ссылается на старое значение.
  • Устаревшие версии остаются в таблице с примечанием о статусе вместо удаления — существующие пулы по-прежнему разрешаются через старую программу.
Источники: