STEERING X Open the board
After the Order of Steering in Snowmoon

Nothing is banned. Everything is priced.

A Uniswap v4 pool that runs the novel's rubric. Every trade gets a receipt: a 1% base, a charge for the power it exerts, a charge for the automation it shows. Small human trades pay the base. The powerful are seen, and pay. The machines pay the people.

Receipts—
Volume— ETH
Power paid— ETH
Automation paid— ETH
To holders— ETH

Live from the chain once STEERING is launched.

I · THE WEAK

Privacy, and the base

A small trade pays 1% and nothing else. Nobody asks who you are or why you are here.

II · THE POWERFUL

Transparency, and the price of power

A wallet that takes more than 1% of the pool in a block pays 1–3% more, written on its receipt for everyone to read.

III · THE MACHINES

The spoils go to the people

Turning a trade around inside a block costs 10% more; inside a longhour, 2%. Every surcharge is paid to the holders in ETH.

Veridia did not stay free by forbidding things. It priced them.

In Snowmoon, Vitalik Buterin's novel, the free republic of Veridia keeps an institution beside its parliament: the Order of Steering. It writes rubrics. Every activity gets a tier of tax, from nothing up to two-fifths, set by what it costs everyone else.

Across the sea, the Arctic Empire grows the other way: one head, many bots, no consent. The book ends on the principle that outlasts the war: privacy for the weak, transparency for the powerful.

STEERING puts that principle on a market. Its rubric is written once, in public, into an immutable hook. No key can change a tier, a split or a recipient.

The rubric

Three lines on every receipt.

Computed on chain from public facts, for every swap in every shape, and written to the chain beside the trade.

LineRuleChargeGoes to
BASEEvery trade, every size, every speed.1%0.4% owner · 0.3% graph · 0.3% holders
POWERA wallet's ETH in this block, summed, against the pool's virtual ETH reserve.
Under 1% → nothing · 1–3% → +1% · 3–6% → +2% · above 6% → +3%
0 – 3%holders
AUTOMATIONA wallet turning its own direction around.
Same block → +10% · within one longhour (720 blocks) → +2%
0 – 10%holders
CAPEverything included.15%
A SMALL BUY

0.005 ETH, a fresh wallet

Base 1%. Total 1%. Nothing else is asked.

A WHALE

8% of the pool in one block

Base 1% + power 3%. Total 4%, and the 3% goes to every holder.

A SANDWICH

In and out in one block

The way out pays base 1% + automation 10%, plus power for its size. The bot pays the people.

Pool reserve now— ETH
Base-only up to— ETH a block
Base paid— ETH
Fees, all lines— ETH
The book

Every rule, and the scene it comes from.

Snowmoon is Vitalik Buterin's 2026 novel, released under the GPL v3 at vitalik.eth.limo/snowmoon. STEERING is a fan project, not affiliated with him. Scenes are paraphrased.

THE ORDER OF STEERING · CH 1, 3, 6, 8

Nothing is banned, everything is priced

Beside Veridia's parliament sits an anonymous order that writes rubrics: a tier of tax for every activity, set by what it costs everyone else. STEERING is that rubric, on one market.

THE TAX TIERS · CH 17, 19

Tiers, not bans

The book's tiers rise in steps by how much an actor hides and how much harm it does. STEERING's power and automation lines rise in steps too: 1, 2, 3 and 10%.

THE FREETOWN FARE · CH 22

An itemised receipt

A taxi ride in Freetown comes with a receipt that lists every charge. Every STEERING trade gets one too, written to the chain.

THE EMPIRE OF BOTS · CH 23, 24, 32

The spoils of victory

The enemy is automation without consent. Here, the fastest turnarounds pay the most, and what they pay goes to the holders.

NO HEAD, MANY ROOTS · CH 18

A whale earns like a person

Under threat, Veridia survives by being many and small. STEERING's holders earn ETH on at most one million tokens a wallet.

GRAPH FUNDING · CH 17, 27

Funding what nobody owns

Veridia funds public goods down a graph of weighted causes. STEERING sends 0.3% of every trade down a fixed graph, named at birth.

THE LONGHOUR · CH 4, 9

The novel's clock

Dzego's decimal day has ten longhours. One longhour is 8,640 seconds: exactly 720 Ethereum blocks. That is the automation window.

THE LAST CHAPTER · CH 32

Privacy for the weak, transparency for the powerful

The book's closing principle, and STEERING's whole design: the small pay the base and are asked nothing; the large are written down and pay.

Specs

Every number, fixed in the contracts.

Nothing below can be changed by anyone, ever.

ParameterValueMeaning
Supply1,000,000,000 STEERINGMinted once, all of it into the pool at launch.
PoolETH / STEERINGOne pool. ETH is currency0.
Hook flags0x10CCafterInitialize (binds the one pool), beforeSwap, afterSwap and both swap return deltas.
Launch positionone, one-sided, 0 ETHThe whole supply below the opening price. Its NFT was minted to the owner.
Base1%Of the ETH side, on every trade.
Power brackets1% · 3% · 6% of reserve+1% · +2% · +3%. Summed per wallet per block.
Automation+10% · +2%A turnaround in the same block · within 720 blocks.
Cap15%Every line together.
Owner0.4%Of the ETH side. Never more, whatever the surcharge.
Graph0.3%Split by fixed weights among up to eight named recipients.
Holdersthe rest0.3% of the base plus every surcharge, in ETH, on up to 1,000,000 STEERING a wallet.
Wallettx.originThe transaction's signer. It prices a trade and decides no permission.
Docs

How STEERING works, page by page.

Getting started

What is STEERING

STEERING is a token with one Uniswap v4 pool, ETH/STEERING, and a hook that prices every trade by a rubric taken from the Order of Steering in Vitalik Buterin's novel Snowmoon. The rubric has three lines (base, power and automation), and every trade gets a receipt listing them.

The fees are paid in ETH: a fixed 0.4% to the owner, a fixed 0.3% to a graph of public goods, and everything else to the people holding STEERING.

Getting started

Trading

STEERING trades in its pool from the Uniswap app, any aggregator or any router. Nothing special is needed: no hook data, no allow-list. Every swap pays its rubric on its ETH side, in all four shapes: buying or selling, with the amount in or the amount out fixed.

The board shows what your trade would pay before you make it.

Getting started

Reading a receipt

Each trade emits Receipt(wallet, buy, eth, base, power, automation, fee). The three lines are in millionths of the ETH side (10,000 is 1%); fee is what was paid, in wei. The board lists the latest receipts as they land.

Getting started

Claim your ETH

Holding STEERING earns ETH from the moment you hold it. Call claim(to) on the token, or press Claim on the board. You keep what you earned when you sell; you earn nothing from before you bought.

Getting started

Fund the graph

The graph's ETH waits in the hook, node by node. Anyone may call fund(i) to send node i what it is owed. The board has a button for each.

The rubric

Power

The pool's virtual ETH reserve is its in-range liquidity divided by the square root of its price: the ETH it would take to buy every token on the current curve. Power compares a wallet's ETH in this block, summed over all its trades in the block, with that reserve:

  • under 1%: nothing (a price move of about 2%);
  • 1–3%: +1% (about 6%);
  • 3–6%: +2% (about 12%);
  • above 6%: +3%.

Summing across the block means slicing a trade inside a block doesn't hide it. The reserve is read as the trade finds it.

The rubric

Automation

A wallet that trades in the opposite direction to its own last trade pays:

  • +10% if its last trade was in the same block, which is what sandwiches and same-block round trips look like;
  • +2% if its last trade was within one longhour (720 blocks, about 2.4 hours).

Trading in the same direction is never automation, and a turnaround after a longhour is just a trade.

The rubric

What a wallet is

The rubric reads the transaction's signer (tx.origin), so it works through any router. It prices the trade and decides nothing else: no permission, no list. A wallet can be split, and a split wallet pays the base like everyone; its parts still pay for the power each one takes in a block.

Where it goes

The split

Of every trade's ETH side: 0.4% to the owner, 0.3% to the graph, and the rest of the fee to the holders. That is 0.3% of the base, plus every power and automation charge. The owner's part never grows with a surcharge.

Where it goes

Holders and the cap

The holders' part is shared at once, through an accumulator in the token, among every wallet in proportion to its STEERING, counted up to 1,000,000 STEERING a wallet. A whale earns like a person. Splitting a whale into many wallets only earns what its tokens would have earned uncapped; it never earns more. The pool, the hook and the burn address never earn.

Where it goes

Graph Funding

Up to eight recipients, each with a weight out of 10,000 and a label, were written into the hook when it was deployed and can never change. Each trade's 0.3% is split among them by weight. The Contracts tab lists them.

Where it goes

The launch position

The whole supply went into the pool in one position, one-sided, below the opening price, with no ETH in. The Uniswap app minted that position's NFT to the owner. The Contracts tab shows who holds it, read live from Uniswap's PositionManager.

Reference

Formulas

reserve    L × 2⁹⁶ / √P                         the pool's virtual ETH reserve
take       (wallet's ETH this block) / reserve
power      take < 1% → 0 · < 3% → 1% · < 6% → 2% · else 3%
automation opposite to last trade:  same block → 10% · within 720 blocks → 2%
total      min(1% + power + automation, 15%)
fee        ETH side × total

owner      ETH side × 0.4%
graph      ETH side × 0.3%,  node i gets × weightᵢ / 10 000
holders    fee − owner − graph
earning    min(balance, 1 000 000 STEERING)
Reference

ABI

// hook
quote(address wallet, bool buy, uint256 eth) view returns (base, power, automation, total)
reserveEth() view returns (uint256)
fund(uint256 node)          collect()
node(uint256) view returns (address to, uint32 weight, string label)
nodeOwed(uint256) / nodePaid(uint256) / nodeCount()
receipts() volume() fees() basePaid() powerPaid() automationPaid() ownerOwed() holderPot()

// token
claim(address to) returns (uint256)
owed(address) view returns (uint256)
EARN_CAP() view returns (uint256)    // 1,000,000 STEERING
transfer, transferFrom, approve, balanceOf, totalSupply, allowance
Reference

Events and errors

Receipt(wallet, buy, eth, base, power, automation, fee)   // hook, every trade
Funded(node, to, eth)   Collected(eth)   Launched(poolId, openTick)
Shared(eth, earning, accPerToken)   Claimed(holder, to, eth)          // token

WrongPool · NotOwner     a pool the hook refuses to bind
NotToken                 only the token pays holders
Help

FAQ

Is there a sniper tax or a launch fee?

No. The rubric is the same from the first trade to the last. Large trades pay for their power whenever they happen.

Why does my trade pay more than 1%?

Either it takes more than 1% of the pool's reserve in this block, or it turns around your own last trade within a longhour. The board shows the receipt before you trade.

Can anyone change the rubric?

No. There is no setter, no pause and no upgrade in either contract.

Help

Risks

  • Not audited. The contracts are tested on a fork of Ethereum mainnet against the live Uniswap contracts, including a fuzz of every action in random order, 128,000 calls per property. That is not an audit.
  • The rubric is visible to everyone, including those who route around it. Another pool without this hook pays none of it.
  • The launch position is held by the owner's wallet, as the Contracts tab shows.
  • A fan project. Not affiliated with the novel's author.
Security

What we tested.

Every test runs on a fork of Ethereum mainnet, against the live Uniswap PoolManager, Universal Router and PositionManager.

Tested

Every line of the rubric. Each power bracket, slicing inside a block, both automation windows, and the quote matching the receipt.

The books. 128,000 random calls a run (buys, sells, exact in and out, hundreds of blocks passing, claims, graph funding, owner payouts): the hook's ETH always equals what the owner, the holders and the graph are owed, to the wei.

The cap. No trade in any run ever paid more than 15%.

The launch. Only the owner's wallet can create the one pool the hook binds.

Trust

No owner powers. The owner chose the opening price once and receives 0.4% of volume. collect pays it; anyone may call it.

No setter, pause, upgrade or withdraw in either contract. Every tier, split, cap and recipient is final.

Not audited. Read the source. Every rule is in the hook's header comment, and the narrative is in the token's.

Contracts

On Ethereum mainnet.

Addresses appear here at launch.

ContractAddressRole
STEERING token—ERC-20 with the holders' ETH accumulator, capped per wallet.
SteeringHook—The rubric, the receipts, the split and the graph. Flags 0x10CC.
Launch position NFT—The whole supply, one position. Its holder is read live.
PoolManager0x000000000004444c5dc75cB358380D2e3dE08A90Uniswap v4.
PositionManager0xbD216513d74C8cf14cf4747E6AaA6420FF64ee9eUniswap v4: holds the LP NFTs.

The graph

NodeRecipientWeight
Read from the hook at launch.