TimeGlass is a Uniswap v4 hook that makes duration a first-class primitive in liquidity rewards. Fees do not pay out on the block they arrive — they fall through a neck, over a day, to the liquidity that is still standing.
1% of every swap, on the leg the swapper receives. A compile-time constant with no setter anywhere, so it reads the same to a scanner on the first block as on the millionth.
It lands in the upper bulb and is released at a constant rate over 24 hours. Nothing is ever paid out on the block it arrived. A provider present for one block collects one block of a day-long stream, which is what makes just-in-time liquidity unprofitable here.
×1 on arrival, ×2 after a day, ×3 after a week, ×4 after a month. Adding to a position dilutes its run in proportion rather than resetting it. Removing any amount turns the glass over and the run restarts.
It does not remove impermanent loss, and no contract can — divergence between the two legs is a property of the pool, not of a reward schedule. TimeGlass changes the other side of the ledger: a stream a standing provider can keep.