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.
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 →
Nhiệm vụ của aggregator là cung cấp cho người dùng mức giá tốt nhất có thể trên nhiều pool, có khả năng chia một lượng input duy nhất trên nhiều tuyến pool, và thực hiện nó theo kiểu atomic. Trang này ghi chép các phần liên quan đến Raydium: khám phá, lấy giá, và lắp ráp giao dịch.
Khám phá
Danh sách pool
Bạn cần có danh sách đầy đủ các pool Raydium hoạt động cho mỗi sản phẩm. Ba tùy chọn:- REST API (đơn giản nhất):
GET https://api-v3.raydium.io/pools/info/list?poolType=all&pageSize=1000&page=1trả về các pool theo lô 1000 cái. Phân trang cho đến khi có tất cả. Cache trong 1–5 phút. - Quét on-chain:
getProgramAccountstrên các ID chương trình CPMM, CLMM, và AMM v4, lọc theo discriminator của state account. Mang lại ~mọi pool hoạt động với ~10s thời gian RPC. Hữu ích khi API không hoạt động hoặc bị giới hạn tốc độ. - Kết hợp: sử dụng API làm nguồn chính; chạy quét on-chain hàng ngày làm kiểm tra sự hiểu biết. Nhóm cam kết giữ API toàn diện, nhưng các pool được tạo thông qua CPI trực tiếp (không có frontend) có thể thỉnh thoảng bị chậm.
Tra cứu cặp mint
Đối với một cặp(mintA, mintB) cụ thể, sử dụng GET /pools/info/mint?mint1=...&mint2=...&poolType=all&sort=liquidity. Trả về mọi pool ở bất kỳ mức phí nào và loại sản phẩm. Tới ~10 kết quả trên mỗi cặp là phổ biến trên các mint được giao dịch rộng rãi; sắp xếp theo TVL và lấy vài cái hàng đầu để định tuyến.
Lấy giá
Toán học lấy giá khác nhau theo sản phẩm. Sử dụng các hàm toán học thuần túy của SDK để bạn không cần tái triển khai:{ amountOut, fee, priceImpact, minAmountOut }. Để so sánh aggregator, sử dụng amountOut (trước slippage).
Tính mới của cache
Pool state trở thành cũ rất nhanh. Các mục tiêu tính mới được khuyến nghị:| Loại pool | Tần suất tải lại | Tại sao |
|---|---|---|
CPMM với <$100k TVL | <10s | Reserves thay đổi trên mỗi giao dịch. |
CPMM với >$10M TVL | 30–60s | Reserves chiếm ưu thế; giao dịch nhỏ là nhiễu. |
| CLMM | <30s | Ranh giới tick; một giao dịch lớn duy nhất có thể tái cấu hình tính thanh khoản. |
| AMM v4 | <30s | Chuyển động phía OpenBook không được ghi lại trong vault. |
accountSubscribe) trên mỗi pool state liên quan. Điều đó lật ngược mô hình từ polling thành push.
Điều chỉnh Token-2022
Nếu bất kỳ mint nào trong tuyến có Token-2022 transfer fee, toán học lấy giá phải điều chỉnh input và output theoalgorithms/token-2022-transfer-fees. SDK xử lý điều này nếu poolInfo.mintA.extensions.transferFeeConfig được điền. Xác nhận bằng cách xem trường .extensions trước khi tin tưởng giá trích dẫn.
Định tuyến
Tuyến single-pool
Hầu hết các tuyến là single-pool. Chọn pool cóamountOut cao nhất. Nếu nhiều pool gần bằng nhau, quyết định bằng mức phí (thấp hơn tốt hơn), sau đó là TVL (cao hơn an toàn hơn).
Định tuyến chia tách
Đối với các giao dịch lớn trong đó một pool duy nhất có >5% price impact, chia tách trên các pool. Một thuật toán tham lam đơn giản:[(pool_A, 0.6), (pool_B, 0.3), (pool_C, 0.1)] giảm thiểu tác động tổng hợp. Một giải pháp tối ưu hóa convex thích hợp (ví dụ: cân bằng giá biên trên các pool) nằm trong ~1% của kết quả tham lam trong thực tế.
Tuyến multi-hop
USDC → RAY → SOL thông qua hai pool riêng biệt là phổ biến khi không có pool USDC-SOL trực tiếp nào cho giá trích dẫn tốt (hiếm). Áp dụng giới hạn slippage cho mỗi hop; mỗi hop thực hiện minAmountOut của riêng nó. Xem algorithms/slippage-and-price-impact.
Multi-hop trên cùng một pool (ví dụ: hai hop CLMM trên SOL-USDC) luôn kém hơn so với một hop duy nhất — không tạo các tuyến như vậy.
Lắp ráp giao dịch
Single-hop, single-pool
Sử dụngraydium.trade.swap của SDK trực tiếp:
Chia tách và multi-hop
Tạo ATAs + instructions theo cách thủ công. Mẫu:Tính atomic
Các aggregator phải đảm bảo tính atomic: toàn bộ tuyến hoặc không có gì cả. Các swap instructions của Raydium revert trênExceededSlippage, vì vậy một tuyến multi-pool trong đó một hop thất bại khiến toàn bộ giao dịch revert. Miễn phí.
Ngoại lệ duy nhất: nếu tuyến của bạn đi qua Raydium + DEX của bên thứ ba, hãy chắc chắn rằng DEX đó cũng có mô hình revert-on-slippage. Một số chương trình bỏ qua giới hạn slippage (hiếm).
Cạm bẫy
1. Giá trích dẫn cũ
Giữa thời điểm người dùng thấy “Bạn nhận được 125.43 RAY” và giao dịch được ghi lại, reserves có thể thay đổi. Tải lại pool state ngay trước khi gửi; lấy giá lại; nếu giá mới tệ hơn >1%, tạm dừng và xác nhận lại với người dùng.2. Danh sách đen pool
Một số pool Raydium là scam token với phí chuyển được đặt thành 99% hoặc có các extensions không thể chuyển. REST API đánh dấu những cái này (xem trườngtags); bỏ qua bất kỳ pool nào được gắn thẻ scam hoặc honeypot. Chạy các kiểm tra an toàn riêng của bạn trên top của các thẻ của Raydium là thận trọng.
3. Yêu cầu observation-state trên CLMM
CLMMSwapV2 lấy một account observation_state. SDK điền nó cho bạn; các instructions được tạo bằng tay thường quên, điều này khiến chương trình revert với AccountNotFound. Luôn bao gồm nó.
4. Address lookup tables
Raydium duy trì các bảng tra cứu công khai cho các account được sử dụng nhiều nhất (mints chính, ID chương trình, AmmConfigs). Các aggregator nên sử dụng những cái này — nó tiết kiệm ~100 byte cho mỗi giao dịch và cho phép các tuyến lớn hơn vừa với V0. Kéo địa chỉ LUT:5. Xử lý tắc nghẽn
Trong các cửa sổ khối lượng cao, giao dịch có thể ngồi trong mempool trong nhiều block. Retry tích cực trên TX expiry (không phải trên revert — reverts là deterministic) được khuyên dùng. Tùy chọnsendAndConfirm của SDK thực hiện các retry cơ bản; các aggregator sản xuất lớp logic của riêng họ (Jito bundles, phát sóng multi-RPC) trên top.
Danh sách kiểm tra
Trước khi đi live, hãy xác minh:- Khám phá pool bao gồm CPMM + CLMM + AMM v4 một cách toàn diện.
- Giá trích dẫn khớp với giá trích dẫn giao diện người dùng Raydium của riêng nó trong 1 điểm cơ sở trên một vài giao dịch thử nghiệm.
- Định tuyến chia tách kích hoạt cho các giao dịch >5% impact trên bất kỳ pool duy nhất nào.
- Phí ưu tiên được định kích thước dựa trên phí chương trình pool gần đây (xem
integration-guides/priority-fee-tuning). - Phí chuyển Token-2022 được tính toán và hiển thị cho người dùng.
- Giao dịch revert sạch khi slippage bị vượt quá.
- Logic retry phân biệt tx expiry (retry) với revert (không retry).
Con trỏ
integration-guides/routing-and-mev— sandwich resistance, bundles.integration-guides/priority-fee-tuning— định kích thước compute-budget instructions.sdk-api/rest-api— pool-list endpoints.


