RNBW.wiki
🇬🇧
🇷🇺Русский 🇬🇧English 🇪🇸Español 🇨🇳中文 🇩🇪Deutsch

RNBW staking

You lock tokens in the contract and your share grows. Below: what it pays right now, where those percentages really come from, and what exiting costs. Everything is computed from the blockchain and refreshes every minute.

…the pool’s average yield over the last 30 days
…the pool’s current yieldthe contract’s rewardRate · after a large exit it holds for seven days, until all the undistributedFees on hand have been distributed
…RNBW in the pooltotalPooledRnbw
…RNBW a dayspread across all stakers

Staking TVL

Pool size by day since the contract's first day. Every point is a direct totalPooledRnbw() call to the blockchain at a historical block; two independent nodes returned the same result.

Forecast:

The dashed line is plain arithmetic: it continues the pool at the same gain in tokens as over the last 30 days. The pace depends on how many people enter and leave, and that changes within a week; the line promises nothing about the future.

Show every staking entry

Every staking entry in the whole history, since 31 March. Exits are in their own table below, where the fee withheld is worked out for each one. The exact entry count is shown under the table and updates itself. Addresses and hashes open in Basescan. The history is split into chunks of 250 events, and the browser only fetches the page being shown — about 13 KB instead of a megabyte.

Growth was not continuous. The contract has been running for … days, and on roughly every eighth of them the pool shrank — days when exits outweighed entries. The sharp rise in April was the start of the allocation programme: in two weeks the pool went from 200 thousand to 5.7 million.

Undistributed fees right now

This is what already sits in the contract and is being handed to everyone still in the pool. The value is live: it updates from contract events rather than being typed into the page by hand.

…RNBW queued for distributionwithheld from those who left staking, handed out evenly over seven days
…RNBW handed out per daysplit among everyone in the pool
…days the drip will lastat the current drip rate
…RNBW in the cashback reservea separate pocket

Why undistributed fees are always small. They do not accumulate: each new exit fee restarts the seven-day drip, and the coins go out evenly to everyone who stayed. Two or three days of reserve is how the thing normally runs, not a sign that the money is running out. They are refilled only by exits: the more people leave, the more accumulates and the higher the yield for those who stay.

The cashback reserve is a different thing. It pays the refund of swap fees, not staking interest, and the team refills it. Both pockets usually hold less than a couple of days' worth, so payouts rest on regular top-ups rather than on savings.

Yield across the whole history

The annual rate computed from what was actually paid out, not from promises. The two lines answer different questions: the monthly one shows where things are heading, the instantaneous one shows how much the contract is handing out right now. Both rise on exits and fall on entries: rewards are split among everyone in the pool.

The blue line is the 30-day window: how much a share grew over a month, annualised. The green one is the contract's instantaneous rate: it is stepped, jumps on every large exit and settles back over seven days as the withheld amount drains. It is not a promise.

The first weeks are not worth reading. In April the pool held a few hundred thousand tokens against the same allocations, so the annualised rate came out in three digits. That is a property of a small denominator, not a yield anyone could have counted on. Look at the monthly line over recent months.

The series is reconstructed from the history of exit fees and daily pool size. Served as /api/apr.json: columns for 7, 30 and 90 days.

How much RNBW is waiting to be handed out

Undistributed fees are what was withheld from people leaving and the contract has not handed out yet. They are not released at once: coins drip into the pool at a constant speed, and while they drip the share price rises for everyone at the same time. That is why the figure keeps moving — other people's exits top it up, the drip wears it down.

Show all exits from staking

Every exit in the whole history. The "What happened" column is not our guess: the contract state was read at the block before the exit and at the block of the exit, and the comparison gives the answer. Large exits that raised the rate for everyone are a handful here — the rest only extended the term.

Not every exit speeds up the drip — this is the key thing to understand. The contract recalculates the speed only if "undistributed fees divided by seven days" come out higher than the current speed: then it goes up and the seven-day window starts over. A small fee does not touch the speed at all — it only extends how long the speed will last. In the code this is a guard: rewardRate can only stay flat or increase. Without it anyone could exit in tiny slices and knock everyone else's yield down with each one.

How much you would have to withdraw for the speed to be recalculated. Right now — about … RNBW. The figure is not fixed: while no large holder leaves, the undistributed amount shrinks and the threshold climbs hour by hour. For comparison, the largest exit among the last 245 was 460,126 RNBW — so on ordinary days the speed stands still and only the duration changes.

What it means when there is nothing left to hand out. When the drip window runs out, the remainder goes into the pool at once, the speed drops to zero, and the next exit sets it again — from its own size this time. That is why the yield here is not smooth: it jumps up on rare large exits and settles while the undistributed amount shrinks. The teeth on the chart are exactly that.

The series was reconstructed with archive undistributedFees() calls on historical blocks, one point an hour, and the collector continues it. Served as /api/pothist.json. The mechanics were verified against the contract's source code, function _addFees.

A deep dive: the distribution windowWhy three large exits in a row do not add up to twenty-one days, and why a small exit near the end of the window extends distribution by almost a week. With diagrams, step by step through the contract.

How much RNBW the whole pool gets in each block

Base produces a block every two seconds, and the contract accrues continuously — so every block adds the same amount to the pool until the rate changes. The chart shows that amount across the contract's whole life, hour by hour. The steps are entries and exits: the rate is recalculated at each one.

in the pool now … added every 2 seconds …

The value on the chart is what gets added to every token in the contract at once over two seconds. Your part of it is exactly the part your position is of the pool: divide your amount by the pool size and multiply by the height.

The rate was zero for the first weeks. The contract started on 31 March 2026 and the drip began in April — before that there was nothing to accrue. On the all-time chart you can see it as a flat line at zero at the very start.

Cashback from fees

Rainbow returns part of the swap fee — from 10% on the lowest tier to 100% on the highest. The smart contract puts the RNBW into the pool and immediately issues the recipient a share of the total pool. The chart shows how much was allocated per day.

Cashback is personal; stakers’ income is shared — and it comes from exits. A cashback allocation mints shares exactly in proportion — sharesToMint = rnbwCashback × totalShares / totalPooledRnbw — so the share price does not move: the pool grows, and the growth belongs to whoever was credited.

It works like this: when any staker leaves, 10% of their whole position stays in the pool and drips evenly to everyone who remains for seven days. That does move the share price, so it reaches everyone in the pool. The more people leave, the higher your yield — and it is the pool’s only income.

The Basic tier works without staking too — but the payout path differs. The Rainbow app shows five tiers, and the lowest one, Basic, states plainly in its card: “Stake to unlock: 0 RNBW” with 10% cashback. So the 10% rate is the same whether you stake or not. Only the way it reaches you differs, and that is a property of the contract, not of the tier:

— no stake at all: the contract refuses (if (shares[user] == 0) revert NoStakePosition) and Rainbow pays by a direct transfer from a separate contract, RNBWRewards. The coins land on the address and never enter the pool. Those payouts are not in the table below.
— any amount staked: the contract puts RNBW into the pool and mints the recipient shares. Those rows are in the table, marked Basic. Verified: an allocation goes through at a position of 1.005 RNBW — there is no minimum.

The split is absolute, with no exceptions: we read the staking position of every direct-transfer recipient at the block of the payout itself — all seventy-nine had exactly zero. Hence a consequence for this table: it holds fewer recipients than Rainbow has cashback users. Those who do not stake get their 10% past the pool, and they are invisible here.

Show every cashback allocation

Series: CashbackAllocated events of the staking contract 0x288ea8Bcb51d53aD361D786EFa904C401904aF70. Allocations come in batches: the backend signs and sends what has accumulated every five minutes — 98% of them land exactly on a five-minute mark, and a single transaction can carry up to thirty. What exactly it was earned for is not recorded on chain: the event carries only the address and the amount. All times in tables and charts are UTC.

Number of addresses in each tier

The tier is set by the size of the position: the more RNBW staked, the larger the share of the fee that comes back. Click the number of addresses to see the list. The thresholds are taken from the app — the contract knows nothing about tiers and simply credits the amount the backend signed. Each chart has its own scale: compare the shape of the line, not its height. The horizontal axis is time since the contract's first day, the vertical one is how many addresses were on that tier that day.

The table is computed from the current positions of every address with an open stake: the contract is read directly, one call per fifty addresses.

Where this yield comes from

There is one source, and that matters more than the figure itself. Everything that makes your position bigger comes from undistributed fees — and from nowhere else.

01

Exit fees are the pool’s only income

Whoever leaves gives up 10% of the whole position. Those coins land in undistributed fees and drip evenly to everyone who stayed for exactly seven days: you get no extra shares, each share simply becomes worth more. It is a reshuffle inside the pool — not a single coin is taken off the market. Over the whole history that has collected 1,212,973 RNBW, about 2.4 million a year.

02

Allocations from the project go past the pool

Cashback and project-funded staking also put RNBW into the pool, but the contract immediately mints the recipient shares exactly in proportion to the coins added. The ratio does not change, so the share price does not move at all. 7,425,873 RNBW has been handed out this way to 1,912 addresses — but that is a gift to one recipient, not income for the other stakers.

Hence the main consequence. The yield here rests on how many people leave. More exits mean a higher rate for those who stay; if exits dry up the yield goes to zero, however much cashback the project hands out. That is why the rate swings: … over a week against … over three months.

What backs the cashback. Of the 7,122,135 RNBW that passed through the admin Safe, 3,237,348 was bought on the market — that is 45%. The rest came from the treasury and old reserves. It does not affect the pool’s yield, but it shows what the project pays for the programme with.

Why the yield levels itself out

This staking has a feedback loop built in, and it explains why the yield figure jumps around so much. Rewards are split among everyone inside, so the pool size sits in the denominator. From there, three forces push the rate in different directions.

01

Inflow lowers the rate

When new tokens enter the pool while the reward stream stays the same, each RNBW gets less. Nothing is broken — the same pie is simply divided among more mouths.

02

Outflow raises it twice over

Whoever leaves gives up 10% of the whole position. Those coins go to those who stayed — the numerator rises. At the same time the pool shrinks by the entire departed position — the denominator falls. Two moves in the same direction, which is why a neighbour's exit is felt more than an arrival.

03

A high rate attracts inflow again

And the circle closes. That is why the yield here oscillates around some level rather than holding steady: … now against … on a monthly average.

Order of magnitude. With the pool at … RNBW, 5% of the pool by volume leaving would drop about 119 thousand tokens into the contract. For those who stayed that is roughly 0.53% over a week while the fee is dripping out — around 27% a year on top of the usual rate. A 10% exodus would give twice that. The figure is substantial on its own, and it is what makes the yield chart jagged.

Who pays for it. The mechanism creates nothing: an exit fee is a transfer from the leaver's pocket into the stayer's, coin for coin. A long-term holder really does receive extra RNBW at the expense of those who exit — but exactly in the amount they lose. The total number of tokens in circulation does not change, so this is no reason to expect the price to rise: the benefit is redistributive, not monetary.

And the flip side. The same mechanism means that the calmer participants behave, the less the first source pays. If everyone ever became a long-term holder, exit fees would go to zero and only the project's transfers would remain — and it is not obliged to make them. You cannot treat "yield from other people's churn" as a constant: it exists as long as the churn does.

What to know before entering

01

You can only exit with the whole position

Partial withdrawal is disabled — allowPartialUnstake returns false. You cannot take out a part, only everything at once.

02

Exiting costs 10% of the whole amount

Including what accrued, not just the profit. exitFeeBps equals 1000, and rounding goes up in the protocol's favour.

03

Compounding exists, but time is not what triggers it

The drip by itself adds a constant amount to the pool every second — from it, growth is linear. There is nothing to reinvest by hand either: your number of shares does not change, their price does.

Exit fees, though, are divided by share value — and by that point your share has already grown on earlier accruals. So what you earned starts earning on its own, without a single action from you. That is compounding, except it is driven by other people's exits rather than the calendar: why it works that way.

04

Income is in tokens, not in dollars

The pool grows in RNBW. If the price falls further than the interest accrues, the dollar result is negative.

05

One address signs the project's allocations

trustedSignerCount equals one. The second branch of rewards depends on a backend, not only on the contract code: that is both a point of trust and a point of failure.

How common this is

…of RNBW holders stake… addresses out of …
…of circulating supply locked in the pool… out of …

How to check it yourself

The contract 0x288ea8Bcb51d53aD361D786EFa904C401904aF70 on Base, with verified source. Nothing written above requires taking our word for it.

What to look atContract function
pool sizetotalPooledRnbw()
rate at which exit fees are handed outrewardRate(), undistributedFees()
reserve for the project's allocationscashbackReserve()
size of the exit penaltyexitFeeBps()
whether partial exit is allowedallowPartialUnstake()
how many trusted signers there aretrustedSignerCount()
your positionshares(address), getPosition(address)

Where tokens move between the project's addresses — on the Flows page. The live state of the contract — on the dashboard.