THE PROGRAMMABLE HOOK
Why Hooks matter: they are the point at which a pool stops being a container and starts being a host for code.
In Uniswap v4 every pool lives inside a single settlement contract, and each pool may be created with a Hook attached. The Hook's address itself encodes which lifecycle points it subscribes to — the permissions are structural, not a runtime setting. From deployment onward, the pool calls that contract at exactly those points.
This is what makes the layer PROGRAMMABLE in a technical sense rather than a marketing one. The logic is not observing the pool from outside and reacting later. It is invoked by the pool, inside the same transaction, before the state transition is final. There is no window in which someone could decide not to run it.
RUNTIME uses that property for one purpose: to make an economic rule — capture, buy back, burn — inseparable from the activity that triggers it.
beforeSwap()Runs before the pool applies the swap. The programmable pre-condition.CONCEPTUALafterSwap()Runs after the swap settles. Where fee accounting and state updates land.CONCEPTUALRUNTIME MONITOR
The instrument panel. Configuration on the left, chain readings on the right, and an honest status line at the top.