> ## 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önlendirme hesapları

> Hesapların AMM Yönlendirme programında her atlama sırasında nasıl geçirildiği: her ara token için kullanıcı ATA'ları, ardından rotanın her aşaması için havuz başına hesap bloğ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/routing/accounts)
</Info>

## Hesap düzeni: baştan sona kullanıcı ATA'ları

Etkinleştirilen her takas varyantı ara tokenları **kullanıcı tarafından kontrol edilen ATA'lar** aracılığıyla yönlendirir. Kullanıcı giriş ATA'sını, tüm ara ATA'ları ve son çıkış ATA'sını sahiplendir. Etkin yüzeyde paylaşılan / yönlendirici tarafından sahiplenilen ara token hesabı yoktur.

Özellikleri:

* Kullanıcı ara her token için bir ATA'ya sahiptir.
* Kullanıcı hesaplar listesinde her ATA'yı sağlar.
* Her ara ATA zaten mevcut olmalıdır (`CreateSyncNative` ile wSOL için veya yönlendirmeden önce başka bir mint için SPL İlişkili Token Hesabı programı aracılığıyla başlatın).
* Yönlendirici her atlama sırasında bir ATA'dan çıkıp sonraki havuzun kasasına aktarır.
* Her ara ATA, rotanın sonunda başladığı bakiyeyi aynı tutar — rota önceki atlamanın ürettiğini tüketir.

`USDC → SOL → STEP` rotası için örnek akış:

```
Hesaplar listesi:
  [
    USDC_input_ata (user, signer),
    SOL_intermediate_ata (user),
    STEP_output_ata (user),
    token_program,

    amm_program_1, *amm1_accounts,    // atlama 1: USDC → SOL
    amm_program_2, *amm2_accounts,    // atlama 2: SOL → STEP
  ]

Atlama 1: USDC_input_ata → AMM1 → SOL_intermediate_ata
Atlama 2: SOL_intermediate_ata → AMM2 → STEP_output_ata
```

## Atlama başına hesap düzeni

Her atlamanın hesapları ardı ardına geçirilir. Yönlendirici, her atlamanın bloğundaki ilk hesabı (program kimliği) okuyarak alt programı tanımlar, sonra doğru işleyiciye gönderir.

Her atlama için yönlendirici şu şekilde gruplandırılmış hesapları bekler:

```
[
  program_id,         // Havuz programının hangisini belirtir (AMM v4, CPMM, CLMM, Stable)
  *child_accounts,    // O havuzun takas talimatında gerekli tüm hesaplar
]
```

Alt hesaplar havuz türüne göre değişir:

### AMM v4 atlama

Yaklaşık 18 hesap: havuz, yetki, kasalar, mintler, OpenBook pazar hesapları (AMM v4'ün OpenBook entegrasyonu artık etkin olmasa bile geriye uyumluluk için hesap listesinde tutulur), token programları. Tam liste için [`products/amm-v4/accounts`](/tr/products/amm-v4/accounts) sayfasına bakın.

### CPMM atlama

Yaklaşık 11–13 hesap: havuz durumu, yetki, kasalar (2), mintler (2), token programları, sistem programı, ilişkili token programı. [`products/cpmm/accounts`](/tr/products/cpmm/accounts) sayfasına bakın.

### CLMM atlama

Yaklaşık 15+ hesap: havuz, tik dizileri, kasalar, mintler, gözlem durumu, imzalayan, token programları. [`products/clmm/accounts`](/tr/products/clmm/accounts) sayfasına bakın.

### Stable atlama

AMM v4'e benzer. [`products/stable/accounts`](/tr/products/stable/accounts) sayfasına bakın.

## Token akışı ve ATA sahipliği

* Çağıran `user_input_ata` ile imzalar.
* Çağıran tüm giriş, ara ve çıkış ATA'larının **sahibi olmalıdır**. Herhangi bir ara ATA'nın sahibi imzalayan değilse yönlendirici işlemi reddeder.
* Çağıranın `user_input_ata` bakiyesi, ilk atlamanın girdisi için yeterli olmalıdır (etiket 0 / 8 için `amount_in` veya etiket 1 / 9 için `maximum_amount_in`).
* Her ara ATA zaten zincir üzerinde mevcut olmalıdır. Mevcut değilse, önceden oluşturun — genellikle [SPL İlişkili Token Hesabı programı](https://spl.solana.com/associated-token-account) aracılığıyla veya wSOL ATA'sı için `CreateSyncNative` (etiket 5) ile.

## CreateSyncNative talimatı

Sarılmış SOL aracılığıyla yönlendirme yapmanız gerekiyorsa ve bir wSOL ATA'sını el ile oluşturmak ve senkronize etmek istemiyorsanız [`CreateSyncNative`](/tr/products/routing/instructions#createsyncnative-tag-5) (etiket 5) kullanın:

```
CreateSyncNative(amount)
```

Bu, çağıranın cüzdanı altında bir wSOL ATA'sı oluşturur, `amount` SOL'yi Sistem Programı aracılığıyla içine aktarır ve bunu tek bir talimatla senkronize eder. Yönlendirmeden önce yeni bir wSOL ATA'sını başlatmak için faydalıdır.

## CloseTokenAccount talimatı

Bir rota tamamlandıktan sonra — en yaygın olarak bir wSOL ATA'sı — herhangi bir ara ATA'sını kapatmak isteyebilirsiniz ve kirayı geri talep edin. [`CloseTokenAccount`](/tr/products/routing/instructions#closetokenaccount-tag-6) (etiket 6) kullanın:

```
CloseTokenAccount
```

Kapatmadan önce token hesabının token bakiyesi sıfır olmalıdır; yönlendirici otomatik olarak boşaltmayacaktır.

## Sonrası

* [`products/routing/instructions`](/tr/products/routing/instructions) — talimat başına argüman şekilleri ve hesap listesi sırası.
* [`products/routing/code-demos`](/tr/products/routing/code-demos) — TypeScript'te bir rota oluşturma.
* [`reference/program-addresses`](/tr/reference/program-addresses) — alt program kimlikeri.
