> ## 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'e genel bakış

> Raydium'un farm programının stake edenlere reward tokenlarını nasıl dağıttığı — hisse başına muhasebe, farm sürüm nesilleri (v3, v5, v6) ve farm'ların yanında yer alan AMM / CLMM pool'larından nasıl farklı olduğu.

<Info>
  **Bu sayfa yapay zekâ tarafından otomatik olarak çevrilmiştir. İngilizce sürüm esas alınır.**

  [İngilizce sürümü görüntüle →](/products/farm-staking/overview)
</Info>

## Farm nedir?

Bir **farm**, bir **staking mint**'ine stake eden hesaplara bir veya daha fazla **reward mint**'i dağıtan bağımsız bir zincir üstü programdır. Staking mint neredeyse her zaman CPMM, AMM v4 veya eski bir pair pool tarafından verilen LP token'ıdır, ancak tek varlık farm'ları (doğrudan SOL, RAY veya bir proje token'ı stake etme) desteklenir ve uzun süredir çalışan az sayıda program için kullanılır.

Temel özellikler:

* **Ücrete dayalı değil, emisyona dayalı.** CLMM'nin yerleşik reward akışlarının aksine, farm ödülleri swap hacmine veya pool aktivitesine bağlı değildir. Farm'ın bütçesi yaratıcı tarafından önceden yatırılır ve bitmesine kadar sabit bir saniye başına oranında ortaya çıkar.
* **Pool'dan bağımsız.** Pool, farm'ın var olduğunu bilmez. LP'yi cüzdanlar arasında taşımak, farm'ı bilgilendirmez; kullanıcı önce aktif olarak farm'dan `Withdraw` yapmalıdır. Benzer şekilde, pool'dan `Withdraw` yapmak farm'dan çekmez.
* **Kullanıcı başına, reward başına defter.** Her stake edenen kişi, farm'a bir başına bir `UserStake` (veya "Ledger") hesabına sahiptir ve bu, stake edilen tutarlarını ve farm'ın her bir reward akışı için hisse başına reward sayacının anlık görüntüsünü izler.
* **Çok reward'lu.** Farm v5 2'ye kadar 5 reward'ı destekler; v6 5'e kadar destekler. Her reward'ın kendi vault'u, saniye başına oranı, başlangıç zamanı ve bitiş zamanı vardır.

## Üç canlı sürüm

Raydium, üç farm programı sürümü yayınlamıştır. Hepsi canlı ve her biri kendi PDA şeması ve talimat setini taşır. Entegratörleri bunları aynı kavramsal modeli paylaşan üç ayrı program olarak değerlendirmelidir.

| Sürüm  | Program ID konumu                                                     | Max reward | Belirtilen farklar                                                                                                                                |
| ------ | --------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **v3** | bkz. [`reference/program-addresses`](/tr/reference/program-addresses) | 1          | En eski şema. En eski farm'lar (RAY-USDC, SOL-USDC) hâlâ buradan yönlendirilir.                                                                   |
| **v5** | bkz. [`reference/program-addresses`](/tr/reference/program-addresses) | 2          | İkinci reward slot'u ve `AddReward` tarzı top-up'lar eklendi.                                                                                     |
| **v6** | bkz. [`reference/program-addresses`](/tr/reference/program-addresses) | 5          | Geçerli sürüm. Genişletilmiş slot'lar, daha temiz yönetim, CLMM pozisyon farm'ı v6'ya özgü bir adaptör (pratikte nadir) aracılığıyla desteklenir. |

SDK, `raydium.farm`'ı tek bir façade olarak ortaya koyar — sürüm, farm hesabının sahibinden çıkarılır. Zincir üstü entegrasyonlar oluştururken manuel olarak yönlendirmelisiniz.

## Hisse başına reward muhasebesi

Farm programı, DeFi yield sözleşmelerinde görülen standart "master-chef" modelini kullanır:

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

* **`reward_per_share`**, farm hesabında sabit noktalı bir sayaç olarak saklanır (v5+'da Q64.64, v3'te Q56.8). Yalnızca büyür.
* **`user.reward_debt`**, kullanıcının son etkileşiminde `reward_per_share`'ın anlık görüntüsüdür. Kullanıcının borcu değildir; gelecekteki birikintileri hesaplamak için kullanılan bir ofset'tir.
* `Deposit` ve `Withdraw` üzerinde, farm ilk önce bekleyen ödülleri kapatır (`user.pending_reward` kredisi yapma veya sürüme bağlı olarak doğrudan kullanıcının ATA'sına gönderme), ardından `user.reward_debt`'ı güncel sayaca günceller.
* `Harvest` üzerinde, farm `pending_reward`'ü ödeme yapar ve `reward_debt`'ı yeniden anlık görüntü alır.

Saniye başına emisyon oranı, tembel güncelleme yoluyla muhasebede yer alır:

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

Tembel: her saniye hiçbir talimat yayınlanmaz. Sayaç, birisi farm'a dokunduğu zaman her seferinde (`Deposit`, `Withdraw`, `Harvest`, yönetici güncellemesi) yenilenir. Hiçbir aktivitesi olmayan Farm'lar, sonraki etkileşimde kapatılan büyüyen bir boşluğu biriktirirler.

## Staking mint vs reward mint

**Staking mint, yakılmaz, emanet tutulur.** Bir kullanıcı 100 LP stake ettiğinde, farm 100 LP'yi kullanıcının ATA'sından farm'ın staking vault'una taşır. `Withdraw` üzerinde, farm 100 LP'yi geri taşır. Farm asla pool'u çağırmaz.

**Reward mint'leri, yaratıcı tarafından önceden finanse edilen vault'lardan ödeme yapılır.** Yaratıcı bir farm kurduğunda, tam reward bütçesini (örneğin, 1.000.000 RAY + 500.000 USDC) iki reward vault'una yatırır. Farm programı yeni token'lar basmaz; sadece akışın süresi boyunca vault'ta olanları dağıtır. Vault, `end_time` öncesinde boşaltılırsa, emisyonlar durdurulur.

## Emisyon programları

Her reward akışının üç zaman parametresi vardır:

* **`start_time`** — emisyonların başladığı UNIX zaman damgası. Bundan önce, hiçbir birikme olmaz.
* **`end_time`** — emisyonların durduğu zaman damgası. Bundan sonra, `reward_per_share` bu akıştan artık büyümez.
* **`per_second`** — `start_time ≤ now < end_time` süresince emisyon oranı.

Bir reward, v5 / v6 üzerinde `AddReward` / `SetRewards` aracılığıyla genişletilebilir (`end_time` ileri taşıyabilir, vault'u doldurabilir). `RestartRewards` aracılığıyla `end_time` sonrasında yeniden başlatılabilir. Yönetici işbirliği olmadan kısaltılamaz.

## Farm'lar ne değildir?

* **Ücret dağıtıcı değildir.** CPMM ve CLMM işlem ücretlerini doğrudan pool durumuna toplar. Farm'lar pool ücretlerine dokunmaz. Pool ücretlerinden token sahibine giden tek yol LP geri ödeme veya CLMM'nin `CollectFee`'sidir.
* **Otomatik değildir.** Farm ödüllerini kazanmak için LP açıkça stake edilmelidir. Token'larını cüzdanlarında bırakan LP sahipleri farm'dan hiçbir şey kazanmaz.
* **Birbirinin yerine kullanılamaz.** Her `UserStake` hesabı, bir `(farm, user)` çiftine bağlıdır. Önce stake çıkarmadan stake'ınizi başka bir cüzdana transfer edemezsiniz.
* **CLMM pozisyonlarıyla doğrudan uyumlu değildir.** Farm v6 bir CLMM adaptörü tanıttı, ancak pratikte CLMM pool'ları kendi yerleşik reward akışlarını (bkz. [`products/clmm/fees`](/tr/products/clmm/fees)) kullanırlar ve farm emisyonlarını değil.

## Farm'ların doğru araç olması durumunda

Farm'ı şu durumlarda kullanın:

* Projelerinizin CPMM veya AMM v4 pool'larından biri için LP'yi bir harici token (proje token'ınız, bir ortağın token'ı vb.) ile teşvik edin.
* Kendi sözleşmenizi dağıtmadan tek varlık mint'inde bir stake programı çalıştırın (klasik "RAY'ı stake et, RAY'ı kazan").
* O pool'a yönetici erişim gerektirmeden mevcut bir pool'un üzerine ek ödüller katmanı ekleyin.

Pool'unuz CLMM olduğunda bunun yerine CLMM'nin yerleşik reward akışlarını kullanın. Aynı ekonomiye sahiptirler, ancak pozisyonun ücret-büyüme-içeri muhasebesinde katılırlar (aralık içi pozisyonlar pro rata kazanırlar, aralık dışı pozisyonlar kazanmaz) ve kullanıcıların pozisyon NFT'lerini taşımalarını gerektirmez.

## Bölüm içeriği

* [`accounts`](/tr/products/farm-staking/accounts) — sürüm başına tam zincir üstü durum düzeni.
* [`instructions`](/tr/products/farm-staking/instructions) — hesap listesi ve ön/sonrası koşulları ile her farm talimatı.
* [`code-demos`](/tr/products/farm-staking/code-demos) — staking, harvest ve yeni farm oluşturma için TypeScript örnekleri.

## Sonra nereye gidelim?

* [`products/clmm/fees`](/tr/products/clmm/fees) — farm emisyonlarını CLMM'nin yerleşik reward modeli ile karşılaştırın.
* [`reference/program-addresses`](/tr/reference/program-addresses) — üç farm program ID'si.
* [`protocol-overview/versions-and-migration`](/tr/protocol-overview/versions-and-migration) — her farm sürümünü ne zaman kullanacağınız.

Kaynaklar:

* Farm v6 IDL SDK'da paketlendi: [`raydium-io/raydium-sdk-V2`](https://github.com/raydium-io/raydium-sdk-V2) üzerinde `src/raydium/farm/`.
* [Raydium SDK v2 `Farm` modülü](https://github.com/raydium-io/raydium-sdk-V2)
