Skip to content
Open J Tools
Token Staking 1 SOL per pool, 1% of each reward deposit, 0.005 SOL per stake, 0.01 SOL per claimed position Platform fee Open tool

Token Staking

Token Staking runs on Streamflow’s audited staking programs on Solana. A project puts a reward budget into a pool, and the pool pays an equal slice of it out every day, split across everyone staked. Holders stake with no lock or take a bonus lock for a bigger share, and collect whenever they like. Staked tokens sit in the pool’s vault, owned by Streamflow’s program. J Tools never holds them or any key.

Token Staking j.tools/en/tools/token-staking

Open tool

Platform fee

1 SOL per pool, 1% of each reward deposit, 0.005 SOL per stake, 0.01 SOL per claimed position

Unstaking is free. Network fees and rent are separate.

When this tool fits

#when-this-tool-fits
  • You run a token and want to give holders a reason to keep it, with a reward budget you choose and a clear end date.
  • You want holders who lock for longer to earn more, while staking with no lock stays open to everyone.
  • You would rather pay everyone the same fixed APR up to a set capacity. The Same rate for all plan does that.
  • You hold a token that has a Streamflow staking pool, opened on J Tools or anywhere else, and want to stake, collect or withdraw without hunting for the project’s own site.
  • For a one-off payout to today’s holders with no staking at all, Holder Airdrop fits better.

Before you start

#before-you-start
  • A connected wallet (how to connect).
  • To open a pool: the token holders will stake, and the reward budget in that wallet. The reward is the same token by default, or another token such as USDC.
  • Enough SOL for the 1 SOL pool fee, 1% of the budget’s value, network fees and account rent. The summary shows the total under Leaves your wallet.
  • To stake: the token in your wallet, plus 0.005 SOL per stake on top of network fees and rent.

How to use it

#how-to-use-it

The three steps below open a pool. Pick Create staking at the top of the tool to start. Staking as a holder has its own section further down.

  1. Pick the token and the budget

    Under 1 · Token to stake, pick the token with the token selector. Leave Reward token on Same token or switch to Another token. Under 2 · Pick a plan, choose Quick start, Balanced, Long term or Same rate for all. Then, under 3 · Fine-tune, enter the Reward budget (with 25%, 50% and Max of your balance) and pick how long it is Paid out over. The page shows the daily payout, for example “10,000 TOKEN goes out every day”, in equal slices with the first one tomorrow.

  2. Set the bonus lock

    Staking with no lock always stays open. Turn on Lock bonus to let holders who lock count for more of the daily payout, and pick the Most a lock can reach: up to 2x, 3x or 5x. The bars under the switch show the multiplier for each lock length. Open More options to add a Withdrawal wait, set a shorter Longest lock or type an Example total stake for the example APR.

  3. Sign and share

    Check the summary on the right: the Example APR, the fees and Leaves your wallet. Press Open pool and approve two signatures, the pool first and then the reward budget. Your pool is open comes up with the pool link, ready to copy or post on X and Telegram.

Plans

#plans

Every plan can be fine-tuned after you pick it, and Back to plan restores its defaults. The first three share one budget, so their APR comes from how much is staked. Same rate for all pays a fixed APR instead.

PlanHow it paysPaid out overLock bonus
Quick startShared budget30 daysNone
BalancedShared budget90 daysUp to 2x at a 90-day lock
Long term (recommended)Shared budget180 daysUp to 3x at a 180-day lock
Same rate for allFixed rate, up to a capacityOne lock for everyone, 90 days to startNone, everyone earns the same

Fine-tune options

#fine-tune-options

Shared budget plans

  • Reward budget: What the pool pays out in total, in the reward token. Your balance is shown, with 25%, 50% and Max buttons.
  • Paid out over: 30, 90, 180 or 365 days, or Custom from 1 to 3,650 days. The budget goes out in equal daily slices over this time, starting tomorrow, and the pool ends on the last day.
  • Lock bonus: On or off. Off means every stake counts the same.
  • Most: The top multiplier, up to 2x, 3x or 5x. It grows in a straight line from 1x with no lock to the top value at the longest lock. With up to 3x at 180 days, a 30-day lock counts 1.33x and a 90-day lock 2x.
  • Withdrawal wait: Under More options. None, 1, 3 or 7 days between asking to withdraw and getting the tokens back.
  • Longest lock: Under More options. The lock that reaches the top multiplier. It never runs past the pool’s end and can be shorter than the pool.
  • Example total stake: Under More options. Used only for the example APR in the summary. The real APR follows what is actually staked.

Same rate for all

  • Capacity: The most that can be staked in total. New stakes stop once it is full.
  • APR for everyone: The rate every staker earns.
  • Lock for everyone: 30, 90, 180 or 365 days, or Custom. At least 7 days. Each stake is locked for this long and comes back on its own when the lock ends.
  • Budget needed: With the same token as reward, the page works out the budget: capacity x APR x (days + 2) / 365. A 2,000,000 capacity at 20% for 90 days needs 100,822 tokens. With another reward token you enter the budget and the page shows the APR it buys.

The withdrawal wait applies to shared pools. A same-rate pool returns each stake when its lock ends.

Lock with up to 3x at 180 daysCounts as
No lock1x
30 days1.33x
90 days2x
180 days3x

APR is a result

#apr-is-a-result

A shared pool has no set rate. Its APR is one day’s release, times 365, divided by everything staked in the pool. Locked stake counts with its multiplier.

  • With 10,000 tokens released a day and 18.6M counted stake, the APR is 19.6%.
  • When more people stake, each share of the daily slice gets smaller and the APR falls. When people leave, it rises.
  • Locking raises your share by your multiplier. In a pool with up to 3x, a 90-day lock doubles it.
  • APY assumes you restake every day.
  • A shared pool pays out only what its budget holds, one equal slice a day. It ends on its end date and never owes more.

Before the pool opens, the summary shows an Example APR worked out from the Example total stake, plus what the longest lock would earn (“lock for up to”).

Share the pool

#share-the-pool

Every pool has its own link, https://j.tools/en/tools/token-staking?pool=<pool address>, which opens its pool page.

  • Right after Open pool, Your pool is open shows the share panel.
  • Later, press Share on any pool page.
  • Copy link, Post on X, Telegram and, on phones, More ways to share for the system share sheet.
  • Post text holds a ready-made line, such as “Stake TOKEN and collect a share of 10,000 TOKEN every day.” Edit it before you post.
  • A shared link unfurls with the pool’s card: APR, daily reward and time left, read from the chain.

Manage a pool

#manage-a-pool

Only the wallet that controls the pool sees the Manage tab on its pool page. You also reach it from My stakes, under Pools you opened, with Manage.

  • Add to the budget: Put more into a reward program with Add budget. In a shared program it is spread over the days it has left. In a same-rate program it covers the same rate for more stakers. Fee: 1% of the value.
  • Add a reward token: Pay holders in a second token, such as USDC, on top of the current rewards. Pick the token, enter a budget and the days, which must fit before the pool ends, then press Add reward. The same 1% fee applies.
  • Take back what is left: Same-rate programs only. Once every staker is paid, Take back returns the rest to your wallet. It opens after the pool’s end, its longest lock and a short grace period, and the page shows the date.

Stake as a holder

#stake-as-a-holder
  1. Open the tool. It starts on the pool list, which shows every Streamflow staking pool on Solana that has a reward pool, not only pools opened on J Tools. Filter by All, No lock, Bonus or New, use Search token, or sort by Total staked, Highest APR or Ending soon. A pool link a project shared opens its pool page directly.
  2. On the pool page, the header shows the APR now, how high a lock can take it, Total staked, Stakers, Daily reward and the Reward program bar with what is paid out, what is left and the days left. The Earnings chart projects your rewards over 30, 60 or 90 days or to the pool’s end, with a dashed line for the longest lock.
  3. On the Stake tab, enter the Amount to stake (25%, 50% or Max) and pick a Bonus lock if you want one: No lock, or a lock with its APR and multiplier. Estimated per day shows what you would earn.
  4. Press Stake and sign. A stake costs 0.005 SOL plus network fee and rent, and you get a receipt token for it.
  5. On Your positions, Waiting rewards shows what has built up. Collect claims it, up to 10 positions at once, for 0.01 SOL per position.
  6. Withdraw a position once its lock has ended. It is free, and rewards still waiting are collected first at the collect fee. In a pool with a withdrawal wait, press Start withdrawal first and finish once the wait is over.
  7. Add stakes more. Lock moves a no-lock position into a lock for a bonus: the page withdraws it first (free) and stakes it again with the lock you pick, under Withdraw and lock.
  8. The rent paid for each stake entry comes back when it closes.

My stakes lists every pool where your wallet has positions, with what is staked and waiting in each, plus the pools you opened.

Fees and costs

#fees-and-costs

Each J Tools fee is a SOL transfer inside the transaction you sign.

CostAmount
J Tools platform fee, opening a pool1 SOL
J Tools platform fee, each reward deposit1% of its value in SOL, for the first budget, every top-up and every added reward token; a flat 0.05 SOL when the token has no market price
J Tools platform fee, a stake0.005 SOL
J Tools platform fee, collecting0.01 SOL per position
J Tools platform fee, withdrawingFree. Rewards still waiting are collected first, at the usual collect fee
Streamflow feeStreamflow’s own fee, in the reward token and shown before you sign. A shared pool takes it from each daily release; a same-rate pool pays it on top of the budget
Solana network feePaid to validators; shown in the live summary.
Account rentDeposits for the new on-chain accounts. The rent for a stake entry comes back when it closes.

How it works

#how-it-works

Three Streamflow programs hold the pool and its rewards. You can look each one up on an explorer.

ProgramAddress
Stake poolSTAKEvGqQTtzJZH6BWDcbpzXXn2BBerPAgQ3EGLN2GH
Fixed reward pool (Same rate for all)RWRDdfRbi3339VgKxTAXg4cjyniF7cbhNbMxZWiSKmj
Dynamic reward pool (Shared budget)RWRDyfZa6Rk9UYi85yjYYfGmoUqffLqjo6vZdFawEez

A stake moves your tokens into the pool’s vault, which the stake pool program owns, and puts a receipt token in your wallet. Withdrawing burns that receipt token and sends the tokens back. In a shared pool the budget sits in the reward pool and goes out one slice a day, split by boosted stake. In a same-rate pool, Streamflow’s worker closes each position when its lock ends, so the budget always covers what was promised.

J Tools builds each transaction and your wallet signs it. The tokens never pass through a J Tools account, and J Tools holds no key that could move them.

FAQ

#faq
Who holds my tokens while they are staked? The pool's vault, an account owned by Streamflow's staking program.

The pool’s vault, an account owned by Streamflow’s staking program. J Tools never holds them or a key to them. Your wallet gets a receipt token for the stake, which the program burns when you withdraw.

Why does the APR keep changing? In a shared pool, the daily slice is fixed and the stake is not.

In a shared pool, the daily slice is fixed and the stake is not. APR is one day’s release times 365, divided by everything staked (locked stake with its multiplier), so it falls as people join and rises as they leave. A Same rate for all pool pays the rate you see for every full day you stay staked.

Can the pool run out? A shared pool pays out only what its budget holds, one equal slice a day, so it ends on its end date and never owes more.

A shared pool pays out only what its budget holds, one equal slice a day, so it ends on its end date and never owes more. A same-rate pool caps total stake at what the budget can pay for the full lock, and Streamflow’s worker closes each position when its lock ends. While the pool runs, its owner can add budget from Manage.

Do I have to lock my tokens? No.

No. In a shared pool you can stake with no lock and withdraw any time, for free. A bonus lock raises your share, but you cannot withdraw before it ends. Some pools add a withdrawal wait after you ask. A same-rate pool locks every stake for its one lock length.

Can I pay rewards in another token? Yes.

Yes. Pick Another token under Reward token when you open the pool, or add a second reward token later from Manage. With a different reward token, the APR depends on both tokens’ market prices.

Can I stake in pools made elsewhere? Yes.

Yes. The pool list shows every Streamflow staking pool on Solana that has a reward pool, wherever it was made. Pools that need a governance vote before claiming show as unsupported.

Before you sign

#before-you-sign

Read the summary: Leaves your wallet in SOL and in the reward token, the J Tools fees, Streamflow’s fee and the account rent. On a stake, check the lock, because you cannot withdraw before it ends. The app is the current source of truth for amount, fee and route.

Common issues

#common-issues
  • Pool is full. A same-rate pool reached its capacity. Try a smaller amount or another pool.
  • This pool has ended. It takes no new stakes. If you staked there, you can still collect and withdraw.
  • Lock runs past the pool’s end. Rewards stop when the pool ends, so pick a shorter lock.
  • Lock too short. A same-rate pool needs a lock of at least 7 days.
  • Token not supported. Tokens with a transfer fee, a transfer hook or no transfers cannot be staked here yet.
  • Rate too small. The budget is too small for this capacity, so the daily rate rounds to zero. Raise the budget or lower the capacity.
  • No market price. One of the tokens has no market price, so the APR cannot be worked out. Use the same token for stake and reward, or try later.
  • Still locked. The position is locked until the date shown.
  • Start the withdrawal first. The pool has a withdrawal wait. Press Start withdrawal.
  • Waiting period running. Withdraw when the countdown ends.
  • Nothing to collect yet. No reward has reached the position since the last collection. Collect after the next daily release.
  • Reward budget is out. The pool cannot pay this reward right now. Your stake is safe and you can withdraw it.
  • Needs a governance vote. That reward asks for a vote before claiming. Claim it from the project’s own app.
  • Not your pool. Only the wallet that runs the pool can change it.
  • Too early to take back. Leftover rewards come back only after every position that could still earn has ended.
  • The pool ends too soon. There are not enough days left to add a reward token.

Practical tips

#practical-tips
  • Start with the same token as reward. The APR then needs no market price, and the same-rate plan can size the budget for you.
  • Set a shorter longest lock if you want late stakers to reach the top. A lock never runs past the pool’s end, so near the end nobody can lock long enough for the top multiplier unless the longest lock is shorter than the pool.
  • Use the example total stake. Type the stake you expect and read the Example APR before you sign, so the number you announce is realistic.
  • Share the link with the launch. Holders land on the pool itself instead of searching the list for it.
#related-tools

Help

#help

The tool on this page

Token Staking

j.tools/en/tools/token-staking

Platform fee
1 SOL per pool, 1% of each reward deposit, 0.005 SOL per stake, 0.01 SOL per claimed position
Unstaking is free. Network fees and rent are separate.
Open tool