Raydium farms: Harvest is not a Streamflow lock logoRaydium farms: Harvest is not a Streamflow lock
Receiving a whitelist is not a claim. Accrual is automatic. Payout is an explicit tx.
devrels.xyz/a/339Raydium farms pay emission rewards to whoever is staked. Streamflow Token Lock holds tokens until a date. Those are different programs. If an LP or stonk sits in a Streamflow escrow PDA, and Raydium lets that PDA onto a farm so a UserLedger can exist, pending can still grow. Nothing pays out until someone calls the farm as that staker.
Farm instructions: docs.raydium.io/products/farm-staking/instructions. Overview: farm-staking/overview. Streamflow lock: Token Lock. Burn and Earn: user-flows/burn-and-earn. Program IDs stay on Raydium programs. SDK/API v3 stays on AMM, CLMM, LaunchLab.
Accrual is not payout
A farm is emission-based, not fee-based. The pool does not know the farm exists. LP in a wallet earns nothing. Each staker has a ledger per farm. Reward-per-share is lazy: it updates on Deposit, Withdraw, Harvest, or admin. Pending sits on that ledger until a claim ix runs.
v6 claim-only is Harvest. v3 and v5 have no Harvest. Claim without changing stake is Deposit with amount = 0. v6 forbids amount 0 on Deposit. The user account is a signer. Rewards go to user_reward_ata for that user. If the staker is a PDA, that call is a CPI from a program that holds the PDA seeds. Raydium docs do not list Streamflow, and they do not document a Harvest destination override.
Why Streamflow lock does not distribute farm rewards
Streamflow Token Lock sends tokens to a contract until the unlock time. They cannot be moved, accessed, or unlocked early. The lock guide is for LP trust, not farms. Its own screenshot note: if LP is staked in a farm, unstake first so it shows in the lock UI. There is no built-in Raydium Harvest CPI on that page.
Usual failure: LP or stonk moves into the lock/stream escrow PDA. Someone allows that PDA as the farm user so a ledger exists and pending grows. Nobody ever Harvests as that PDA. Rewards sit until unlock, if a manual path even exists then. Receiving a whitelist is not a claim.
Burn and Earn is the LP-lock product
Burn and Earn permanently locks CPMM LP or a full-range CLMM position in Raydium's lock program. Liquidity never comes out. A Fee Key NFT holder calls collectFees. That is trading fees, not farm emissions. AMM v4 is not supported. Losing the NFT loses the fees. LaunchLab uses this lock under the hood. StonkFun launches through LaunchLab and locks LP here. Operator wallet is not a program. Same as the programs piece.
What to ask before mixing farm + Streamflow
If the goal is rug-proof LP plus trading fees, use Burn and Earn, not Streamflow, for the LP. If the goal is farm emissions while locked, Streamflow lock alone is the wrong primitive unless a program you control can sign Harvest for that PDA. Get these in writing:
- Who is the farm user pubkey after the PDA is allowed on?
- Who can sign Harvest (v6) or Deposit 0 (v3/v5)?
- Which ATA receives each reward mint?
- Is there a documented claim ix or keeper that CPIs as that PDA?
Without those four, assume rewards accrue on-chain and stay unclaimable for the whole lock. CLMM built-in reward streams are a different path (in-range positions, no farm stake). Do not treat them as Harvest.
Keep reading
Same lock mental model as Streamflow token locks — but for a single Metaplex NFT: commit the hold, pick who receives it at unlock, default immutable.
Prepare returns an unsigned payment transaction. Sign it locally. Submit. Poll the payment signature. Never pay twice.
Six executable programs. StonkFun operator wallet is not a program. bonk.fun is a LaunchLab platform UI. Keep the SDK/API v3 piece.
Get new articles in your inbox
Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.
