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

> Reward distribution program for LP tokens and single-asset staking.

## What it is

The Farm / Staking program distributes reward tokens to accounts that stake an input token (typically an LP token from AMM v4 / CPMM / CLMM, but also supports single-asset staking). Each farm can emit up to multiple reward mints on independent schedules.

**Program ID:** see [reference/program-addresses](/reference/program-addresses). Multiple farm versions are in production (v3, v5, v6) and differ in reward slots and admin primitives — the [versions-and-migration](/protocol-overview/versions-and-migration) page documents which to use for which deployments.

## Chapter contents

<CardGroup cols={2}>
  <Card title="Overview" icon="circle-info" href="/products/farm-staking/overview">
    Conceptual model: stake accounts, per-second emission rate, reward-per-stake accounting.
  </Card>

  <Card title="Accounts" icon="database" href="/products/farm-staking/accounts">
    Farm, UserStake (ledger), reward vaults, admin PDAs. Seeds and field layouts per farm version.
  </Card>

  <Card title="Instructions" icon="terminal" href="/products/farm-staking/instructions">
    CreateFarm, Deposit, Withdraw, Harvest, AddReward, SetRewards, RestartRewards, WithdrawReward.
  </Card>

  <Card title="Code demos" icon="code" href="/products/farm-staking/code-demos">
    Create a farm, stake LP tokens, harvest, and top up reward vaults.
  </Card>
</CardGroup>

## When to read this

* You are setting up incentives for your project's LP.
* You are building a staking UI or aggregator that displays farm APRs.
