The Keeper
The service that collects your pool fees for you — how often it runs, when it decides to collect, what it costs, and why you are never dependent on it.
The Keeper is the piece of Runitup that gets creators paid without anybody pressing a button.
It exists because of a plain fact about AMMs: a pool never pushes fees out on its own. Trading fees accrue inside the liquidity position as an uncollected balance and stay there, indefinitely, until something calls a collect function. That is true of Uniswap everywhere, not something specific to this platform.
The problem it solves
Before the Keeper, the only way to move those fees was a button on My Launches — a page that shows a wallet the tokens it created. That worked right up until the wallet was not around to press it:
- A creator who lost access to their wallet had fees nobody could release.
- A token handed to a community takeover team had fees the new owners could not trigger.
In both cases the money was not lost — it was sitting in the pool, correctly, with no one able to move it. The Keeper closes that gap by sweeping every pool on a schedule, and paying out to whoever the recipients are at that moment.
How it works
Every hour, for each launched pool, the Keeper:
- Asks what is uncollected. This needs no transaction — it simulates the adapter's collect call as a read, which reports exactly what a real collection would move and changes nothing.
- Values both sides in dollars. A pool accrues fees in the quote asset and in the token itself (see what you are actually paid in), so both are priced and added.
- Decides whether it is worth moving, using the rules below.
- Collects if so. The proceeds split 75 / 25 and land in wallets in the same transaction.
When it decides to collect
| Condition | Why it exists |
|---|---|
| More than $10 uncollected | The ordinary case. Collection costs gas; this makes sure it is worth spending. |
| More than $0.25, uncollected for 14 days | The safety net, so a coin that goes quiet at $3 still gets paid instead of being stranded forever. |
At the 1% fee tier, $10 of fees means $1,000 of trading volume. A busy coin clears that several times a day and is paid several times a day. A quiet one is paid on the 14-day rule.
The hourly schedule — not the threshold — is what bounds the cost. However much a pool trades, it can be swept at most 24 times a day.
What it costs, and why that is the platform's problem
One collection is about 283,557 gas, which on Robinhood Chain at 0.0388 gwei is roughly $0.028. Against that, the platform's 25% of a $10 sweep is $2.50. Collection is meant to pay for itself by a wide margin, and the threshold is what keeps it that way.
Why the threshold is measured in dollars
It was not always. An earlier version compared raw token amounts against a dollar figure, which on an 18-decimal ETH quote made the $10 threshold equivalent to about 0.000000025 dollars — so every pool with any uncollected fee at all swept every hour, forever, to move fractions of a cent.
It was corrected in August 2026, and the valuation now runs in integer micro-dollars with a test that covers it. It is documented here rather than quietly fixed because it explains why this page is specific about units: the same number means very different things at 6 decimals and at 18.
When it cannot price something
If a pool's quote asset has no known dollar rate, the Keeper does not guess and does not treat it as zero. It skips the value test and falls back to the time-based rule alone, so those fees are collected on a slower clock rather than either swept as dust or stranded. "Unknown" and "nothing" are different answers and are handled differently.
You are not dependent on it
This is the part worth internalising: the Keeper is a convenience, not a gatekeeper.
Collecting fees is permissionless — the contract lets anyone trigger it, not just us. If the Keeper stopped running tomorrow and was never restarted:
- Your fees keep accruing in the pool exactly as before. Nothing is lost.
- Collect pool fees on My Launches still works, at any amount, with no threshold. You pay the network fee instead of us.
- Anyone else could collect on your behalf too, and the money would still go to you — the recipients are set by the contract, not by whoever calls it.
The Keeper cannot pay itself, cannot take a different cut, and cannot hold your money. It calls the same function you can call.
Your share is paid immediately; the platform's waits
A collection pays a creator straight away, in whatever the pool earned — some of the quote asset, some of the coin. Nothing is held and there is nothing to claim.
The platform's own 25% works differently since September 2026, and the difference is a security fix rather than a policy. It used to be sold for WETH inside the collection call, with no minimum price, from a function anybody could trigger. That let somebody move the price, trigger a collection, and buy back — an attack measured at a 95.9% loss on the fees involved.
So collection no longer sells anything. The platform's share is recorded as owed, and a separate step sells it afterwards: only the platform can start that sale, and it reverts if the price comes in under a floor stated up front. Both halves matter. Not choosing the moment is what stops the attack being set up, and the floor is what stops a moved price being filled.
None of this touches a creator's 75%, which is paid in kind and never swapped. What you are owed does not depend on the platform's sale succeeding.
What it does not do
Advanced tokens are not swept, and do not need to be. Their tax splits on every trade as the trade happens, so there is never a pending balance sitting in a position waiting for someone to collect it. The Keeper only handles Quick Launch pools, which are the ones with a locked liquidity position that accrues.
If the Keeper and you collect at once
Nothing breaks. Fees exist once. If you collect a moment before a sweep runs, the sweep finds nothing left in your pool and skips it. There is no way to be paid twice, and no way for the two to interfere.
