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.
이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
AMM v4는 모든 작업이 OpenBook 상태에 접근하기 때문에 CPMM이나 CLMM보다 훨씬 더 많은 계정을 필요로 합니다. 이 페이지는 계정을 “풀 소유” 및 “OpenBook 소유” 섹션으로 분류하여 통합자가 어느 쪽이 어느 쪽인지 빠르게 확인할 수 있도록 합니다.
계정 목록
AMM v4 풀은 생성 시 정확히 하나의 OpenBook 마켓에 바인딩됩니다. 전체 현재 상태는 다음과 같습니다:| 카테고리 | 계정 | 소유자 | 역할 |
|---|---|---|---|
| 풀 | AmmInfo | AMM v4 프로그램 | 풀 상태: 누적된 수수료, 상태, 볼트 및 OpenBook 마켓 참조. |
| 풀 | amm_authority | AMM v4 프로그램 | 볼트 이동에 서명하는 프로그램 소유 PDA. 모든 AMM v4 풀에서 공유됩니다. |
| 풀 | amm_open_orders | OpenBook | 이 마켓에 대한 풀의 OpenBook OpenOrders 계정. |
| 풀 | amm_target_orders | AMM v4 프로그램 | OpenBook에 다시 게시할 목표 지정가 주문의 풀 측 그리드. |
| 풀 | pool_coin_token_account | SPL 토큰 | 풀의 코인 측 볼트 (amm_authority의 ATA). |
| 풀 | pool_pc_token_account | SPL 토큰 | 풀의 pc 측 볼트. |
| 풀 | lp_mint | SPL 토큰 | 대체 가능한 LP민트. |
| 풀 | pool_withdraw_queue | AMM v4 프로그램 | 지연된 출금을 위한 레거시 큐; 길이 0으로 유지됩니다. |
| 풀 | pool_temp_lp | AMM v4 프로그램 | Initialize 중에 사용되는 보조 LP 계정. |
| 마켓 (OpenBook) | serum_market | OpenBook | 마켓 자체 (기본/견적 민트, 볼트 서명자 등). |
| 마켓 | serum_bids, serum_asks | OpenBook | 매수 및 매도 큐. |
| 마켓 | serum_event_queue | OpenBook | 보류 중인 이벤트 (체결, 취소). |
| 마켓 | serum_coin_vault, serum_pc_vault | SPL 토큰 | OpenBook의 마켓 수준 볼트. |
| 마켓 | serum_vault_signer | OpenBook | serum_*_vault 이동에 서명하는 마켓 수준 PDA. |
AmmInfo
풀의 루트 상태 계정입니다. 풀과 OpenBook 참조를 모두 인라인으로 포함하기 때문에 규모가 큽니다 (약 752바이트).
coin_vault,pc_vault— 풀의 SPL 토큰 볼트. Serum/OpenBook 관례에 따라coin은token_0(기본),pc는token_1(견적)입니다.coin_decimals,pc_decimals— 민트와 일치합니다.open_orders,target_orders,market— 모든 스왑/예치/출금 명령어에 전달되어야 합니다.fees.swap_fee_numerator / swap_fee_denominator— 결합된 거래 수수료. 기본값25 / 10_000 = 0.25%.status— 작업을 제어하는 비트마스크.AdminSetStatus를 통해 관리자가 설정 가능합니다.state_data.need_take_pnl_*— 누적된 총 수수료와 수집된 금액 간의 차이.TakePnl이 이를 0으로 만듭니다.
OpenBook 연결
더 이상 활성화되지 않음. AMM v4 풀은 더 이상 유동성을 OpenBook과 공유하지 않습니다. 지정가 주문 그리드가 비활성화되었습니다. 이 섹션에서 설명하는 OpenBook 계정은 각 풀의
AmmInfo에 남아 있으며 V1 스왑 진입점 및 Initialize, Deposit, Withdraw에 의해 검증되지만 하위 호환성을 위해 참조하는 온-북 상태는 실제로 비어 있습니다. V2 스왑 진입점 (SwapBaseInV2 / SwapBaseOutV2)을 사용하세요. 이들은 이러한 계정을 전혀 필요로 하지 않으며 오늘날의 정규 실행 경로를 나타냅니다.amm_open_orders는 OpenBook 소유 계정으로 이 마켓에 있는 풀의 지정가 주문 상태를 보유합니다: 활성 주문, 정산된 잔액, 리퍼러 등. amm_target_orders는 AMM 측: 프로그램이 현재 게시된 것과 저렴하게 비교하고 차이를 배치/취소할 수 있도록 AMM의 의도된 그리드 (각 주문 슬롯에 대한 가격/크기)를 보유합니다.
권한 PDA
전체 AMM v4 프로그램에는 정확히 하나의amm_authority PDA가 있습니다. 그 시드는 간단합니다 (["amm authority"]). 모든 AmmInfo에 저장된 범프입니다. 이 권한이 모든 AMM v4 풀의 모든 토큰 이동에 서명합니다.
amm_authority 위는 실제로 이 프로그램의 설계에서 둘 다를 다루며, 다양한 버전은 다른 파생을 사용했으므로 코드에서 특정 풀의 AmmInfo.nonce를 확인하세요).
볼트
풀의 SPL 토큰 볼트는owner가 amm_authority인 표준 토큰 계정입니다. ATA가 아닙니다. 주소는 ["amm_associated_seed", coin_mint_or_pc_mint, market, amm_id] 시드로 Initialize에서 파생된 특정 PDA입니다. 주소는 AmmInfo에 저장되며, 파생은 일회성 호기심 거리입니다.
Token-2022는 지원되지 않습니다. 프로그램은 모든 볼트 이동에 대해 SPL 토큰의 프로그램 ID를 하드코딩합니다. AMM v4 풀을 Token-2022 민트에 바인딩하려고 하면 Initialize에서 실패합니다.
LP민트
amm_authority이 권한인 고전적인 SPL 토큰 민트입니다. 총 공급량은 풀의 LP 소유권을 추적합니다. LP를 소각하면 양쪽 볼트에서 토큰을 비례적으로 반환합니다. AMM v4가 CPMM보다 앞서므로 풀 상태에 lp_supply 미러가 없습니다. 민트의 온체인 공급량을 직접 읽으세요.
상태 비트마스크
AmmInfo.status는 작업을 제어합니다. 비트 (위치는 프로그램 버전마다 다를 수 있으니 소스로 확인하세요):
| 비트 | 플래그 | 효과 |
|---|---|---|
| 0 | SWAP_DISABLED | Swap*이 거부됩니다. |
| 1 | DEPOSIT_DISABLED | Deposit이 거부됩니다. |
| 2 | WITHDRAW_DISABLED | Withdraw이 거부됩니다. |
| 3 | CLMM_LIKE_MIGRATE | ops가 사용하는 마이그레이션 게이트 플래그. |
AdminCancelOrders, AdminSetParams 등을 통해 이들을 설정합니다.
관찰 / 오라클
AMM v4에는 전용 관찰 계정이 없습니다. 온체인 TWAP이 필요한 다른 프로토콜은 일반적으로 OpenBook의 북 크로싱을 간접적으로 소비하거나 오프체인을 읽습니다. 프로그램 지원으로 Raydium TWAP이 필요하면 CPMM 또는 CLMM을 사용하세요.처음부터 풀의 계정 파생하기
AMM v4가 결정적 페어당 PDA를 위해 설계되지 않았기 때문에 (이는 그 Solana 관례보다 먼저), 정규amm_id는 다음으로 파생된 시드 키쌍입니다:
amm_open_orders, amm_target_orders, amm_withdraw_queue, pool_temp_lp, pool_coin_token_account, pool_pc_token_account 및 lp_mint에 적용됩니다. SDK와 API가 이를 사전 계산합니다. raydium-sdk-v2의 Liquidity.getAssociatedPoolKeys를 참조하세요.
실제로 통합자는 GET https://api-v3.raydium.io/pools/info/ids?ids=<POOL_ID>에서 또는 SDK에서 풀의 전체 계정 세트를 읽습니다. 수동 파생은 거의 필요하지 않습니다.
수명 주기 빠른 참조
| 이벤트 | 생성된 계정 | 제거된 계정 |
|---|---|---|
Initialize2 | amm_info, amm_open_orders, amm_target_orders, 볼트, lp_mint, pool_withdraw_queue, pool_temp_lp | — |
Deposit | — (사용자 LP ATA 생성 가능) | — |
Withdraw | — | — |
SwapBaseIn / SwapBaseOut | — (사용자 ATA 생성 가능) | — |
TakePnl | — | — |
MonitorStep (크랭크) | — | — |
AmmInfo는 유지됩니다.
어디서 무엇을 읽을지
- 수학 및 수수료 산술:
products/amm-v4/math. - 수수료 분할 및 CPMM/CLMM과의 비교:
products/amm-v4/fees. - 명령어 계정 목록:
products/amm-v4/instructions. - OpenBook 계정 파생: OpenBook 프로그램 문서 (
github.com/openbook-dex/program).
- Raydium AMM 프로그램 —
raydium-io/raydium-amm reference/program-addresses정규 프로그램 ID- 상대방 계정에 대한 OpenBook / Serum 프로토콜


