메인 콘텐츠로 건너뛰기

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 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
이것은 문서의 변경 로그로, 프로젝트 공개 이후 각 페이지의 업데이트 내역을 기록합니다. 프로토콜 자체의 역사적 타임라인은 introduction/history-and-milestones를 참고하세요. 모든 항목에는 날짜, 영향받은 챕터 목록, 변경 트리거, 그리고 작성된 내용이 온체인 상태 및 프로그램 소스와 마지막으로 대조 검증된 날짜가 포함됩니다.

미출시 — CLMM: 지정가 주문, 단방향 수수료, 동적 수수료

다음 CLMM 릴리스에서는 풀 수준의 세 가지 기능이 추가됩니다. 이 기능들은 풀 생성 시점에 선택적으로 활성화할 수 있으며, 기존 풀 및 포지션과 하위 호환됩니다.

인테그레이터를 위한 요약

  • 지정가 주문이 이제 CLMM의 기본 프리미티브로 지원됩니다. LP는 지정가 주문을 지원하는 풀에서 단일 틱 주문을 개설할 수 있으며, 스왑이 해당 틱을 통과할 때 FIFO 방식으로 체결됩니다. 오프체인 키퍼(limit_order_admin)가 소유자가 온라인 상태가 아니어도 체결된 출력을 정산할 수 있습니다. 7개의 새로운 SDK 메서드(openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, closeLimitOrder, closeAllLimitOrder, settleAllLimitOrder)와 /limit-order/ 하위의 세 가지 새로운 Temp API 엔드포인트(활성 주문, 사용자별 이력, PDA별 이벤트 로그)가 전체 흐름을 지원합니다.
  • 단방향 수수료(CollectFeeOn) 기능으로 풀이 입력 측에서 스왑 수수료를 수집하거나(레거시, 모드 0), 항상 token_0에서(모드 1), 또는 항상 token_1에서(모드 2) 수집하도록 설정할 수 있습니다. 페어 한쪽이 표준 회계 토큰일 때 유용합니다.
  • 동적 수수료를 통해 풀이 빠른 틱 이동에 따라 상승하고 시간이 지남에 따라 감소하는 변동성 추적 추가 요금을 선택할 수 있습니다. 이는 티어별 DynamicFeeConfig와 풀별 DynamicFeeInfo로 조정됩니다. 새로운 /main/clmm-dynamic-config 엔드포인트에서 티어 목록을 확인할 수 있습니다.
  • 새로운 인스트럭션 CreateCustomizablePool이 풀 생성 시점에 세 가지 설정을 모두 노출합니다. 기존의 CreatePool은 기본 수수료, 지정가 주문 없는 풀에 계속 사용할 수 있습니다.
  • 인덱서 호환성 변경 사항: PoolState의 방향별 거래량 카운터(swap_in_amount_token_{0,1}, swap_out_amount_token_{0,1})와 누적 수수료 카운터(total_fees_token_{0,1}, total_fees_claimed_token_{0,1})가 fee_ondynamic_fee_info를 위한 공간을 마련하기 위해 패딩으로 이전되었습니다. 이 필드를 직접 읽는 인덱서는 온체인 Observation 링 또는 API로 마이그레이션해야 합니다.

트레이더, LP, 인테그레이터에게 중요한 이유

  • 트레이더는 롱테일 페어 및 이벤트 중심 페어에서 더 좁은 호가를 받을 수 있습니다. 동적 수수료를 통해 LP가 범위를 능동적으로 넓히지 않아도 풀이 변동성 추가 요금을 테이커에게 흡수시킬 수 있고, 지정가 주문 스택이 범위 전체에 자본을 투입하지 않고도 특정 가격에서 온체인 유동성을 심화시킵니다.
  • LP는 집중 범위 및 전범위 포지션에 더해 세 번째 전략을 사용할 수 있습니다. 정확한 가격에 주문을 등록하고, 해당 가격에 체결되면 견적 토큰으로 정산됩니다. 체결된 부분에 대해 능동적인 리밸런싱이 필요하지 않습니다.
  • 인테그레이터는 동적 수수료 풀을 결정론적으로 모델링할 수 있습니다. 알고리즘과 파라미터는 완전히 온체인에 있으며, 조정 티어는 쿼리 가능하고, 스왑 경로의 형태는 변경되지 않습니다(단계별 수수료만 달라집니다).

프로그램 변경 사항

새로운 계정

  • DynamicFeeConfig — 티어별 조정 레코드(필터 기간, 감쇠 기간, 감소 계수, 동적 수수료 제어, 최대 변동성 누적기). CreateDynamicFeeConfig(관리자)로 생성되며, 동적 수수료가 활성화된 경우 CreateCustomizablePool에서 참조됩니다.
  • LimitOrderState — 주문별 계정(PDA 시드: [owner, limit_order_nonce, order_nonce]). 풀, 틱, 측면, 입력 금액, 미체결 비율, FIFO 코호트 단계, 장부 스냅샷을 보유합니다. 라이프사이클은 암묵적입니다(filled_amount vs total_amount, 계정 존재 여부): Open → Filled → Settled → Closed.
  • LimitOrderNonce — (소유자, nonce_index)별 단조 증가 카운터로 지정가 주문 PDA 시드를 가져옵니다. nonce_index: u8을 통해 동일 소유자가 주문을 최대 256개의 독립 nonce 스트림으로 분리할 수 있습니다.
계정 → DynamicFeeConfig 및 DynamicFeeInfo계정 → LimitOrderState를 참고하세요.

PoolState 구조 변경

필드 그룹이전 레이아웃새 레이아웃
방향별 거래량 카운터swap_in_amount_token_0, swap_out_amount_token_0, swap_in_amount_token_1, swap_out_amount_token_1padding5: [u128; 4]로 통합
누적 수수료 카운터total_fees_token_0, total_fees_claimed_token_0, total_fees_token_1, total_fees_claimed_token_1padding6: [u64; 4]로 통합
단방향 수수료fee_on: u8 (0 = FromInput, 1 = Token0Only, 2 = Token1Only)
동적 수수료dynamic_fee_info: DynamicFeeInfo (임베디드)
총 계정 크기는 변경되지 않습니다. 인덱서: 거래량 추적을 PoolState에서 Observation 링 또는 API로 전환하세요. 폐기된 카운터는 기존 풀에서 0으로 초기화되지 않으며(마지막으로 가졌던 값을 그대로 보유), 업그레이드 이후 다시 읽으면 오래된 데이터가 반환됩니다.

TickState 추가 사항(호환성 변경 없음)

TickState의 끝 부분에 네 개의 새로운 필드가 추가되어 일부 테일 패딩을 대체합니다.
  • order_phase: u64 — 이 틱의 지정가 주문 코호트를 구분하는 카운터.
  • orders_amount: u64 — 이 틱의 모든 열린 주문이 투입한 총 입력금(모두 완전히 미체결인 것은 아님).
  • part_filled_orders_remaining: u64 — 현재 스왑에 의해 소비되고 있는 코호트에서 아직 미체결인 입력.
  • unfilled_ratio_x64: u128 — 각 주문의 체결 지분을 계산하는 데 사용되는 Q64.64 비율.
틱 배열 레이아웃, 크기, PDA 시드는 변경되지 않습니다.

새로운 인스트럭션

  • CreateDynamicFeeConfig (관리자) — 조정된 DynamicFeeConfig 티어를 생성합니다. 권한: CreateAmmConfig와 동일한 트레저리 멀티시그.
  • UpdateDynamicFeeConfig (관리자) — 기존 티어의 파라미터를 업데이트합니다.
  • CreateCustomizablePoolcollect_fee_on, enable_dynamic_fee, dynamic_fee_config를 노출하는 풀 생성 진입점. CreatePool과 공존하며, 새로운 설정이 필요한 모든 새 풀에는 CreateCustomizablePool을 권장합니다.
  • OpenLimitOrder — 단일 틱 지정가 주문을 개설합니다. LimitOrderNonce를 증가시키고, LimitOrderState를 할당하며, 해당 틱의 FIFO 코호트에 주문을 배치합니다.
  • IncreaseLimitOrder / DecreaseLimitOrder — 주문의 미체결 부분을 조정합니다. 완전히 체결된 주문에서 InvalidOrderPhase로 되돌립니다.
  • SettleLimitOrder — 체결된 출력을 소유자의 ATA로 이전합니다. 호출자는 소유자 또는 풀의 limit_order_admin 키퍼일 수 있습니다.
  • CloseLimitOrder — 완전히 정산된 주문을 닫아 렌트를 회수합니다.

SwapV2 동작 변경 사항

스왑 경로 자체의 형태는 변경되지 않지만, 진행 과정에서 세 가지 사항이 새로 발생합니다.
  1. 동적 수수료 (활성화된 경우): 풀의 DynamicFeeInfo가 각 단계마다 업데이트되고(감쇠 → 누적 → 상한 적용), 그 결과 추가 요금이 해당 단계의 기본 수수료에 더해집니다.
  2. 지정가 주문 매칭 (단계가 열린 주문이 있는 초기화된 틱을 통과하는 경우): 스왑 입력의 일부가 해당 틱의 코호트를 채우기 위해 FIFO 방식으로 소비되며, unfilled_ratio_x64가 원자적으로 업데이트됩니다.
  3. 단방향 수수료 라우팅 (fee_on != 0인 경우): 스왑 방향에 관계없이 입력 측 대신 항상 token_0 또는 token_1에서 수수료가 징수됩니다.
이 세 가지 모두 풀이 레거시 기본값으로 생성된 경우에는 아무 동작도 하지 않습니다. 업데이트된 상태 변경 매트릭스는 인스트럭션 → SwapV2를 참고하세요.

새로운 에러 코드

이번 릴리스에서 ErrorCode 열거형이 재번호화되었습니다. 5개의 레거시 변형(LOK, ZeroMintAmount, InvalidLiquidity, TransactionTooOld, InvalidRewardDesiredAmount)이 제거되었고, 11개의 새로운 변형이 추가되었습니다. Anchor는 열거형 순서에 따라 6000부터 에러 번호를 매기므로, 제거된 위치 이후의 모든 에러 코드가 이동했습니다. 숫자 코드를 하드코딩한 클라이언트는 재매핑이 필요합니다. 새로운 코드는 다음과 같습니다.
  • 6040 OrderAlreadyFilled
  • 6041 InvalidOrderPhase
  • 6042 InvalidLimitOrderAmount
  • 6043 OrderPhaseSaturated
  • 6044 InvalidDynamicFeeConfigParams
  • 6045 InvalidFeeOn
  • 6046 ZeroSqrtPrice
  • 6047 ZeroLiquidity
  • 6048 MissingBaseFlag
  • 6049 MissingMintAccount
  • 6050 MissingTokenProgram2022
모든 CLMM 에러의 전체 문자열과 이동 후 테이블은 에러 코드에서 확인할 수 있습니다.

SDK 변경 사항(@raydium-io/raydium-sdk-v2)

  • raydium.clmm의 새로운 메서드: createCustomizablePool, openLimitOrder, increaseLimitOrder, decreaseLimitOrder, settleLimitOrder, settleAllLimitOrder, closeLimitOrder, closeAllLimitOrder.
  • raydium.api의 새로운 REST 헬퍼: getClmmDynamicConfigs, getClmmLimitOrderConfigs.
  • 새로운 타입: CollectFeeOn 열거형, DynamicFeeConfig, DynamicFeeInfo, LimitOrderState, LimitOrderConfig.
  • 내부 재구성: utils/libraries/로 이동되었습니다. 패키지 배럴은 변경되지 않으며, @raydium-io/raydium-sdk-v2/utils/... 경로의 딥 임포트만 …/libraries/...로 업데이트하면 됩니다.
전체 TypeScript 연습 예제는 products/clmm/code-demos에서 확인할 수 있습니다.

API 변경 사항

  • api-v3/main/ 하위에 두 개의 새로운 엔드포인트:
    • GET /main/clmm-dynamic-configDynamicFeeConfig 티어 목록.
    • GET /main/clmm-limit-order-config — 풀별 지정가 주문 설정.
  • temp-api-v1/limit-order/ 하위에 세 개의 새로운 엔드포인트:
    • GET /limit-order/order/list?wallet=… — 지갑의 현재 등록된 주문 목록(열린 주문 및 부분 체결, 인덱서의 Redis 캐시에서 제공되며, 동일 페이로드가 totalAmount / filledAmount / pendingSettle를 통해 두 단계를 모두 커버).
    • GET /limit-order/history/order/list-by-user?wallet=… — 지갑의 과거 지정가 주문 이력. 선택적 필터: poolId, mint1, mint2, hideCancel. nextPageId / size(최대 100)를 통한 커서 페이지네이션.
    • GET /limit-order/history/event/list-by-pda?pda=… — 하나 이상의 쉼표로 구분된 지정가 주문 PDA에 대한 PDA별 이벤트 로그(open / increase / decrease / settle / close). nextPageId / size(최대 100)를 통한 커서 페이지네이션.
5개 모두 API 레퍼런스 탭에 문서화되어 있습니다.

권한 범위

limit_order_admin은 오프체인 운영 키퍼이며, 멀티시그가 아닙니다. 기존 주문에 대해 SettleLimitOrderCloseLimitOrder만 호출할 수 있으며, 정산 출력은 항상 소유자의 ATA로 전달됩니다. 풀 필드를 변경하거나, 주문을 개설 또는 수정하거나, 그 외 어떠한 것에도 서명할 수 없습니다. 관리자 키 및 멀티시그 → CLMM을 참고하세요.

업데이트된 페이지

  • products/clmm/overview — 새로운 “What’s new” 섹션 및 업데이트된 다음 단계 포인터.
  • products/clmm/accounts — 세 개의 새로운 계정, 마이그레이션 경고가 포함된 PoolState 구조 변경, TickState 추가 사항, 새로운 PDA 헬퍼.
  • products/clmm/instructions — 7개의 새로운 인스트럭션, SwapV2 동작 부록, 업데이트된 상태 변경 매트릭스.
  • products/clmm/fees — 단방향 수수료 섹션, 파라미터 테이블이 포함된 동적 수수료 섹션.
  • products/clmm/math — 지정가 주문 매칭 의사 코드, 동적 수수료 유도.
  • products/clmm/code-demoscreateCustomizablePool 데모, 전체 지정가 주문 연습, 새로운 주의 사항.
  • algorithms/clmm-math — 멀티 틱 스왑 루프의 지정가 주문 매칭 및 동적 수수료 교차 참조.
  • sdk-api/typescript-sdk — CLMM 모듈 추가 섹션, utils/libraries/ 마이그레이션 노트.
  • api-reference/openapi/api-v3.yaml — 응답 스키마가 포함된 두 개의 새로운 엔드포인트.
  • api-reference/openapi/temp-api-v1.yaml — 요청 및 응답 스키마가 포함된 세 개의 새로운 지정가 주문 엔드포인트(/limit-order/order/list, /limit-order/history/order/list-by-user, /limit-order/history/event/list-by-pda).
  • api-reference/api-v3/overview — 새로운 CLMM 설정 엔드포인트에 대한 노트.
  • api-reference/temp-api-v1/overview — 새로운 활성 주문, 사용자별 이력, PDA별 이벤트 엔드포인트에 대한 노트.
  • reference/error-codes — 11개의 새로운 CLMM 에러 코드(6040–6050) 및 5개의 제거된 레거시 코드; 제거 지점 이후의 숫자 코드가 이동됨.
  • security/admin-and-multisig — 새로운 DynamicFeeConfig 관리자 행 및 limit_order_admin 키퍼 행, 제한된 권한 설명 포함.
검증 대상:
  • raydium-clmm 소스.
  • @raydium-io/raydium-sdk-v2 소스.
  • api-v3temp-api-v1 소스.

2026-04-26 — 최초 공개

Raydium 문서 세트의 첫 번째 공개 릴리스입니다. 검증 대상:
  • Solana 메인넷-베타의 라이브 프로그램 배포.
  • @raydium-io/raydium-sdk-v2@0.2.42-alpha.
  • 2026년 4월까지의 공개 Raydium 문서 및 온체인 레퍼런스.
앞으로 모든 프로토콜 업그레이드, 감사, 또는 문서 수정 사항은 이 파일의 새 항목으로 추가됩니다.

문서 규칙

  • 버전 관리: 이 문서는 캘린더 기반 버전 관리(YYYY-MM-DD)를 사용합니다. 각 업데이트는 파일 상단에 새 항목을 생성합니다.
  • 검증 날짜: 모든 항목은 내용이 온체인/API 상태 및 프로그램 소스와 마지막으로 대조 검증된 시점을 기록합니다. 명시되지 않은 경우 항목의 주요 날짜를 기준으로 합니다.
  • 호환성 변경 사항: 영향받는 페이지에 박스 경고로 표시되고 아래 항목에 태그됩니다.
  • 범위: 이 변경 로그는 문서 세트 자체를 다룹니다. 프로토콜 자체의 역사적 타임라인은 introduction/history-and-milestones에 있으며, “Raydium에서 X는 언제 발생했는가”에 대한 정보의 원천입니다.

정오표

이 문서에서 오류를 발견하시면 문서 저장소에 이슈 또는 풀 리퀘스트를 열어 주세요. 수정 사항은 이 변경 로그에 기록됩니다.

관련 링크