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.
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Wallets, die Raydium integrieren, müssen pro Benutzer typischerweise vier Fragen beantworten: In welchen Pools hält dieser Benutzer LP-Positionen? Welche Positionen (CLMM-NFTs) hält er? In welchen Farms hat er Stakes? Wie viel ist das alles wert? Diese Seite dokumentiert die Antworten.
Raydium-Positionen erkennen
Classic LP-Tokens (CPMM, AMM v4)
Diese sehen aus wie jeder andere SPL-Token: Das ATA des Benutzers hält einen Kontostand. Eine Wallet zeigt dies normalerweise einfach als weiteren Token an. Um es als Raydium-LP-Position zu erkennen:- Aufzählung der Token-Konten des Benutzers:
connection.getParsedTokenAccountsByOwner(user, { programId: TOKEN_PROGRAM_ID }). - Für jede Mint, prüfen Sie Raydiums Mint-Liste:
GET https://api-v3.raydium.io/pools/info/lps?lps=<LP_MINT>,...(bis zu ~50 LP-Mints pro Aufruf bündeln). - Für Mints, die passen, gibt die API die Pool-Referenz zurück. Verwenden Sie sie, um den Token-denominierten Wert der Position zu berechnen:
CLMM-Position-NFTs
CLMM-Positionen sind NFTs. DerPersonalPositionState PDA jeder Position wird aus dem NFT-Mint abgeleitet. Zum Erkennen:
- Aufzählung der NFTs des Benutzers. Für Legacy-Metaplex-NFTs: Filtern Sie Token-Konten auf solche mit Supply 1 und Dezimalzahlen 0.
- Für jede NFT-Mint, versuchen Sie, den PersonalPositionState PDA abzuleiten:
-
Dekodieren über
raydium.clmm.getPositionInfo({ positionPda }), um zu erhalten:poolId→ Pool abrufen, um Mints zu auflösentickLower,tickUpper→ Bereich anzeigenliquidity,tokensOwedA/B→ Positionswert + ausstehende Gebühren berechnenrewardInfos→ ausstehende Belohnungen pro Stream
-
Für Position-NFTs, die unter Token-2022 ausgegeben wurden (
OpenPositionWithToken22Nft), ist das Programm des NFT-Mint Token-2022 statt SPL Token. Zählen Sie beide auf, wenn Sie scannen.
Farm-Stakes
Farm v3 / v5 / v6 haben jeweils einen pro-Benutzer Ledger PDA. Ableitungen:UserLedger PDAs, indem Sie den Benutzer mit einer kuratierten Liste von „wahrscheinlichen” Farm-IDs hashen. Das vollständige Aufzählen aller Farm-IDs ist unpraktisch (es existieren Tausende); verwenden Sie die API.
Positionswert berechnen
CPMM / AMM v4 LP
raydium.token oder einem Price-Oracle).
CLMM-Position
- Liquiditätswert (aktueller Preis)
- Nicht eingezogene Gebühren
- Ausstehende Belohnungen pro Stream
- Bereich:
[tickLower_price, tickUpper_price]mit einer visuellen Leiste, die zeigt, ob der aktuelle Preis im Bereich liegt
Farm-Stake
reward_per_share_x64 mit der Lazy-Update-Formel aktualisieren, bevor Sie berechnen (verstrichene Zeit × Emissionsrate ÷ total_staked).
Transaktionssimulation für Vorschau
Bevor ein Benutzer signiert, zeigen Wallets normalerweise die Saldoänderungen vor. Verwenden SiesimulateTransaction:
accounts fordert den Validator auf, den Post-Simulations-Kontostatus für aufgelistete Adressen zurückzugeben. Viel genauer, als zu versuchen, die Saldoänderung allein aus der Anweisungsform vorherzusagen.
Simulations-Fallstricke
- CLMM-Swaps benötigen gültige Tick-Arrays. Wenn die Eingabegröße des Benutzers in ein nicht initialisiertes Tick-Array übergehen würde, wird die Simulation rückgängig gemacht (wie auch die Ausführung). Zeigen Sie dies deutlich in der UI.
- Priority Fee. Simulation wird ohne die angewendeten Compute-Budget-Anweisungen ausgeführt. Für eine große Transaktion, die das Standard-200k CU überschreiten würde, schlägt die Simulation fehl, aber die tatsächliche Ausführung mit einem expliziten CU-Limit erfolgreich. Setzen Sie das CU-Limit auch auf der simulierten Tx.
- Frischer Blockhash. Simulation verwendet den aktuellen Blockhash; wenn das Signieren >60s dauert, wird die Tx ungültig. Simulieren Sie neu, wenn der Benutzer zögert.
Token-2022-Anzeige
Token unter dem Token-2022-Programm sollten in der Token-Liste der Wallet als solche gekennzeichnet werden, da sie unterschiedliche Risikoflächen haben:- Transfer-Fee-Mints: Zeigen Sie die aktuelle
transferFeeBasisPointsals „Transfer Fee: X%” neben dem Saldo an. Warnen Sie beim Empfang — Benutzer könnten nicht realisieren, dass sie weniger erhalten, als der Sender gesendet hat. - Transfer-Hook-Mints: Machen Sie die Hook-Programm-ID sichtbar. Ein böswilliger Hook kann ausgehende Transfers blockieren; Benutzer sollten überprüfen, dass der Hook der ist, den sie erwarten.
- Non-Transferable-Mints: Zeigen Sie „Non-transferable” an und deaktivieren Sie Swap/Senden. Dies sind typischerweise Soulbound-Tokens oder Credentials.
- Interest-Bearing-Mints: Der UI-Saldo, der aus
TokenAccount.amountabgeleitet ist, spiegelt nicht aufgelaufene Zinsen wider. Verwenden SieamountToUiAmountaus@solana/spl-token(der den Skalierungsfaktor anwendet) für den angezeigten Wert.
Farm-APR-Anzeige
Die APR, die Benutzern angezeigt wird, sollte alle aktiven Reward-Streams kombinieren, in USD umgerechnet und annualisiert:APR: X.Y% an. Wenn die Staking-Mint ein LP-Token ist, berechnen Sie auch den zugrundeliegenden LP-Basis-Fee-APR und kennzeichnen Sie die Summe als „Total APR” oder „APR + Gebühren”.
Hinweise
products/clmm/ticks-and-positions— Positionswert-Ableitung.products/farm-staking/accounts— Farm-State-Felder.algorithms/token-2022-transfer-fees— Anzeigesemantik für Transfer-Fee-Tokens.
- Raydium SDK v2 — Position/Farm-Helfer.
- Benutzer-Positions-Endpunkte auf
api-v3.raydium.io.


