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)
Das SDK gibt den vollständigen Satz auf
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.

