Closing Bell
·BELL·SYNCING FEED·FEE %·TAAPL/USDC·PROCEEDS → LPS·NO OWNER·NO HOLIDAY CALENDAR·BELL 09:30 ET
·BELL·SYNCING FEED·FEE %·TAAPL/USDC·PROCEEDS → LPS·NO OWNER·NO HOLIDAY CALENDAR·BELL 09:30 ET
·BELL·SYNCING FEED·FEE %·TAAPL/USDC·PROCEEDS → LPS·NO OWNER·NO HOLIDAY CALENDAR·BELL 09:30 ET
·BELL·SYNCING FEED·FEE %·TAAPL/USDC·PROCEEDS → LPS·NO OWNER·NO HOLIDAY CALENDAR·BELL 09:30 ET
A colocation aisle lit only by rows of amber status lights

PROTOCOL

SOLIDITY 0.8.26 · 25 TESTS

No owner. No calendar.

A Uniswap v4 hook for tokenised equities. Closure is inferred from price-feed staleness, which is what makes a zero-admin design possible at all. Here is every moving part of it.

THE PROBLEM

The gap is taken at 09:30

A pool holding a tokenised equity is looted every single morning. The underlying moved overnight, the AMM did not, and the first arbitrageur in the opening block takes the whole gap out of the LPs.

Continuous LVR

On ETH/USDC the leak is diffuse. It happens in a thousand small pieces across the day, nobody can point at it, and nothing can be sold in advance.

Dated LVR

On a tokenised AAPL it is one event, at one known second, every trading day. It is discrete, it is visible, and above all it is scheduled — so it can be auctioned before it happens.

ONE DAY, THREE STATES

The arb that was stolen from the LPs is sold back to them

  1. 01 · MARKET OPEN

    Stay out of the way

    Tight fee, ordinary pool. The hook charges 0.030% and does nothing else.

    0.030%swap fee

  2. 02 · MARKET CLOSED

    Widen, and take bids

    The fee climbs with time elapsed since the close. Meanwhile the opening ticket goes to an open ascending auction, on-chain, book visible.

    3.00%after 48h closed

  3. 03 · THE BELL

    Sell it, then pay the LPs

    The highest bid standing when the feed speaks again wins the opening window. Every other swap in it reverts, and the proceeds are donated to the LPs in full.

    3blocks exclusive

If nobody bids, there is no exclusivity — but the fee stays wide across the whole opening window, and anyone may trade. The LPs are covered on both branches.

HOW IT KNOWS

No admin. No calendar.

Equity feeds stop publishing when the exchange is shut. So if the feed has not spoken for longer than 30 minutes, the market is closed. That handles weekends, Thanksgiving, half-days and halts with no human in the loop and no holiday table to maintain.

The trap is a feed that dies during trading hours, which reads exactly like a close. Past 96 hours the hook stops trying to tell the two apart: the fee pins at the maximum and no exclusivity is sold.

The failure mode is an expensive pool, never a drained one. Liquidity operations are never gated, so an LP can always leave.

Feed silence → reading

≤ 30 minOPEN

base fee, 0.030%

30 min – 96hCLOSED

fee ramping, auction taking bids

> 96hNOT TRUSTED

fee pinned at 3.00%, no exclusivity sold

96 hours is not arbitrary. The longest ordinary NYSE closure is 89.5 hours — Friday 16:00 ET to Tuesday 09:30 ET, when the Monday is a holiday. A tighter bound would drop the hook into its degraded mode roughly six times a year.

THE IMMUTABLES

Nothing here can be changed

Every value is set in the constructor and there is no setter for any of them. No owner, no timelock, no upgrade path — so the fee you can compute today is the fee the pool will charge for as long as it exists.

deployed with an ownerno
governance tokennone
upgrade pathnone
protocol fee on auction proceeds0%

Changing any of it means deploying a new hook at a new address, and a pool has to opt into that by being initialised against it.

Hook parameters

IMMUTABLE
base fee0.030%
max fee3.00%
ramp48h
closed after30 min silence
feed distrusted after96h
minimum raise5%
exclusive window3 blocks
ownernone
treasury cut0%
A bundle of fibre optic strands glowing amber in the dark

No treasury. No multisig. No governance token.