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 →
Drei Programme, drei Schemas. Farm v3, v5 und v6 sind separate Programme mit separaten State-Layouts. Diese Seite dokumentiert jede Version nebeneinander. In der Praxis zielen die meisten neuen Integrationen auf v6 ab; v3 und v5 sind für die meisten Integratoren schreibgeschützt (Staking fand dort vor langer Zeit statt und die Pools laufen aus).
Kontobestand (pro Farm, beliebige Version)
| Konto | Eigentümer | Zweck |
|---|---|---|
FarmState | Farm-Programm (v3/v5/v6) | Wurzel-State: Staking-Mint, insgesamt gestaked, Reward-Streams. |
farm_authority | Farm-Programm | PDA, die den Staking-Vault und die Reward-Vaults besitzt. |
staking_vault | SPL Token | Hält gestaked LP (oder was immer der Staking-Mint ist). |
reward_vault_{i} | SPL Token | Hält das unverteilte Budget für Reward-Stream i. Einer pro Stream. |
UserStake (v3/v5) / UserLedger (v6) | Farm-Programm | Pro-(farm, user) Ledger: gestaked Betrag + Schnappschuss der Reward-pro-Share pro Stream. |
raydium.farm.getFarmById zurück. Für beliebige Third-Party-Farms liefert auch der API-Endpunkt GET https://api-v3.raydium.io/main/farms/info?ids=<FARM_ID> diese zurück.
FarmState-Layout — v6
v6 ist die aktuelle Version. Ihre Kontostruktur ist die allgemeinste.
staking_mint,staking_vault— was gestaked wird und wo es sitzt.total_staked— aktuell gesamt. Erforderlich zur Berechnung der APR:reward_per_second × 86400 / total_staked.reward_infos[i].emission_per_second_x64— die Q64.64-Rate. Durch2^64teilen für die echte Token-Anzahl pro Sekunde.reward_infos[i].open_time/end_time— für UI-Anzeigen „X Tage verbleibend”.reward_infos[i].reward_per_share_x64— der Zähler, dem dasUserLedgerentgegenrechnet.
FarmState-Layout — v5
- Pro Slot, nicht pro Sekunde. v5’s Update-Schleife läuft auf Slots statt auf der Wanduhr. Das SDK normalisiert dies in der UI in „pro Sekunde”, aber on-chain ist die Einheit Slots.
- Integer-Emissionsrate.
reward_per_secondistu64. Dies begrenzt die minimal ausdrückbare Rate auf 1 Einheit pro Sekunde, was zu grob für Low-Emission-Streams auf 9-Dezimal-Mints ist. v6 behob dies mit der Q64.64-Rate. - Kein
reward_sender. In v5 ist der Eigentümer der implizite Absender; nurownerkann aufstocken.
FarmState-Layout — v3
UserLedger (v6) / UserStake (v5/v3)
Pro-Benutzer-State, ein Konto pro (farm, user) Paar. Seeded PDA:
Deposit, Withdraw oder Harvest wird die Schuld auf den aktuellen deposited × reward_per_share_x64[i] / 2^64 zurückgesetzt.
Authority-PDAs
Vaults
Staking- und Reward-Vaults sind Standard-SPL-Token-Konten, derenowner die Farm-Authority-PDA ist. Adressen werden auf FarmState gespeichert — nicht neu ableiten; aus dem State lesen. Freeze-Authorities müssen auf dem Staking-Mint für v5/v6 deaktiviert werden (das Programm überprüft dies).
Token-2022-Hinweise:
- v3: Nur SPL Token.
- v5: Nur SPL Token.
- v6: Unterstützt Token-2022 auf Staking- und Reward-Mints, gated auf
staking_token_program/reward_token_programFelder. Transfergebühren auf Token-2022 Reward-Mints werden beim Emit berechnet (Vault → Benutzer).
Beobachtung und APR
Farms speichern keine APR on-chain. Zur Berechnung:staking_mint_usd_price aus dem Pool, zu dem die LP gehört (über api-v3.raydium.io/pools/info/ids) und reward_usd_price aus einem beliebigen Price-Oracle.
Nächste Schritte
products/farm-staking/instructions— Pro-Version-Anweisungsreferenz.products/farm-staking/code-demos— Staking, Harvesting und Farm-Erstellung über das SDK.reference/program-addresses— alle drei Programm-IDs.
- Raydium SDK v2
Farmmodule - Die Farm v6 Programmquelle wird derzeit nicht als eigenständiges Repo veröffentlicht; die IDL ist im SDK unter
raydium-io/raydium-sdk-V2untersrc/raydium/farm/gebündelt.


