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

# Yönetici anahtarları ve multisig

> Raydium programlarındaki yetki yüzeyi — her yöneticinin neler yapabileceği, multisig'in nasıl yapılandırıldığı ve zincir üzerinde her rolü kimin elinde tuttuğunun nasıl doğrulanacağı.

<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 →](/security/admin-and-multisig)
</Info>

<Info>
  Her Raydium programında en az bir ayrıcalıklı rol bulunur: programı yükseltebilen, yeni konfigürasyonlar oluşturabilen ya da protokol ücretlerini çekebilen bir anahtar. Bu rollerin yapabileceklerini en aza indirmek (ve onları gecikmeli multisig'lerin arkasına kilitlemek), ele geçirilmiş bir yöneticiye karşı birincil savunma katmanını oluşturur. Bu sayfa rolleri ve pratikte nasıl güvence altına alındıklarını belgeler.
</Info>

## Programa göre roller

### AMM v4

| Rol               | Yetki adresi            | Yapabilecekleri                                                      |
| ----------------- | ----------------------- | -------------------------------------------------------------------- |
| Program yükseltme | Squads multisig (3/4)   | Yeni program bayt kodunu dağıtmak                                    |
| Pool yöneticisi   | Treasury multisig (3/5) | Pool durumunu değiştirmek, mevcut pool'lardaki ücretleri güncellemek |

### CPMM

| Rol                           | Yetki adresi            | Yapabilecekleri                                                                 |
| ----------------------------- | ----------------------- | ------------------------------------------------------------------------------- |
| Program yükseltme             | Squads multisig (3/4)   | Yeni program bayt kodunu dağıtmak                                               |
| AmmConfig yöneticisi          | Treasury multisig (3/5) | Yeni AmmConfig'ler (ücret kademeleri) oluşturmak; mevcut olanları açıp kapatmak |
| Pool oluşturma ücreti alıcısı | Treasury multisig (3/5) | Tek seferlik pool oluşturma ücretini almak                                      |

### CLMM

| Rol                                     | Yetki adresi                                            | Yapabilecekleri                                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Program yükseltme                       | Squads multisig (3/4)                                   | Yeni program bayt kodunu dağıtmak                                                                                                                                                                                                                                                                                                                                                                                                     |
| AmmConfig yöneticisi                    | Treasury multisig (3/5)                                 | AmmConfig oluşturmak/değiştirmek                                                                                                                                                                                                                                                                                                                                                                                                      |
| DynamicFeeConfig yöneticisi             | Treasury multisig (3/5)                                 | `CreateDynamicFeeConfig` / `UpdateDynamicFeeConfig` — `CreateCustomizablePool` çağrısının seçebileceği dinamik ücret kademelerini kalibre etmek                                                                                                                                                                                                                                                                                       |
| `limit_order_admin` (program genelinde) | **Çevrimdışı operasyonel sıcak cüzdan, multisig değil** | Sahipleri adına limit emirlerini kapatmak ve sonuçlandırmak. Keeper anahtarı, program genelinde sabit tek bir değerdir (mainnet ile devnet'te farklı değer taşır); `SettleLimitOrder` / `CloseLimitOrder` üzerinde `signer == limit_order.owner \|\| signer == limit_order_admin::ID` kontrolüyle doğrulanır. Çıktı her zaman asıl sahibin ATA'sına gider; keeper fonları yönlendiremez, emirleri değiştiremez veya yeni emir açamaz. |

`limit_order_admin`, kasıtlı olarak dar kapsamlı bir operasyonel roldür. Bir zincir dışı keeper'ın, emir sahibinin çevrimiçi olmasına gerek kalmadan dolmuş emirleri süpürebilmesi için vardır. Keeper anahtarı sıcaktır (keeper VM'inde yaşar) ve yukarıdaki multisig'lerden bağımsız olarak döndürülür. Somut olarak keeper yetkisi şunlarla sınırlıdır:

* `SettleLimitOrder` — bir emirin doldurulmuş çıktısını emrin limit fiyatından **sahibin** ATA'sına iletmek.
* `CloseLimitOrder` — tamamen sonuçlanmış bir emrin hesabını kapatarak kira bedelini geri almak (kira emrin sahibine gider).

`OpenLimitOrder`, `IncreaseLimitOrder`, `DecreaseLimitOrder` çağrılamaz; herhangi bir pool alanını değiştiremez ya da başka bir talimat için imzalayamaz; bu kontroller, talimatın `Accounts` struct'ındaki seed ve `has_one` kısıtlamalarıyla zincir üzerinde uygulanır. Ele geçirilmiş bir keeper en kötü ihtimalle kullanılamaz hale gelir (emirler, sahip kendisi sonuçlandırana kadar beklemede kalır) ya da yasal olarak dolabilecek emirleri sıra dışı sonuçlandırır/kapatır; kullanıcı fonlarını sahibin önceden yetkilendirdiği yerden başka bir yere taşıyamaz.

### Farm v6

| Rol                           | Yetki adresi              | Yapabilecekleri                                                                   |
| ----------------------------- | ------------------------- | --------------------------------------------------------------------------------- |
| Program yükseltme             | Squads multisig (3/4)     | Yeni program bayt kodunu dağıtmak                                                 |
| Farm oluşturucu (farm başına) | Farmın oluşturucu cüzdanı | Ödül kasalarını doldurmak, programları uzatmak, kullanılmayan ödülleri geri almak |

Bireysel farm'larda protokol yöneticisi yoktur — her farm'ın oluşturucusu yalnızca kendi farm'ını kontrol eder ve oluşturucunun yetkileri sınırlıdır (kullanıcı stake'lerini ele geçiremez, stake mint'ini değiştiremez).

### LaunchLab

| Rol                               | Yetki adresi                 | Yapabilecekleri                                                                       |
| --------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------- |
| Program yükseltme                 | Squads multisig (3/4)        | Yeni program bayt kodunu dağıtmak                                                     |
| Launch oluşturucu (launch başına) | Launch'ın oluşturucu cüzdanı | Mezuniyet sonrası oluşturucu ücretlerini toplamak; tamamlanmamış eğri artığını çekmek |

Launch'larda eğrileri değiştirebilecek veya toplanan fonları ele geçirebilecek bir protokol yöneticisi bulunmaz.

## Program yükseltme yetkisi

Raydium'un programları standart Solana **BPF Loader v3** yükseltme mekanizmasını kullanır. Tüm programlar için yükseltme yetkisi 3/4 Squads multisig'ine aittir.

3/4 tercih edilmesinin nedeni: tek bir anahtarın ele geçirilmesinin yeterli olmaması, buna karşın meşru bir yükseltmenin koordinasyonunun yönetilebilir kalması. Dört yetki sahibi, temel ekip üyelerinin elinde bulundurduğu bağımsız, hava boşluklu soğuk cihaz imzacılarıdır. Sıralı imzalama, aynı işlemde paralel onayları engeller; işlemler sabit bir son kullanma penceresi taşır. Multisig operasyonları **Solana'nın STRIDE Programı (Asymmetric Research)** ile ortaklık içinde periyodik olarak gözden geçirilir.

### Yükseltme yetkisini kaldırmak

Raydium, hiçbir programın yükseltme yetkisini null olarak ayarlamamıştır. Protokol, programların yükseltilebilir olması gerektiği ilkesiyle çalışır (hataları düzeltmek, Token-2022 gibi uzantılar eklemek, entegrasyon sapmalarını gidermek için). Ödün noktası: kullanıcılar, 3/4 multisig'in yalnızca iyi incelenmiş yükseltmeleri dağıtacağına güvenir.

Değişmez bir alternatif isteyen kullanıcılar için eski AMM v4 programı son denetiminden bu yana kararlı bir şekilde çalışmaktadır; 18 aydır sıfır yükseltme. Yetki hâlâ var olsa da bu kod yolu fiilen dondurulmuş durumdadır.

## AmmConfig yetkisi

Her yeni AmmConfig oluşturma işlemi izne tabidir; 3/5 treasury multisig yeni ücret kademelerini ve tick aralıklarını onaylar. Mevcut pool'lar AmmConfig'lerine PDA üzerinden başvurur; pool'un ücret kademesi AmmConfig'in söylediklerinden ibarettir.

**Yöneticiler mevcut bir AmmConfig'i değiştirebilir mi?** Teknik olarak evet. `updateAmmConfig`, yönetici tarafından çağrılabilir. Pratikte, dağıtılmış AmmConfig'lerde değişiklik yapılmaktan kaçınılır; çünkü bu, söz konusu konfigürasyonu kullanan tüm pool'ların ekonomisini sessizce değiştirir. Protokol politikası, her değişiklik için yeni bir AmmConfig oluşturmak ve göçüm yapmaktır.

**Yöneticiler konfigürasyon aracılığıyla protokol ücretlerini çalabilir mi?** Hayır — AmmConfig ücret parametrelerini içerir ancak protokol ücreti alıcısını içermez; bu, pool başına ayrı ve değişmez bir adrestir.

## Protokol ücreti talebi

Swap ücretlerinin bir kısmı (konfigürasyona göre genellikle 25 bps swap ücretinin 3–12 bps'i) bir protokol ücreti kasasında birikir. Multisig bu birikmiş ücretleri çekebilir. Kullanıcılar LP bakiyelerinin bu nedenle değiştiğini hiçbir zaman görmez; bu, LP parası değil, protokolün önceden ayrılmış payıdır.

## Farm oluşturucu yetkisi

Farm v6, oluşturucuya şu yetkileri tanır:

* Ödül kasasını doldurmak (daha fazla token eklemek).
* Programı uzatmak (bitiş zamanını ileri almak).
* Bitiş zamanından sonra `withdrawReward` çağırarak kullanılmayan kasa bakiyesini geri almak.

Farm oluşturucuları **şunları yapamaz:**

* Stake edilmiş kullanıcı LP'sini çekmek.
* Stake mint'ini değiştirmek.
* Emisyon oranlarını geriye dönük olarak değiştirmek (yalnızca `setRewards` aracılığıyla ileriye yönelik).
* Kullanıcı hasat işlemlerini dondurmak.

Kötü niyetli bir farm oluşturucusu en kötü ihtimalle kasayı yetersiz finanse ederek farm'ın kuruyup kalmasına yol açabilir; kullanıcıların asıl stake'i her zaman güvende kalır.

## Squads multisig konfigürasyonu

Raydium, farklı risk yüzeyleri için iki ayrı Squads multisig işletir. Her ikisi de [Squads Protocol](https://app.squads.so) arayüzü üzerinden zincir üzerinde incelenebilir.

| Multisig              | Eşik    | Zaman kilidi | Kapsam                                                                                                                                                                                                                                                                                                                                                                                                             |
| --------------------- | ------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Program yükseltme** | **3/4** | **24 saat**  | AMM v4, CPMM, CLMM, LaunchLab, Lock, AMM Routing, Stable Swap ve eski Farm/Staking programları için yeni program bayt kodunu dağıtmanın tek yetkisi. [`app.squads.so/.../FytDr…ceZQK`](https://app.squads.so/squads/FytDrVzDybM1TwFQPGb8qaxZR7dBCzNeqT3vtQsceZQK/home) adresinden görüntüleyin.                                                                                                                    |
| **Treasury**          | **3/5** | yok          | Treasury varlıkları, protokol gelirleri, operasyonel giderler. Aynı zamanda Raydium'un sınırlı program yöneticisi yetkisini (AmmConfig oluşturma, protokol ücretlerini süpürme, pool parametrelerini yapılandırma) geçici olarak elinde bulundurur. [`v3.squads.so/dashboard/RVha…dHdtYz09`](https://v3.squads.so/dashboard/RVhaWTdGUGNjTnVFdmdIWk1DTXB3dzJGZW44b0xXQlNKemRnQ3NYM0Rqd20=) adresinden görüntüleyin. |

Yükseltme multisig'inin operasyonel özellikleri:

* Herhangi bir işlemde **24 saatlik zaman kilidi**. Bugün onaylanan bir yükseltme en erken 24 saat sonra yürütülür; bu süre kullanıcılara tepki için zaman tanır.
* **Hava boşluklu soğuk cihaz imzalama.** Soğuk cihazların ağ kartları fiziksel olarak çıkarılmıştır; yalnızca bir donanım cüzdanına bağlanır ve işlem verilerini ayrı bir sıcak cihazdan QR kodu aracılığıyla okurlar.
* **Sıralı imzalama.** Bir soğuk cihaz bir işlem oluşturup imzaladıktan sonra, bir sonraki soğuk cihaz kendi imzalama sürecini başlatabilir; bu sayede aynı işlem üzerinde çakışan veya paralel imzalar engellenir.
* **İşlem son kullanma tarihi.** Her işlem sabit bir son kullanma penceresi taşır; eski işlemler otomatik olarak geçersiz hale gelir.
* **TOTP + fiziksel anahtar zorunluluğu**, işlem başlatma ve zincir üzerinde yayın için kullanılan sıcak cihazlarda uygulanır.
* **Kamuya açık işlem kuyruğu.** Herkes Squads arayüzünde bekleyen yükseltmeleri izleyebilir.

Treasury multisig'inde zaman kilidi yoktur — kapsamı daha dardır ve rutin operasyonların (AmmConfig oluşturma, ücret süpürme) aynı gün tamamlanması gerekir. Treasury multisig, yukarıdaki program bazlı tablolarda listelenen sınırlı program yöneticisi yetkisini de elinde bulundurur; bu geçici bir düzenlemedir ve projenin güvenlik ortaklarıyla periyodik olarak gözden geçirilir.

## Zincir üzerinde yetkiyi doğrulamak

Bir programın mevcut yükseltme yetkisini doğrulamanın en basit yolu:

```bash theme={null}
solana program show <PROGRAM_ID>
```

Çıktı şunları içerir:

```
Program Id:          CPMMoo8L3F4NbTegBCKVNunggL7H1Zpdmwpwh8KMoZ0F
Owner:               BPFLoaderUpgradeab1e11111111111111111111111
ProgramData Address: <ProgramDataPDA>
Authority:           <EXPECTED_MULTISIG_ADDRESS>
Last Deployed In Slot: <slot>
Data Length: <n> bytes
```

`Authority` beklenen Squads multisig adresiyle eşleşmiyorsa bir sorun var demektir. Raydium beklenen yetki adreslerini [`reference/program-addresses`](/tr/reference/program-addresses) üzerinde yayınlar.

AmmConfig / pool yöneticisi rolleri için zincir üzerindeki hesabı çekip şöyle çözümleyebilirsiniz:

```ts theme={null}
const config = await raydium.cpmm.getAmmConfig(configPda);
console.log("AmmConfig admin:", config.admin.toBase58());
// Beklenen: 3/5 treasury multisig.
```

## Geçmiş yetki değişiklikleri

| Tarih   | Program        | Değişiklik                                                                                 |
| ------- | -------------- | ------------------------------------------------------------------------------------------ |
| 2022-12 | AMM v4         | Olay sonrasında yükseltme yetkisi tek imzadan 3/4 multisig'e taşındı                       |
| 2023-02 | Tüm programlar | Tüm operasyonel roller 3/5 treasury multisig altında birleştirildi                         |
| 2023-11 | CLMM           | Maruziyeti azaltmak için yalnızca ödül operasyonlarına yönelik ikinci bir multisig eklendi |
| 2024-05 | CPMM           | İlk günden itibaren multisig yetkisiyle dağıtıldı                                          |

## Kullanıcı açısından değerlendirmeler

Kullanıcı/LP/entegratör olarak ne yapmalısınız?

1. **Büyük tahsislerden önce yükseltme yetkisini kontrol edin.** Belgelenen multisig ile eşleştiğini doğrulayın.
2. **Multisig etkinliğini izleyin.** [Squads arayüzü](https://v4.squads.so) bekleyen işlemleri gösterir; planlı bir yükseltme, değişikliğe katılmıyorsanız pozisyonunuzu kapatmanız için size 24 saat tanır.
3. **Zaman kilidi farkındalıklı geri çekilme stratejileri.** Otomatik bileşik yapan bir sistem çalıştırıyorsanız, geri çekilme yolunuzun değiştirilmekte olan bir talimat gerektirmediğinden emin olun.
4. **Program değişmezliğini varsaymayın.** Her Raydium programı yükseltilebilir; buna göre plan yapın.

## Entegratörler için tuzaklar

### 1. Yetki adreslerini önbelleğe almak

Yükseltme yetkisini veya yönetici multisig adresini kodunuza sabit olarak yazarsanız ve bu adres daha sonra döndürülürse doğrulamanız başarısız olur. Çalışma zamanında [`reference/program-addresses`](/tr/reference/program-addresses) adresinden çekin ya da periyodik olarak yenileyin.

### 2. AmmConfig'lerin değişmez olduğunu varsaymak

Herhangi bir anda yeni bir AmmConfig oluşturulabilir. Toplayıcınız/yönlendiriciniz tam konfigürasyon listesini periyodik olarak yeniden çekmelidir (saatlik yeterlidir).

### 3. Farm oluşturucu saldırı vektörleri

Düşük itibarli bir farm'a para yatırıyorsanız, oluşturucu farm'ı erken sonlandırarak ödül kasasını geri alabilir (henüz stake yapan kullanıcı yoksa). Kullanıcılar stake yaptıktan sonra pro-rata haklar program tarafından uygulanır; geri alma yalnızca makul bitiş sonrasındaki artığı kapsar.

## Kaynaklar

* [`reference/program-addresses`](/tr/reference/program-addresses) — kurallı yetki adresleri.
* [`security/attack-vectors`](/tr/security/attack-vectors) — yönetici ele geçirmelerinin nasıl tezahür ettiği.
* [`ray/treasury`](/tr/ray/treasury) — treasury ve ücret tahsilat adresleri.
* [`security/disclosure`](/tr/security/disclosure) — şüpheli yönetici sorunlarını bildirmek.

Kaynaklar:

* [Squads Protocol](https://v4.squads.so) — multisig arayüzü.
* [Solana BPF Loader belgeleri](https://docs.solana.com/developing/runtime-facilities/programs#bpf-loader) — yükseltme mekanizması.
