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

# Định Tuyến AMM

> Một chương trình kết nối các swap trên nhiều pool (AMM v4, CPMM, CLMM, Stable) trong một giao dịch trên chuỗi, với ATAs trung gian do người dùng kiểm soát.

<Info>
  **Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.**

  [Xem bản tiếng Anh →](/products/routing/index)
</Info>

## Nó là gì

Chương trình Định Tuyến AMM là một bộ định tuyến CPI thực hiện các swap đa bước trên các pool AMM của Raydium trong một giao dịch trên chuỗi. Thay vì gộp N lời gọi CPI chương trình con trong mã phía client, bạn có thể gọi bộ định tuyến một lần và truyền tuyến đường dưới dạng danh sách các tài khoản. Bộ định tuyến điều phối từng bước tới chương trình pool đúng (AMM v4, CPMM, CLMM, hoặc Stable) và nối kết đầu ra của bước này với đầu vào của bước tiếp theo.

**ID Chương trình:** xem [`reference/program-addresses`](/vi/reference/program-addresses).

**Devnet:** `DRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd`.

**Mô hình tài khoản:** mỗi token trung gian chảy qua một **ATA sở hữu bởi người dùng**. Người dùng ký với ATA đầu vào của họ và cung cấp từng ATA trung gian trong danh sách tài khoản. Các điểm vào swap được khuyến nghị là thẻ 8 (`SwapBaseIn`) và thẻ 9 (`SwapBaseOut`), chúng chấp nhận một `limit_prices` deque trống khi không có bước CLMM nào liên quan.

## Nội dung chương

<CardGroup cols={2}>
  <Card title="Tổng Quan" icon="circle-info" href="/vi/products/routing/overview">
    Bộ định tuyến làm gì, tại sao nó tồn tại, và khi nào bạn nên sử dụng nó thay vì ghép nối phía client.
  </Card>

  <Card title="Tài Khoản" icon="database" href="/vi/products/routing/accounts">
    Bố cục ATA của người dùng, khối tài khoản cho mỗi bước, và cách bộ định tuyến điều phối bằng cách đọc slot ID chương trình.
  </Card>

  <Card title="Toán Học" icon="function" href="/vi/products/routing/math">
    Bộ định tuyến không thực hiện toán học. Mỗi bước định giá theo đường cong riêng của nó. Slippage tích lũy theo các bước; `limit_prices` cho CLMM.
  </Card>

  <Card title="Lệnh" icon="terminal" href="/vi/products/routing/instructions">
    Tham chiếu cho sáu biến lệnh được bật: swap nhập-chính xác / xuất-chính xác Hiện tại (8 / 9) và Kế thừa (0 / 1), cộng với các tiện ích wSOL (5 / 6).
  </Card>

  <Card title="Phí" icon="percent" href="/vi/products/routing/fees">
    Không có phí bộ định tuyến. Mỗi bước thanh toán phí của chương trình cơ bản của nó. Chi phí CU tăng tuyến tính theo số lượng bước.
  </Card>

  <Card title="Ví dụ Mã" icon="code" href="/vi/products/routing/code-demos">
    Các ví dụ TypeScript sử dụng SDK và xây dựng lệnh thô.
  </Card>
</CardGroup>

## Khi nào nên đọc tài liệu này

* Bạn cần thực hiện một tuyến đường với 2+ bước trong một giao dịch.
* Bạn đang triển khai một chương trình mà CPI vào bộ định tuyến.
* Bạn là một trình tổng hợp quyết định giữa ghép nối phía client và định tuyến trên chuỗi.

## Bước tiếp theo

* [`products/routing/overview`](/vi/products/routing/overview) — thiết kế và động lực.
* [`products/routing/instructions`](/vi/products/routing/instructions) — tham chiếu lệnh đầy đủ.
* [`integration-guides/routing-and-mev`](/vi/integration-guides/routing-and-mev) — chiến lược định tuyến rộng hơn.
* [`integration-guides/aggregator`](/vi/integration-guides/aggregator) — khi nào sử dụng bộ định tuyến trong bối cảnh trình tổng hợp.

Nguồn:

* [`reference/program-addresses`](/vi/reference/program-addresses) cho ID chương trình chính thức
* `raydium-io/raydium-programs/raydium-route` cho mã nguồn
