> ## 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.

# Farm / Staking — Übersicht

> Wie Raydiums Farm-Programm Reward-Token an Staker verteilt — die Pro-Anteils-Buchhaltung, die Farm-Versionen (v3, v5, v6) und wie Farms sich zu den AMM- / CLMM-Pools unterscheiden und gleichzeitig von ihnen unabhängig sind.

<Info>
  **Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.**

  [Englische Version ansehen →](/products/farm-staking/overview)
</Info>

## Was ein Farm ist

Ein **Farm** ist ein eigenständiges On-Chain-Programm, das ein oder mehrere **Reward-Mints** an Konten verteilt, die einen **Staking-Mint** staken. Der Staking-Mint ist in der Regel ein LP-Token, der von CPMM, AMM v4 oder einem Legacy-Pair-Pool ausgegeben wird. Single-Asset-Farms (direktes Staking von SOL, RAY oder einem Projekttoken) werden jedoch unterstützt und für einige lang laufende Programme verwendet.

Wichtige Eigenschaften:

* **Emissions-basiert, nicht gebührenbasiert.** Anders als die eingebauten Reward-Streams von CLMM sind Farm-Rewards nicht an Swap-Volumen oder Pool-Aktivität gebunden. Das Budget eines Farms wird von vorne herein vom Ersteller eingezahlt und sendet konstant mit einer festen Sekunden-Rate aus, bis es aufgebraucht ist.
* **Unabhängig vom Pool.** Der Pool weiß nicht, dass der Farm existiert. Das Verschieben von LP zwischen Wallets benachrichtigt den Farm nicht; ein Benutzer muss zunächst aktiv vom Farm ausführen `Withdraw`. Ebenso führt `Withdraw` aus dem Pool nicht zu einem Withdraw aus dem Farm.
* **Pro-Benutzer, Pro-Reward-Ledger.** Jeder Staker hat ein `UserStake` (oder „Ledger")-Konto pro Farm, das seinen gestakten Betrag und seinen Snapshot des Reward-Pro-Anteil-Zählers für jeden der Farm-Reward-Streams verfolgt.
* **Multi-Reward.** Farm v5 unterstützt bis zu 2 Rewards; v6 unterstützt bis zu 5. Jeder Reward hat seinen eigenen Tresor, seine eigene Pro-Sekunden-Rate, Start- und Endzeit.

## Die drei Live-Versionen

Raydium hat drei Farm-Programmversionen bereitgestellt. Alle sind live und jede hat ihr eigenes PDA-Schema und Anweisungssatz. Integratoren sollten sie als drei unterschiedliche Programme behandeln, die ein konzeptionelles Modell teilen.

| Version | Programm-ID-Speicherort                                                | Max. Rewards | Bemerkenswerte Unterschiede                                                                                                                                    |
| ------- | ---------------------------------------------------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **v3**  | siehe [`reference/program-addresses`](/de/reference/program-addresses) | 1            | Frühestes Schema. Älteste Farms (RAY-USDC, SOL-USDC) führen noch über diesen Weg.                                                                              |
| **v5**  | siehe [`reference/program-addresses`](/de/reference/program-addresses) | 2            | Zweiter Reward-Slot hinzugefügt und `AddReward`-artige Aufstockungen.                                                                                          |
| **v6**  | siehe [`reference/program-addresses`](/de/reference/program-addresses) | 5            | Aktuelle Version. Erweiterte Slots, verbesserte Admin-Verwaltung, unterstützt CLMM-Position-Farming über einen v6-spezifischen Adapter (in der Praxis selten). |

Das SDK stellt `raydium.farm` als eine einzige Schnittstelle bereit — die Version wird vom Owner des Farm-Kontos hergeleitet. Beim Aufbau von On-Chain-Integrationen müssen Sie manuell dispatchen.

## Reward-Pro-Anteil-Buchhaltung

Das Farm-Programm verwendet das Standard-„Master-Chef"-Muster, das in DeFi-Yield-Contracts verbreitet ist:

```
reward_per_share := total_rewards_distributed_by_stream / total_staked
pending(user)    := user.staked × (reward_per_share − user.reward_debt)
```

* **`reward_per_share`** wird im Farm-Konto als Fixed-Point-Zähler gespeichert (Q64.64 in v5+, Q56.8 in v3). Es wächst nur.
* **`user.reward_debt`** ist der Snapshot von `reward_per_share` bei der letzten Interaktion des Benutzers. Es ist keine Schuld, die der Benutzer schuldet; es ist ein Offset zur Berechnung zukünftiger Ansammlungen.
* Bei `Deposit` und `Withdraw` gleicht der Farm zunächst ausstehende Rewards aus (indem er `user.pending_reward` gutschreibt oder direkt an die ATA des Benutzers sendet, je nach Version), aktualisiert dann `user.reward_debt` zum aktuellen Zähler.
* Bei `Harvest` zahlt der Farm `pending_reward` aus und erstellt einen Snapshot von `reward_debt` erneut.

Die Pro-Sekunden-Emissionsrate wird durch ein Lazy-Update in die Buchhaltung aufgenommen:

```
elapsed        := min(now, reward.end_time) − reward.last_update_time
new_emissions  := reward.per_second × elapsed
if total_staked > 0:
    reward_per_share += new_emissions / total_staked
reward.last_update_time := now
```

Lazy: Keine Anweisung wird „jede Sekunde" emittiert. Der Zähler wird aktualisiert, jedes Mal wenn jemand den Farm berührt (`Deposit`, `Withdraw`, `Harvest`, Admin-Update). Farms ohne Aktivität sammeln eine wachsende Lücke an, die bei der nächsten Interaktion geschlossen wird.

## Staking-Mint vs. Reward-Mint

**Der Staking-Mint wird treuhänderisch verwahrt, nicht verbrannt.** Wenn ein Benutzer 100 LP stakt, verschiebt der Farm 100 LP von der ATA des Benutzers in den Staking-Tresor des Farms. Bei `Withdraw` verschiebt der Farm 100 LP zurück. Der Farm ruft niemals den Pool auf.

**Reward-Mints werden aus Tresoren ausgezahlt, die vom Ersteller vorab finanziert werden.** Wenn ein Ersteller einen Farm einrichtet, zahlt er das vollständige Reward-Budget (z. B. 1.000.000 RAY + 500.000 USDC) auf die zwei Reward-Tresore ein. Das Farm-Programm prägt keine neuen Tokens; es verteilt einfach das, was sich im Tresor befindet, über die Dauer des Streams. Wenn der Tresor vor `end_time` geleert wird, stoppt die Emission.

## Emissionszeitpläne

Jeder Reward-Stream hat drei Zeitparameter:

* **`start_time`** — der UNIX-Zeitstempel, ab dem die Emissionen beginnen. Davor erfolgt keine Ansammlung.
* **`end_time`** — der Zeitstempel, ab dem die Emissionen stoppen. Danach wächst `reward_per_share` nicht mehr aus diesem Stream.
* **`per_second`** — die Emissionsrate während `start_time ≤ now < end_time`.

Ein Reward kann erweitert werden (schieben Sie `end_time` nach vorne, füllen Sie den Tresor auf) über `AddReward` / `SetRewards` auf v5 / v6. Er kann nach `end_time` über `RestartRewards` neu gestartet werden. Er kann nicht ohne Admin-Zusammenarbeit verkürzt werden.

## Was Farms nicht sind

* **Kein Gebührenverteiler.** CPMM und CLMM erfassen Handelsgebühren direkt im Pool-State. Farms berühren Pool-Gebühren nicht. Der einzige Weg von Pool-Gebühren zu einem Token-Inhaber ist LP-Rückzahlung oder CLMMs `CollectFee`.
* **Nicht automatisch.** LP muss explizit gestaket werden, um Farm-Rewards zu verdienen. LP-Inhaber, die ihre Token in ihrer Brieftasche belassen, verdienen nichts vom Farm.
* **Nicht fungibel.** Jedes `UserStake`-Konto ist an ein `(farm, user)`-Paar gebunden. Sie können Ihren Stake nicht auf eine andere Brieftasche übertragen, ohne ihn vorher abzustaken.
* **Nicht direkt mit CLMM-Positionen kompatibel.** Farm v6 führte einen CLMM-Adapter ein, aber in der Praxis verwenden CLMM-Pools ihre eigenen eingebauten Reward-Streams (siehe [`products/clmm/fees`](/de/products/clmm/fees)) anstelle von Farm-Emissionen.

## Wenn Farms das richtige Werkzeug sind

Verwenden Sie einen Farm, wenn Sie möchten:

* LP für einen Ihrer CPMM- oder AMM-v4-Pools mit einem externen Token (Ihr Projekttoken, Token eines Partners usw.) anreizen.
* Ein Staking-Programm auf einem Single-Asset-Mint ausführen (klassisches „stake RAY, earn RAY") ohne Ihren eigenen Contract bereitzustellen.
* Zusätzliche Rewards auf top eines bestehenden Pools layern, ohne dass Sie Admin-Zugriff auf diesen Pool benötigen.

Verwenden Sie stattdessen CLMMs eingebaute Reward-Streams, wenn Ihr Pool CLMM ist. Sie haben identische Ökonomie, aber partizipieren in der Positions-Fee-Growth-Inside-Buchhaltung (In-Range-Positionen verdienen pro Rata, Out-of-Range-Positionen nicht) und erfordern nicht, dass Benutzer ihre Positions-NFT verschieben.

## Kapitelinhalte

* [`accounts`](/de/products/farm-staking/accounts) — vollständiges On-Chain-State-Layout pro Version.
* [`instructions`](/de/products/farm-staking/instructions) — jede Farm-Anweisung mit ihrer Kontoliste und Pre- / Postconditions.
* [`code-demos`](/de/products/farm-staking/code-demos) — TypeScript-Beispiele für Staking, Harvesting und das Erstellen eines neuen Farms.

## Wo Sie als Nächstes hingehen

* [`products/clmm/fees`](/de/products/clmm/fees) — vergleichen Sie Farm-Emissionen mit CLMMs eingebautem Reward-Modell.
* [`reference/program-addresses`](/de/reference/program-addresses) — die drei Farm-Programm-IDs.
* [`protocol-overview/versions-and-migration`](/de/protocol-overview/versions-and-migration) — wann Sie jede Farm-Version verwenden.

Quellen:

* Farm v6 IDL im SDK enthalten: [`raydium-io/raydium-sdk-V2`](https://github.com/raydium-io/raydium-sdk-V2) unter `src/raydium/farm/`.
* [Raydium SDK v2 `Farm`-Modul](https://github.com/raydium-io/raydium-sdk-V2)
