№ II · The Auction
One right, continuously for sale.
There is no auction round, no closing time and no auctioneer. At every block exactly one address holds the board, and at every block anybody may take it from them by paying more.
The right being sold
The leaseholder — the contract calls them the pool's manager — gets exactly one power, and it is worth saying precisely what it is not. They cannot mint, cannot move anybody's tokens, cannot pause the pool, cannot stop a swap, cannot reserve trades for themselves, and cannot touch the liquidity.
What they can do is set the pool's swap fee, within a band the contract will not leave under any circumstance: no lower than 0.01 %, no higher than 3.00 %. Those two numbers are constants in the hook. There is no path — not by vote, not by any privileged caller — that puts the fee outside them.
That is the whole of it. It is a small right and an unusually valuable one, because in an automated market maker the fee is the term on which every single trade happens.
- Set the swap fee, in band
- yes
- Raise their own rent
- yes
- Top up their deposit
- yes
- Block or reserve trades
- no
- Touch pool liquidity
- no
- Refuse a higher bid
- no
- Mint or move $RENT
- no
The lifecycle
A lease has three ways to end and only one way to begin. Every one of them settles what is owed first, so no block is ever held for free and no block is ever charged twice.
How rent is charged
Rent accrues per block and is settled lazily. Nothing runs a timer and nobody has to be paid to keep a clock ticking. The next time the pool is touched — a swap, a bid, a fee change, a deposit top-up, or a permissionless poke — the contract works out how many blocks have passed since it last settled and charges that many blocks of rent out of the deposit.
This matters for a reason that is easy to miss: the rent is charged from a deposit the contract is already holding, not taken out of the trade going through the pool. A swap is never made to carry the leaseholder's bill.
Running out
If the remaining deposit cannot cover one more block, the lease ends at that moment. Whatever is left is returned, the slot goes vacant, and the pool's fee reverts to its default. A holder who wants to stay must top up before that point.
Outbidding
A challenger must name a rent at least the outbid increment above the incumbent's — 5 % at deployment, and never more than 50 % by any vote. A vacant board accepts any positive rent. The deposit posted must cover at least one block of the rent named.
Numbers chosen to show the arithmetic. Not a forecast, not a reading.
- Holder names rent
- 1 000 RENT / block
- Deposit posted
- 100 000 RENT
- Runway if untouched
- 100 blocks
- Held for
- 40 blocks
- Rent charged
- 40 000 RENT
- Deposit returned
- 60 000 RENT
- Minimum bid to take over
- 1 050 RENT / block
Of the 40 000 charged: 28 000 donated to liquidity providers, 10 000 to stakers, 2 000 burned.
Why a self-assessed rent is the point
Nobody appraises the board. The holder declares what it is worth to them, and that declaration is binding in both directions at once: they pay it every block, and they can be removed by anyone willing to pay slightly more.
Understate the value and you are taken out almost immediately by somebody who valued it correctly. Overstate it and you are the one paying the overstatement, block after block, into the pool. There is no comfortable position that is also a cheap one — which is the whole mechanism, and the reason the number on the board tends toward what the right is actually worth.
Nobody has to run anything
The lease costs the protocol nothing to operate. Charging happens inside transactions people were sending anyway, and a pokeRent call that anyone may send is enough to settle a quiet pool or to clear out a holder who has run dry.
The board opens vacant
At the moment the pool comes into existence there is no leaseholder. The fee is the default until somebody bids, and the pool's first block of liquidity is placed in the same transaction that creates it, so there is no window in which the pool exists unfunded.