Coil
X Launch app

$COIL · Robinhood Chain (4663) · Uniswap v4

Upper rule · the anchor plus the half width

The law of the box.

Lower rule · the anchor less the half width

Fifteen articles, and nobody is paid in any of them. Every figure of the protocol below reads set at deploy: it is a constant of the deployment, printed here and on the explorer, with no setter for any of it. The toy on the front page runs the same rule on its own numbers, and says so wherever it shows one.

01The box

A box is two numbers: an anchor and a half width, both in ticks. The anchor is the tick at which the last box opened. The half width is fixed at deployment and is the same for every box, for the whole life of the pool.

The price is inside its box while it is strictly between the two rules. A price on a rule has left: touching counts.

The box: the anchor as a dotted line, the upper and the lower rule a half width either side of it, the price wandering strictly between them, and a dot on the upper rule where touching counts and the price has left.

The box is drawn by a rule around a past price. It is not a signal, it does not predict anything, and this site never calls an opening a breakout.

02The crank

The crank counts the blocks since the box was drawn. Nothing runs and nothing is stored while it counts: the turns are computed from the block the box was drawn at, so a box that nobody touches for a day costs no gas for that day.

One block inside the box is one turn. A block in which the price leaves is not a turn: it is an opening.

03The stop

The crank stops counting at a fixed maximum, set at deployment. Past it the turns stay where they are, however long the quiet lasts, and the share stops growing with them.

The stop exists so that the largest possible burn is knowable in advance, from the cap of the curve, rather than from how long a market can sit still.

04The toll and the reserve

Every swap pays a toll, a fixed share of its size, the same for a buy and for a sell, set at deployment. The toll is the only income of this protocol.

It goes into the reserve. The reserve has one way in, the tolls, and one way out, the dead address, when a box opens. No owner, no withdrawal, no setter, no destination that can be changed.

05The share

The share of the reserve a box burns is a concave function of its turns, published as an exact integer formula. Zero at zero turns, exactly the cap at the maximum, and never the whole reserve.

share = cap × turns × (max + bend) ÷ ((turns + bend) × max), rounded down

Concave, so the second hour of quiet adds less than the first. The reserve and the share grow together during a long quiet stretch, which is why the burn at the end of one is large twice over. That is the product, and it is the reason the crank is worth watching.

The curve below is the toy's own, on this page's numbers: a cap of 50 %, a bend of 50 turns and a maximum of 100. The deployed ones are printed here at launch.

35 turns · 30.88 %
The toy's share curve: concave over the turns, nothing at nought, the cap at the stop, and beside it a spring as tall as the share.
The ten marks of the curve
Turns of quietShare of the reserveWhat it adds over the line above

06The opening

At the end of every swap the hook compares the pool's tick with the box. If the tick is outside, the box opens in that transaction: the share buys $COIL on the pool and sends it to the dead address, the box counter goes up by one, and a new box is drawn around the tick at which the swap ended.

Not queued, not claimable, not announced. Done, in the block that left the box.

07The order inside it

The order of operations inside an opening matters, so it is written here:

  1. The toll of the swap goes into the reserve.
  2. The tick the swap ended on is read, before anything of ours moves the price.
  3. That tick is compared with the box.
  4. If it is outside, the turns are counted, the share of the reserve is bought and burned.
  5. The new box is drawn around that same tick, not around where our own buy left the price.

Otherwise the protocol's buy would move its own anchor, and a burn could open the next box by itself.

08Up and down are the same

A box that opens upward and a box that opens downward burn the same share for the same turns. The direction is recorded and changes nothing.

This site never colours the two differently, and the toy leaves each way out to a coin toss.

Two boxes, one the other turned over: in the first the price leaves by the upper rule, in the second by the lower one, in the same ink, and beside each opening the same burn.

09Nobody is paid

The swap that leaves the box pays the same toll as any other and receives nothing. No finder's fee, no rebate, no share of the reserve, no rank in a table.

It is not a prize, so it is not a race, so there is nothing for a sequencer to sell. The team's share of the toll, of the reserve and of anything else this protocol touches is none.

10No owner, no setter

There is no withdrawal from the reserve, no destination that can be set, no pause, and no setter on the half width, the maximum turns, the curve or its cap.

What the contract cannot do is the point. A reserve that has been filling for a week is only worth watching if nobody, including us, can reach into it.

The reserve as a sealed tin: one pipe in, the tolls, and one way out, burned and sent to the dead address at an opening. No key and no lid that lifts.

11Rounding

  • Tolls round up. A toll is never short by a fraction of the smallest denomination.
  • The share rounds down. A box never burns more than the curve says.
  • Dust burns. What rounding leaves in the reserve stays in the reserve, for the next box.
A ruler marked in the smallest unit: a toll rounded up to the next mark, a share rounded down to the mark below it, and the dust between the two staying in the reserve for the next box.

12What the contracts enforce

Coil · Fixed at deployment · no setter

  1. I 1A box opens only when a swap ends outside it, and by no other means.
  2. I 2The share burned is a pure function of the turns of that box and of constants fixed at deployment.
  3. I 3The reserve leaves only as burned $COIL, and only at an opening.
  4. I 4Upward and downward openings are identical in every consequence.
  5. I 5No address has any right over the reserve, and no address is paid for opening a box.
  6. I 6The half width, the maximum turns, the curve and its cap are fixed at deployment and have no setter.

13What can go wrong

  1. Somebody opens the box on purpose. They can, at the cost of the toll and of the price impact of moving the pool by half a box, and what they get is a burn that belongs to everybody. After a long quiet stretch it is even likely.
  2. A wick outside, and the arbitrage that brings it back. The box opened; that is the rule. The new box is drawn where the swap ended, and the price coming back leaves that new box too if the wick was long enough, with a crank of a few blocks and a share near zero. It is stated rather than papered over with a confirmation delay that would make the rule harder to say.
  3. The half width is wrong. Too wide and the lid never opens; too narrow and it never stays shut long enough to matter. It is the one number that decides whether there is a product, and it is simulated on real traces before it is set.
  4. A dead market. The crank reaches its maximum and stops, the reserve sits full, nothing burns. It is the honest failure state, which is why this site shows the turns and the reserve and not only the total burned.
  5. Somebody reads the box as a signal. It is not one. The box counts how long nothing happened.

14Parameters and venue

Coil · Uniswap v4 · Robinhood Chain 4663

Half width
Half the width of every box, in ticks
set at deploy
Maximum turns
Where the crank stops counting
set at deploy
The curve
Its shape and its bend
set at deploy
The cap
The largest share a box can burn
set at deploy
The toll
The share of every swap that goes to the reserve
set at deploy
Paid for opening a box
To the trader, to anybody
none
The team's share
Of the toll, of the reserve, of anything
none
Chain
Robinhood Chain, its own pool on the PoolManager
4663
Venue
Uniswap v4, a hook of ours working in afterSwap
own pool
Price
The pool's own tick. No oracle, no feed, nothing off chain
the pool
Liquidity
Protocol liquidity locked, third party liquidity refused
locked

For builders

The app reads the box from the hook by a short list of view names and says which one answered. The four byte selectors are printed in js/pool.js beside their signatures, and the list of names is the only thing that changes if the deployed hook spells one differently.

15Questions

What do I get for opening the box?

Nothing. You pay the same toll as every other swap and receive nothing at all. The burn belongs to everyone holding the token, which is the only reason there is nothing to race for.

Can I open it on purpose?

Yes, by moving the pool past a rule. You will pay the toll and the price impact of that move, and the reserve will buy $COIL and burn it for everybody. After a long quiet stretch somebody probably will, and that is the mechanism working.

Is a box that opens upward better than one that opens downward?

They are the same. Same share, same burn, same new box. The direction is recorded and changes nothing.

What happens if the market goes quiet for a month?

The crank counts to its maximum and stops. The reserve keeps filling with tolls, and the share stays at the cap. Nothing burns until a swap ends outside the box.

Why not burn every toll as it arrives?

Because then there is nothing to watch and nothing to wait for. The box turns a constant drip into one event whose size everybody can read in advance, and whose timing nobody controls.

Does the burn's own buy open the next box?

No. The new box is drawn around the tick the swap ended on, before our buy moves the price. Article 7.

Can the team empty the reserve?

There is no function to do it. No withdrawal, no destination that can be set, no pause, no setter. Article 10.

Is the toy on the front page real?

It is real arithmetic on made up volume. It runs the rule of this page, in full, on this site's own numbers, and its blocks are slower than the chain's so that the crank can be heard. There is no contract yet.

Where will the contract address be published?

Here and on X, in the same minute, and nowhere else. Any address that reaches you any other way is not ours.

What is left to decide?

The half width, the maximum, the curve, the cap and the toll. They are simulated on real traces from this chain's pools, and published before anything is deployed.

Contract address

published at launch

Published here and on X at launch, nowhere else. Any other address is not ours.