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 die Anzeige-Ansicht über
raydium.api.fetchFarmInfoById({ ids }) zurück und die rohen Konten-Keys — Authority, LP-Vault, Reward-Vaults pro Slot — über raydium.api.fetchFarmKeysById({ ids }). (Ein raydium.farm.getFarmById gibt es nicht.) Dieselben Daten sind über HTTP unter GET https://api-v3.raydium.io/main/farms/info?ids=<FARM_ID> verfügbar.
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.

