이 페이지는 AI 자동 번역입니다. 모든 내용은 영문판을 기준으로 합니다.영문판 보기 →
세 개의 프로그램, 세 가지 스키마. Farm v3, v5, v6은 각각 별개의 프로그램으로 상태 레이아웃이 다릅니다. 이 페이지에서는 각 버전을 나란히 설명합니다. 실제로는 대부분의 새 통합이 v6을 대상으로 하며, v3와 v5는 대부분의 통합자에게 읽기 전용입니다(스테이킹이 훨씬 전에 완료되었고 풀이 폐지 단계에 있습니다).
계정 목록 (각 farm, 모든 버전)
SDK는
raydium.api.fetchFarmInfoById({ ids })에서 표시 수준 뷰를, raydium.api.fetchFarmKeysById({ ids })에서 원시 계정 키 — 권한, LP 볼트, 슬롯별 보상 볼트 — 를 반환합니다. (raydium.farm.getFarmById는 존재하지 않습니다.) 동일한 데이터는 HTTP GET https://api-v3.raydium.io/main/farms/info?ids=<FARM_ID>로도 이용할 수 있습니다.
FarmState 레이아웃 — v6
v6은 현재 버전입니다. 가장 일반적인 계정 구조를 가지고 있습니다.
staking_mint,staking_vault— 스테이킹되는 토큰과 보관 위치.total_staked— 현재 총량. APR 계산에 필요:reward_per_second × 86400 / total_staked.reward_infos[i].emission_per_second_x64— Q64.64 형식의 율. 참 초당 토큰 수를 얻으려면2^64로 나눕니다.reward_infos[i].open_time/end_time— UI “X일 남음” 표시용.reward_infos[i].reward_per_share_x64—UserLedger부채가 차감되는 카운터.
FarmState 레이아웃 — v5
- 초당 단위 아님, 슬롯 단위. v5의 업데이트 루프는 실시간 시계가 아닌 슬롯 단위로 실행됩니다. SDK는 UI용으로 이를 “초당”으로 정규화하지만 온체인 단위는 슬롯입니다.
- 정수 발행률.
reward_per_second는u64입니다. 이는 최소 표현 가능 율을 초당 1 단위로 제한하며, 이는 9자리 민트의 저배출 스트림에는 너무 거친 단위입니다. v6은 Q64.64 율로 이를 해결했습니다. reward_sender없음. v5에서는 소유자가 암묵적 발신자이며, 오직owner만 보충할 수 있습니다.
FarmState 레이아웃 — v3
UserLedger (v6) / UserStake (v5/v3)
사용자별 상태, (farm, user) 쌍당 하나의 계정. 시드된 PDA:
Deposit, Withdraw, 또는 Harvest 후, 부채는 현재 deposited × reward_per_share_x64[i] / 2^64로 재설정됩니다.
권한 PDA
금고
스테이킹 및 보상 금고는owner가 farm 권한 PDA인 표준 SPL Token 계정입니다. 주소는 FarmState에 저장됩니다 — 다시 파생하지 마세요, 상태에서 읽으세요. 동결 권한은 v5/v6의 스테이킹 민트에서 비활성화되어야 합니다(프로그램이 확인합니다).
Token-2022 참고:
- v3: SPL Token만 해당.
- v5: SPL Token만 해당.
- v6:
staking_token_program/reward_token_program필드를 기반으로 스테이킹 및 보상 민트 모두에서 Token-2022를 지원합니다. Token-2022 보상 민트의 전송 수수료는 발행 시 청구됩니다(금고 → 사용자).
관찰 및 APR
Farm은 온체인에 APR을 저장하지 않습니다. 계산하려면:staking_mint_usd_price를 가져옵니다(api-v3.raydium.io/pools/info/ids 경유) 그리고 reward_usd_price를 임의의 가격 오라클에서 가져옵니다.
다음 단계
products/farm-staking/instructions— 버전별 명령어 참조.products/farm-staking/code-demos— SDK를 통한 스테이킹, 수확 및 farm 생성.reference/program-addresses— 세 프로그램 ID 모두.
- Raydium SDK v2
Farm모듈 - Farm v6 프로그램 소스는 현재 독립 실행형 리포지토리로 공개되지 않으며, IDL은
raydium-io/raydium-sdk-V2의 SDK에 번들되어 있습니다(src/raydium/farm/아래).

