The law of the hold.
An airline decides what your miles are worth, and it can change its mind on a Tuesday. ETHFlight has nothing to change its mind with. Everything below is either a rule the contracts enforce or a limit we are telling you about. Nothing is a promise.
ETHFlight runs on Robinhood Chain (4663), with one Uniswap v4 pool. The contract addresses are published here and on X, nowhere else.
1Miles
A mile is an ERC-20 token, $MILES. You get miles by trading in the pool: part of the toll you pay comes back to you as miles, minted to your address in the same transaction as the swap.
Miles are not a coupon and not a point in a database. They are a token you hold, send, sell, or burn. Nobody can take them back, and nothing expires them.
2The toll
Every swap in the pool pays a toll, set at deploy. The hook splits it three ways, and the three shares are constants of the deployment:
- To the liquidity providers. An ordinary pool fee, for the people who make the trade possible.
- To you, as miles. This share goes into the hold, and the miles it backs are minted to the address that paid the toll. This is the cashback.
- To the hold, with nothing minted. This share is what lifts what a mile is worth, for everyone holding one.
Nothing is kept by a team, and there is no switch to change that later. The share that is not paid to liquidity providers ends up in the hold, one way or the other.
3The hold
The hold is the ETH the programme is sitting on. It fills from the toll on every swap, and it empties only when somebody burns miles and takes their share out. There is no withdrawal function: not for a team, not for a multisig, not for anyone.
The hold is counted in the contract, not read off the balance of the address. ETH sent to the contract by other means can only be added to the hold without minting anything, which lifts what a mile is worth and gives no one a claim.
4What a mile is worth
The hold, divided by the miles in circulation. One number, readable on chain, published on this site. It replaces the award chart, and it behaves differently from one: it cannot go down.
Minting cannot lower it, because miles are minted at that exact number: the ETH entering the hold and the miles leaving the mint grow in the same proportion. Burning cannot lower it, because burning takes exactly the share the burned miles stood for. Every rounding is done in favour of the hold. What lifts it is the share of every toll that enters the hold with nothing minted against it.
This is not the same thing as the price of a mile on the market, which is set by buyers and sellers and can be anything at all. See section 7.
5Cashing in
Burn miles, receive their share of the hold, in the same transaction. Any block, no queue, no claim page, no delay, no minimum. The rest of the programme carries on unchanged around you: what a mile is worth is exactly the same after your exit as before it.
You never have to cash in. Miles do not expire, and there is no deadline anywhere in the contracts.
6Status and seasons
A season is a fixed length of time, set at deploy. Inside a season, the tolls you have paid add up, and the total places you in a tier: Economy, Silver, Gold. The thresholds are constants of the deployment.
Status changes one thing only: how your own toll is split. The higher your tier, the more of your toll comes back to you as miles and the less goes to the hold with nothing minted. It never mints miles that are not backed, and it never touches anybody else's split. A tier is paid for out of your own contribution to the common lift, and out of nothing else.
At the end of a season, status returns to Economy and the count starts again. That is the asymmetry of the programme, and it is deliberate: your miles never expire, your status does.
7The market
Miles trade in their own Uniswap v4 pool, against ETH, like any token. The market price can sit above what a mile is worth in the hold, because a mile also carries whatever people expect of the seasons to come. It cannot sit below for long: anyone can buy miles under that number and burn them for the hold's share.
That floor is not a promise from us. It is an arbitrage, and it holds exactly as long as the burn function is open and the chain is cheap, which is why there is no pause and no withdrawal in these contracts.
8What the contracts enforce
Every mile minted is backed: the hold grows by the value of those miles in the same transaction. Minting never lowers what a mile is worth.
Burning miles pays exactly their share of the hold and destroys them. What a mile is worth is unchanged.
What a mile is worth never falls. Every rounding is done in favour of the hold.
There is no withdrawal function. ETH leaves the hold by burning miles, and by nothing else.
Miles do not expire, and no function burns the miles of another address.
Status only changes the split of the toll paid by the address that holds it. It never mints unbacked miles.
At every tier, the cashback is strictly smaller than the toll paid. A round trip costs more than it returns.
There is no function that sets, caps or changes what a mile is worth. No chart exists to rewrite.
9What can go wrong
No volume, no miles. The programme produces nothing on its own. If nobody trades, the hold does not grow, nothing is minted, and what a mile is worth stays exactly where it was.
The price of a mile is not the hold. You can buy miles on the market well above what they stand for in the hold, and lose that difference. The number that cannot fall is the hold divided by the supply, not the price you paid.
Farming the cashback loses money. By I7 the cashback is always smaller than the toll, and swaps also cost gas and price impact. Trading in circles to collect miles is a loss, by construction, at every tier.
The contracts can be wrong. Every invariant on this page is only as good as the code that enforces it and the audit that reads it. A rounding error in the wrong direction is the failure that would matter most here, and it is the first thing to be fuzzed.
The supply moves. Miles are minted on trades and burned on exits, so the supply is not fixed and a market capitalisation read off an aggregator says very little. The two numbers that mean something are the hold and what a mile is worth.
ETH itself. The hold is ETH, so everything above is denominated in something that moves. A mile whose share of the hold never falls in ETH can still be worth less in any other currency.
The law is a page. The site can be wrong, or out of date. The contracts are the law, the explorer is the witness, and everything here is written to be checked against them.
10Parameters
Constants are fixed at deployment and published here. Until then, none of them has a value, and no number you may read elsewhere is ours.
| Parameter | What it does | Value |
|---|---|---|
| Toll | The share taken by the hook on every swap | set at deploy |
| Split, liquidity providers | The part of the toll that stays with the pool | set at deploy |
| Split, cashback | The part that enters the hold and mints your miles | set at deploy |
| Split, lift | The part that enters the hold with nothing minted | set at deploy |
| Season length | How long a status count runs | set at deploy |
| Silver threshold | Tolls paid in a season to reach Silver | set at deploy |
| Gold threshold | Tolls paid in a season to reach Gold | set at deploy |
| Tier splits | The split of the toll at each tier | set at deploy |
| Opening hold | The ETH placed in the hold at launch | set at launch |
| Opening supply | The miles minted against it, which sets the opening value | set at launch |
| Team share | What the team takes from the toll | none |
11Chain and venue
ETHFlight runs on Robinhood Chain, chain 4663, and trades on Uniswap v4 through the PoolManager at 0x8366a39CC670B4001A1121B8F6A443A643e40951. The pool is ours and the hook is ours; the protocol liquidity position is locked in a locker with no withdrawal function.
Gas is paid in ETH, at a gas price around 0.02 gwei on this chain. That matters here more than usual: a cashback only makes sense on a chain where the transaction costs less than what comes back.
The programme is a Uniswap v4 hook and the hold is ETH, so it fits a chain that has both: Uniswap v4 as the venue, and ETH as the currency of the chain itself. Ethereum and Base are the two beyond this one where that is true today. Each would be its own deployment, with its own pool and its own hold, and no bridge between them. A chain whose own currency is not ETH, or which has no Uniswap v4, would need another venue and another law, which is not written. None of that exists anywhere until it is deployed and published here.
Explorer: robinhoodchain.blockscout.com. Contract addresses are published on this page and on X at launch, and nowhere else. Anything else is somebody else's.
12FAQ
What exactly is a mile?
An ERC-20 token that stands for one share of the hold. Burn it and you take that share out.
Do I have to hold miles to earn them?
No. You earn by trading, not by holding. Holding is what lets the lift work in your favour between your trades.
Can what a mile is worth go down?
Not the number the contracts compute: the hold divided by the supply. Its price on the market is a different thing, and that can go anywhere.
Do my miles expire?
Never. Your status does, at the end of each season.
Can you change the programme later?
The constants are fixed at deployment. There is no function to reprice a mile, no chart, and no withdrawal from the hold.
What happens if nobody trades?
Nothing moves. The hold stays as it is, no miles are minted, and what a mile is worth stays put. This programme has no engine other than volume.
Can I farm it by trading against myself?
You can try, and you will lose money on every round trip: the cashback is always smaller than the toll, and you pay gas and price impact on top.
Is this a savings account?
No. It is a cashback on a fee you just paid, in a token backed by a pot of ETH that anyone can leave at any time. Nothing here is a promise about the future.