The Spire only grows.
A tower you build by buying, and collect rent on by holding.
Every number below is written into the contract. There is no owner, no admin key and no upgrade path — which also means there is nobody who can fix anything.
01What is The Spire
One token, $SPIRE, launched through the pons launchpad on Robinhood Chain and trading in a single Uniswap V3 pool. There is no game server — the tower is the market.
Buying raises the tower. Each Floor it reaches can be taken by staking $SPIRE, and whoever holds a Floor is its Keeper. Keepers collect Rent: the creator’s share of the token’s own trading fees, which this contract owns and cannot send anywhere else.
There are 100 Floors. The tower only goes up.
02The Climb
When $SPIRE launched, its liquidity was locked forever. Every buy pairs more ETH into that locked position, and the launchpad reports how much is in there — the paired principal.
The tower’s height is that principal at its high-water mark, divided by 2.75 Ξ, capped at 100.
| Paired principal | Floor |
|---|---|
| 2.75 Ξ | 1 |
| 27.5 Ξ | 10 |
| 137.5 Ξ | 50 |
| 275 Ξ | 100 — the Peak |
- It ratchets. A Floor that unlocks stays unlocked, even if the price falls back or people sell.
- Anyone can call
syncTower()to update the height; it also happens on its own whenever the tower is touched. - A Floor unlocked once is claimable forever, whatever the price does afterwards.
03Taking a Floor
Floors are not awarded to buyers. Nothing in a Uniswap V3 pool tells a contract who bought, so the game does not pretend to know. A Floor is won by staking $SPIRE behind it.
Stakes are priced in ETH, not in tokens. The Floor at the top of the tower always costs about 0.5 Ξ to claim, and every Floor below is priced pro-rata by its POWER — so a point of POWER costs the same wherever in the tower you buy it.
The contract works this out from the pool's own reserves, so the number of $SPIRE it asks for falls as the token gets more valuable. There is no oracle and no price feed.
| Floor | POWER | Costs to claim |
|---|---|---|
| 1 | 1 | 0.025 Ξ |
| 5 | 5 | 0.125 Ξ |
| 10 | 10 | 0.25 Ξ |
| 20 — the top | 20 | 0.50 Ξ |
Shown for a tower that has reached Floor 20. As the tower climbs the top Floor stays at ~0.5 Ξ and everything below it gets proportionally cheaper — on a 100-Floor tower, Floor 1 costs about 0.005 Ξ.
04The contest
A Floor is yours until somebody wants it more. Anyone may take it by staking at least 10% more than the sitting Keeper. When they do, it happens in one transaction: they become the Keeper, and your entire stake is returned to you in the same block. Nothing is forfeited and nothing is locked up.
The contest never closes. There is no deadline, no settlement and no final owner — the tower stays contestable for as long as it exists.
The +10% minimum exists so a Floor cannot be flipped back and forth one wei at a time. Each contest costs meaningfully more than the last.
05Rent & POWER
The pool charges 1% on every trade. 70% of that is the creator’s share, and the creator is this contract — so 0.7% of all volume flows back to the tower. That is the only source of Rent. There is no emission, no treasury and no external yield.
Rent is split among Keepers by POWER, which is simply the Floor number. Floor 80 earns eighty times what Floor 1 earns.
| Collected | Becomes |
|---|---|
| the ETH side | Rent, split by POWER |
| the $SPIRE side | burned, in full |
Buys generate no $SPIRE-side fee — only sells do. So the burn is funded by sellers, on behalf of the people still holding Floors. Rent accrues to whoever held a Floor at the moment of a distribution; taking a Floor seconds beforehand earns nothing for the period before you arrived.
Claim whenever you like with claimRent(). It is yours from the moment it accrues; there is no vesting and no expiry.
06Sweep
Fees do not move on their own. Somebody has to tell the locker to release them — and on The Spire that somebody is anyone. Calling sweep() collects the fees, pays the Rent and burns the $SPIRE. It is not an admin function; it is how the game stays alive without an operator.
- Permissionless. Any address may call it, including yours, as often as you like.
- No cooldown and no reward — you pay the gas because you want the Rent moved.
- Running it when there is nothing to collect does nothing at all: the locker simply reports no fees and the call moves on.
The app shows when the tower was last swept, what this sweep would pay out, and how much of that would be yours — all before you send it.
07Districts & Relics
The 100 Floors are grouped into five Districts of twenty. They are flavour, not mechanics — POWER is the Floor number and nothing else.
| District | Floors |
|---|---|
| The Undercroft | 1 – 20 |
| The Bazaar | 21 – 40 |
| The Works | 41 – 60 |
| The Heights | 61 – 80 |
| The Peak | 81 – 100 |
Holding a Floor means holding its Relic — an ERC-721 deed rendered entirely on-chain, with tokenId == floor. The deed carries the position: transfer it and the Floor, the stake and the future Rent go with it. Any Rent you had already accrued is settled to you first.
08The Peak
At 275 Ξ of paired principal the tower reaches Floor 100 and stops. The price can keep going; the tower cannot. From then on nothing new unlocks — but every Floor stays contestable and Rent keeps flowing for as long as the token trades.
09Trust
There is no owner, no admin, no pause and no upgrade path. The address that launched the token may call launch() once and has no power afterwards.
One capability is worth stating plainly rather than leaving for someone to find: on pons, a token’s deployer can redirect its fee stream elsewhere, permanently, at any time. This vault is the deployer. It contains no code that can call that function. The fees arrive as Rent because the redirect is never set, and there is no way — from any address — to set it.
That is the difference between a promise and a constraint. You do not have to trust that the Rent will not be turned off; there is no function that turns it off.
10Risks
$SPIRE is an experimental on-chain game, not an investment. The tower only grows while people keep buying; when the buying stops, the climb stops. Rent comes entirely from trading fees on this one token — when trading thins out, so does Rent, and it can be zero. Your Floor can be taken from you at any moment by anyone willing to stake 10% more, and while your stake always returns, the Floor and its income do not. One address holding one Floor is easily defeated by one person holding several addresses. Smart contracts carry risk, and this one has no owner who can intervene, reverse anything, or fix a mistake. Robinhood Chain is a young network. Never put in more than you can afford to lose. Nothing here is financial advice.
11FAQ
Do I need to hold $SPIRE to earn Rent?
You need a Floor, and holding a Floor means your stake is locked in the vault. Beyond that stake, no.
What happens to my stake when someone takes my Floor?
It returns to you in full, in the same transaction that takes the Floor. There is no penalty and no delay — the ten-minute lock applies only to leaving of your own accord.
Why can’t I unstake straight away?
A stake is held for ten minutes. Rent arrives in a lump when someone sweeps, so a Floor taken and dropped within seconds would collect a payout for a period it did not hold. Ten minutes is long enough that anyone doing it carries real exposure — and your own Rent accrues the whole time.
Can I hold more than one Floor?
Not from one address. That makes taking the whole tower cost effort rather than making it impossible — multiple wallets defeat it, and that is a known and accepted limit.
Who pays for the sweep?
Whoever calls it pays the gas. There is no reward for calling — Keepers have their own reason to, and so does anyone who wants the burn to happen.
Can the team turn off the Rent?
No. See Trust — the function that would do it exists on the launchpad and is unreachable from this contract.
What if the tower falls back below my Floor?
Nothing. Unlocking ratchets; a Floor that opened stays open, and your Floor keeps earning.
Can I sell my Floor?
Yes — transfer the Relic. The Floor, the stake and the future Rent go with it.