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.
Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
Esta página é o diagrama de arquitetura canônico único da documentação. Todos os outros capítulos vinculam de volta aqui em vez de redesenhar o sistema. Os IDs dos programas não estão incorporados nesta página — eles vivem em
reference/program-addresses para que possam ser atualizados em exatamente um lugar.O que o Raydium realmente é
Raydium não é um programa. É um conjunto de programas independentes do Solana que compartilham uma superfície off-chain comum (REST API, SDK TypeScript, registro IDL) e um punhado de convenções (PDAs de autoridade, contas de configuração de taxa, multisig administrativo). Uma interação do usuário — um swap, um depósito, uma colheita de farm — é roteada para exatamente um desses programas; a superfície off-chain é o que os faz parecer um único produto. A presença on-chain se agrupa em quatro tipos de programas:- Programas AMM — quatro programas de pool separados, cada um com seu próprio formato e matemática de precificação:
- AMM v4 — o AMM de produto constante original. Originalmente um design híbrido que espelhava a curva em um mercado OpenBook (anteriormente Serum); a integração com OpenBook foi desativada desde então e os pools agora operam como AMMs puros contra a curva. Ainda o venue mais profundo para muitos pares principais.
- CPMM — um AMM de produto constante simples (
x · y = k) construído nativamente no Solana, com suporte de primeira classe para Token-2022. O programa recomendado para novos pools de produto constante. - CLMM — um AMM de liquidez concentrada no estilo Uniswap v3. A liquidez é fornecida em faixas de preço; as taxas se acumulam por posição; o estado é organizado em torno de ticks e um
sqrt_price_x64. - Stable AMM — um programa StableSwap de liquidez fina (derivado do AMM v4 com uma curva de precificação por tabela de consulta) que o roteador usa para pares correlacionados com stablecoins. Não é exposto como uma opção de criar pool de primeira classe na interface do usuário hoje.
- Distribuição de recompensas — Farm (v3 / v5 / v6, com v6 como a geração ativa; v3/v5 apenas encerramento).
- Lançamento de token — LaunchLab, um programa de curva de vínculo. Lançamentos bem-sucedidos evoluem para um pool AMM v4 ou um pool CPMM dependendo da configuração do lançamento, com o LP envolvido através do programa LP-Lock.
- Primitivos de liquidez — AMM Routing (o roteador multi-pool on-chain que faz CPI nos quatro programas AMM em uma única transação) e LP-Lock / Burn & Earn (bloqueia posições LP mantendo reivindicações de taxas abertas).
Diagrama canônico
Invariantes-chave que este diagrama captura:- Os programas AMM são pares. CPMM não chama CLMM; CLMM não chama AMM v4; Stable AMM é seu próprio programa. Um swap direto em um pool toca exatamente um programa AMM. O único programa que compõe múltiplos AMMs em uma única transação é o AMM Routing, que faz CPI nos programas AMM v4 / CPMM / CLMM / Stable AMM conforme necessário quando uma rota cruza tipos de pool.
- O SDK e a Transaction API são camadas de composição, não programas. Quando a interface web ou um agregador constrói uma transação “swap através de três pools”, o SDK (lado do cliente) ou a Transaction API (lado do servidor) costura as instruções usando cotações obtidas da REST API. A cadeia vê uma única transação Solana com N instruções — nenhum programa orquestrador possui o fluxo inteiro.
- O wiring OpenBook do AMM v4 é inerte. AMM v4 foi o único AMM já vinculado ao OpenBook, mas a integração foi desativada — os pools não compartilham mais liquidez com OpenBook,
MonitorStepnão é mais executado, e uma indisponibilidade do OpenBook não afeta o tráfego de swap atual. As contas de mercado permanecem noAmmInfodo pool para compatibilidade com versões anteriores, mas fazem referência a estado não utilizado. CPMM, CLMM e Stable AMM nunca tiveram uma dependência de CLOB. - LaunchLab evolui para um de dois programas AMM. Um lançamento bem-sucedido chama
MigrateToAmm(alvo: AMM v4) ouMigrateToCpswap(alvo: CPMM) dependendo de seumigrate_type; lançamentos Token-2022 sempre migram para CPMM. O LP pós-evolução é dividido viaPlatformConfige as fatias de criador/plataforma são envolvidas através do programa LP-Lock como NFTs de Chave de Taxa (o padrão Burn & Earn). - LP-Lock é um invólucro, não um quinto AMM. Ele mantém posições LP em nome dos criadores sob um PDA para que as taxas subjacentes ainda possam ser reivindicadas sem expor a capacidade de retirar liquidez. Ele compõe sobre pools CPMM e CLMM.
- As superfícies off-chain se complementam. A REST API é apenas leitura com cache; a Transaction API constrói transações prontas para assinar no lado do servidor; o SDK as constrói no lado do cliente. Os três dependem do mesmo registro IDL como fonte de verdade de esquema.
Fluxo de dados: um swap CPMM, de ponta a ponta
Para tornar a imagem concreta, aqui está o que acontece quando um usuário faz swap de USDC → RAY em um pool CPMM a partir da interface Raydium. (AMM v4 e CLMM diferem nas contas que precisam, não na forma de alto nível.)- Solicitação de cotação (off-chain). A interface chama
GET https://api-v3.raydium.io/compute/swap-base-incom a mint de entrada, mint de saída, quantidade e tolerância de slippage. A API consulta seu indexador, escolhe uma rota (possivelmente através de múltiplos pools) e retorna uma cotação mais a lista de IDs de programas, IDs de pools e contas de taxa que o cliente precisará. - Construção de transação (cliente + SDK). O cliente passa a cotação para
raydium-sdk-v2. O SDK resolve todo PDA que precisa (PDA de autoridade, estado do pool, observação, vaults — vejaproducts/cpmm/accounts), injeta as contas de token associado do usuário (criando-as com o Associated Token Program se estiverem faltando) e emite umaTransactionnão assinada. - Assinatura da wallet. A wallet do usuário assina a transação. Nada específico do Raydium aqui; este é o fluxo padrão da wallet Solana.
- Execução on-chain. A transação assinada atinge o programa Raydium CPMM, que (a) valida o estado do pool, (b) aplica a curva de produto constante com a configuração de taxa do pool, (c) move tokens entre os ATAs do usuário e os vaults do pool via CPI no SPL Token / Token-2022, (d) atualiza a conta
observationpara o TWAP e (e) retorna. - Ingestão do indexador. O RPC Solana alguns slots depois expõe os logs do programa. O indexador Raydium analisa-os, atualiza as reservas do pool, volume de 24h e APR, e serve os valores atualizados para a próxima solicitação
/pools/info/ids.
Infraestrutura compartilhada
Vários primitivos são usados por cada produto e valem a pena nomear uma vez para que os capítulos posteriores possam se referir a eles sem redefinição. Os detalhes vivem emprotocol-overview/shared-infrastructure; este é o índice.
| Primitivo | O que é | Onde está definido |
|---|---|---|
| Authority PDA | Um signatário controlado por programa que realmente controla os vaults de token. Os usuários nunca possuem autoridade de vault. | Por programa; CPMM usa vault_and_lp_mint_auth_seed — veja products/cpmm/accounts. |
| Contas de configuração | Contas por programa mantendo taxas, chaves de admin e destinos de fundo/criador. Indexado por um u16 em CPMM (amm_config[index]). | reference/program-addresses lista os endpoints da API que os retornam. |
| Divisão de taxa de protocolo/fundo/criador | Uma única taxa de negociação é dividida três (às vezes quatro) maneiras na liquidação. Mesmo padrão em CPMM e CLMM, botões diferentes. | reference/fee-comparison |
| Conta de observação | Buffer circular de amostras de preço usado para o TWAP. Escrito em cada swap. | products/cpmm/accounts, products/clmm/accounts |
REST API (api-v3.raydium.io) | A única API de leitura pública para metadados de pool, posições, estado de farm e cálculo de cotação. | sdk-api/rest-api |
| Registro IDL | Âncoras IDL para cada programa, espelhadas em github.com/raydium-io/raydium-idl. O SDK e integradores CPI desserializam contra essas. | sdk-api/anchor-idl |
Superfície off-chain: API vs SDK vs IDL
Esses três são rotineiramente confundidos. Eles fazem coisas diferentes:- REST API (
api-v3.raydium.io) é uma visão em cache, principalmente de leitura do estado on-chain mais o mecanismo de cotação. Ele diz a você quais pools existem, quais são suas reservas, como as APRs parecem e qual é a melhor rota para um swap. Ele não constrói transações. - TypeScript SDK (
@raydium-io/raydium-sdk-v2) é um construtor de transações. Ele conhece o layout de conta e o formato de instrução de cada programa. Ele busca estado fresco de um RPC (não da API) antes de compor uma instrução, para que possa assinar transações precisas. Ele fala com a API apenas quando precisa de uma cotação. - Registro IDL é o esquema em que ambos dependem. Se você está escrevendo CPIs Rust em um programa Raydium, o IDL é o contrato; se você está escrevendo uma integração TS, você está usando IDLs indiretamente através do SDK.
Onde cada capítulo se encaixa
O diagrama acima recorre — em forma reduzida — em toda a documentação. Aqui está onde o tratamento completo de cada peça vive para que você possa aprofundar:- Programas on-chain: um capítulo por produto em
products/. Cada capítulo segue o mesmo modelo (visão geral → contas → matemática → instruções → taxas → demos de código). - Primitivos compartilhados entre programas:
protocol-overview/shared-infrastructureealgorithms/para a matemática que recorre (produto constante, liquidez concentrada, precificação de curva). - Superfície off-chain:
sdk-api/tem a referência completa do SDK e REST API, além desdk-api/anchor-idlesdk-api/rust-cpi. - Fluxos de nível de usuário (criar um pool, swap, LP, reivindicar recompensas, lançar um token):
user-flows/. - Padrões de integração para outros times (agregadores, wallets, bots):
integration-guides/. - Superfície de segurança, chaves de admin, riscos conhecidos, auditorias:
security/. - Mudanças versionadas e a história de migração AMM v4 → CPMM / Farm v3 → v6:
protocol-overview/versions-and-migration.
Não-objetivos deste diagrama
Algumas omissões deliberadas, para que ninguém leia mais do que há:- Sem oráculos de preço. Raydium não depende de Pyth, Switchboard ou qualquer oráculo externo para sua precificação AMM principal. As cotações vêm das reservas on-chain. A conta
observationexiste para que outros contratos leiam um TWAP Raydium — o próprio Raydium não precisa dela. - Nenhum programa de votação de token on-chain. Ações de admin como atualizações de configuração de taxa e upgrades de programa são executadas por um multisig. As chaves multisig e a política de rotação estão em
security/admin-and-multisig. - Sem pontes. Raydium é nativo do Solana. Fluxos entre cadeias são problema do integrador e vivem fora deste diagrama.
reference/program-addressespara os IDs de programa canônicos referenciados em toda esta página- github.com/raydium-io/raydium-sdk-V2
- github.com/raydium-io/raydium-idl


