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 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
팜이란
팜은 스테이킹 민트를 스테이킹하는 계정들에게 하나 이상의 보상 민트를 배포하는 독립형 온체인 프로그램입니다. 스테이킹 민트는 거의 항상 CPMM, AMM v4 또는 레거시 페어 풀에서 발행한 LP 토큰이지만, 단일 자산 팜(SOL, RAY 또는 프로젝트 토큰을 직접 스테이킹)도 지원되며 장기 실행 프로그램의 소수에 사용됩니다. 주요 특성:- 수수료 기반이 아닌 배출 기반. CLMM의 내장 보상 스트림과 달리 팜 보상은 스왑 거래량이나 풀 활동에 연결되지 않습니다. 팜의 예산은 생성자가 미리 입금하고 없어질 때까지 일정한 초당 비율로 배출됩니다.
- 풀과 독립적. 풀은 팜이 존재한다는 것을 알 수 없습니다. 지갑 간에 LP를 이동해도 팜에 알림이 가지 않습니다. 사용자는 먼저 팜에서
Withdraw를 활성화해야 합니다. 마찬가지로 풀에서Withdraw를 해도 팜에서 인출되지 않습니다. - 사용자별, 보상별 원장. 각 스테이커는 팜당
UserStake(또는 “Ledger”) 계정을 가지고 있으며, 스테이킹된 금액과 팜의 각 보상 스트림에 대한 보상당 주식 카운터의 스냅샷을 추적합니다. - 다중 보상. 팜 v5는 최대 2개의 보상을 지원합니다. v6은 최대 5개를 지원합니다. 각 보상은 자체 보관소, 초당 비율, 시작 시간 및 종료 시간을 가집니다.
세 가지 활성 버전
Raydium은 세 가지 팜 프로그램 버전을 출시했습니다. 모두 활성화되어 있으며 각각 자체 PDA 체계와 명령어 집합을 가집니다. 통합자는 이들을 같은 개념 모델을 공유하는 세 가지 구별되는 프로그램으로 취급해야 합니다.| 버전 | 프로그램 ID 위치 | 최대 보상 | 주요 차이점 |
|---|---|---|---|
| v3 | reference/program-addresses 참조 | 1 | 초기 스키마. 가장 오래된 팜(RAY-USDC, SOL-USDC)들이 여기를 통해 라우팅됩니다. |
| v5 | reference/program-addresses 참조 | 2 | 두 번째 보상 슬롯과 AddReward 스타일 탑업이 추가되었습니다. |
| v6 | reference/program-addresses 참조 | 5 | 현재 버전. 확장된 슬롯, 더 깔끔한 관리, CLMM 위치 팜을 v6 전용 어댑터를 통해 지원합니다(실제로는 드뭅니다). |
raydium.farm을 단일 인터페이스로 노출합니다 — 버전은 팜 계정의 소유자로부터 추론됩니다. 온체인 통합을 구축할 때 수동으로 디스패치해야 합니다.
주식당 보상 회계처리
팜 프로그램은 DeFi 수익률 계약 전체에서 볼 수 있는 표준 “마스터 셰프” 패턴을 사용합니다:- **
reward_per_share**는 팜 계정에 고정 소수점 카운터로 저장됩니다(v5+에서는 Q64.64, v3에서는 Q56.8). 항상 증가합니다. - **
user.reward_debt**는 사용자의 마지막 상호작용 시점의reward_per_share스냅샷입니다. 사용자가 빚진 채무가 아니라, 향후 누적을 계산하는 데 사용되는 오프셋입니다. Deposit및Withdraw시 팜은 먼저 미지급 보상을 결제합니다(버전에 따라user.pending_reward에 크레딧을 주거나 사용자의 ATA로 직접 전송). 그리고 나서user.reward_debt를 현재 카운터로 업데이트합니다.Harvest시 팜은pending_reward를 지불하고reward_debt를 다시 스냅샷합니다.
Deposit, Withdraw, Harvest, 관리자 업데이트). 활동이 없는 팜은 다음 상호작용 시 닫히는 증가하는 간격을 축적합니다.
스테이킹 민트 vs 보상 민트
스테이킹 민트는 에스크로우에 보관되지만 소각되지 않습니다. 사용자가 100 LP를 스테이킹할 때, 팜은 사용자의 ATA에서 100 LP를 팜의 스테이킹 보관소로 이동합니다.Withdraw 시 팜은 100 LP를 다시 이동합니다. 팜은 풀을 절대 호출하지 않습니다.
보상 민트는 생성자가 미리 자금을 조달한 보관소에서 지불됩니다. 생성자가 팜을 설정할 때, 전체 보상 예산(예: 1,000,000 RAY + 500,000 USDC)을 두 개의 보상 보관소에 입금합니다. 팜 프로그램은 새로운 토큰을 발행하지 않습니다. 단순히 스트림 기간 동안 보관소에 있는 것을 배포할 뿐입니다. 보관소가 end_time 이전에 고갈되면 배출이 중단됩니다.
배출 일정
각 보상 스트림에는 세 가지 시간 매개변수가 있습니다:start_time— 배출이 시작되는 UNIX 타임스탬프입니다. 이 전에는 누적이 없습니다.end_time— 배출이 중단되는 타임스탬프입니다. 이 후에는reward_per_share이 이 스트림으로부터 더 이상 증가하지 않습니다.per_second—start_time ≤ now < end_time동안의 배출 비율입니다.
AddReward / SetRewards를 통해 확장(end_time을 앞으로 이동, 보관소 탑업)할 수 있습니다. RestartRewards를 통해 end_time 후 재시작할 수 있습니다. 관리자 동의 없이는 단축할 수 없습니다.
팜이 아닌 것
- 수수료 배분자가 아닙니다. CPMM과 CLMM은 거래 수수료를 풀 상태로 직접 수집합니다. 팜은 풀 수수료를 건드리지 않습니다. 풀 수수료에서 토큰 홀더로의 유일한 경로는 LP 상환이거나 CLMM의
CollectFee입니다. - 자동이 아닙니다. LP는 팜 보상을 얻으려면 명시적으로 스테이킹해야 합니다. 토큰을 지갑에 두고 있는 LP 홀더는 팜으로부터 아무것도 얻지 못합니다.
- 대체 가능하지 않습니다. 각
UserStake계정은 하나의(farm, user)쌍에 연결됩니다. 먼저 언스테이킹하지 않고는 다른 지갑으로 스테이크를 이전할 수 없습니다. - CLMM 위치와 직접 호환되지 않습니다. 팜 v6은 CLMM 어댑터를 도입했지만, 실제로는 CLMM 풀이 팜 배출보다는 자체 내장 보상 스트림을 사용합니다(
products/clmm/fees참조).
팜이 올바른 도구인 경우
다음을 원할 때 팜을 사용하세요:- 프로젝트의 CPMM 또는 AMM v4 풀 중 하나에 대한 LP 인센티브를 외부 토큰(프로젝트 토큰, 파트너 토큰 등)으로 제공합니다.
- 자신의 계약을 배포하지 않고 단일 자산 민트(클래식 “RAY를 스테이킹, RAY를 얻기”)에서 스테이킹 프로그램을 실행합니다.
- 그 풀에 대한 관리자 접근 권한 없이 기존 풀 위에 추가 보상을 계층화합니다.
챕터 내용
accounts— 버전별 전체 온체인 상태 레이아웃입니다.instructions— 계정 목록과 전/후 조건이 있는 모든 팜 명령어입니다.code-demos— 스테이킹, 수확 및 새 팜 생성을 위한 TypeScript 예제입니다.
다음으로 이동할 곳
products/clmm/fees— 팜 배출을 CLMM의 내장 보상 모델과 비교합니다.reference/program-addresses— 세 가지 팜 프로그램 ID입니다.protocol-overview/versions-and-migration— 각 팜 버전을 사용할 때입니다.
- SDK에 포함된 팜 v6 IDL:
raydium-io/raydium-sdk-V2—src/raydium/farm/아래. - Raydium SDK v2
Farm모듈


