00 Reflexive liquidity · Uniswap v4

The arccompletes itself.

Every trade completes a cycle. Every cycle deepens the floor. No owner, no vote, no decision — only the arc, running on every swap.

Built onUniswap v4LidoCurve
FLOOR
#00
SUPPLY
1,000,000
YIELD→FLOOR
100%
ADMIN
NONE
band 00 · floorband 50band 99 · ceiling
ETH earnedETH staked on LidoYield → floor liquidityThe floor ratchetsNever unwindsNo treasuryNo governanceOwnership renouncedImmutable on Uniswap v4ETH earnedETH staked on LidoYield → floor liquidityThe floor ratchetsNever unwindsNo treasuryNo governanceOwnership renouncedImmutable on Uniswap v4
01Genesis state · RFLX/ETH

Protocol state

Current floor band
#00
0 RFLX / ETH at the floor
floor deepens →14.70 Ξ / 1M
Total supply
0
all seeded · no mint, no burn
Curve depth
0 Ξ
ETH to cross every band
Bands seeded
0/100
single-sided RFLX, at genesis
Launch price
0
band 0, first wei
Floor
Add-only
liquidity only ever added
Ownership
Renounced
renounced at launch
The Reflex Arc

A reflex, not a decision.

A biological reflex fires without a thought in between — stimulus straight to response. Reflex works the same way: trading is the stimulus, a deeper floor is the response, and there is no owner, vote, or treasury choosing to act in between. The arc just completes itself.

Stimulus
Receptor
Signal
Response
01
Stimulus

A buyer crosses a band. RFLX converts to ETH inside the pool.

02
Receptor

Idle ETH is submitted to Lido, held as non-rebasing wstETH shares.

03
Signal

stETH compounds daily. The surplus over principal becomes the signal strength.

04
Response

The signal buys RFLX at the floor and deepens the lowest active band.

This is the arc. Stimulus to response, with nothing in between that requires a decision.

Reflexive floor — core mechanism

The floor is liquidity, already in the pool.

Reflex’s floor is liquidity already in the pool — RFLX placed at the lowest active band, owned by no one, with no path in the contract to remove it. Depth at the bottom only accumulates.

01

It only adds. Every discharge buys RFLX and deepens the floor band. Liquidity is never removed — there is no withdrawal path.

02

It climbs in steps. When a band reaches 2× its original depth, the target advances. The floor price steps up the curve.

03

It cannot retreat. Sellers meet accumulated depth on every trade. The ratchet has a pawl: progress locks in, discharge after discharge.

Floor price by bandfloor → #00
band 0 · launchband 99 · ceiling

Each step is permanent. In the pool the bar never falls — it only waits for the next discharge to climb again.

Genesis supply

One million RFLX. No other path in.

All 1,000,000 RFLX is written directly into Uniswap v4 tick ranges before the first trade — 100 single-sided positions, no LP, no mint. Their shape is a softened hyperbolic decay; band widths ramp linearly, and per-band supply follows a k = 0.75 power curve — dense, continuous price discovery from the very first trade.

The whole distribution is deterministic and computed on-chain by the RFLDF library — fully programmed, on-chain liquidity native to v4.

100
tick positions
10,000 Ξ
curve depth
~68k
RFLX / ETH launch
RFLX densitycumulative ETH →
f(x) = 1 / (V + x)0.75single-sided · RFLDF · on-chain
The discharge

Yield is discharged into the floor.

Harvestable yield is tracked as the spread between the protocol’s wstETH shares (valued in stETH) and their recorded principal. Once it clears the threshold, anyone can fire the discharge — there is no operator who decides to. Principal is reduced share-proportionally, so a discharge extracts only genuine yield and never touches the staked base.

triggerReflexArc() · call trace
01 yield = wstETH.getStETHByWstETH(shares) − principal ≥ 0.1 Ξ
02 wstETH.unwrap() → Curve.exchange(stETH → ETH) // 5% guard
03 split → 98% discharge · 1% keeper · 1% ops
04 poolManager.swap(ETH → RFLX) // internal, ≤ 1 Ξ, tagged
05 modifyLiquidity(floorBand, +RFLX) → advance if depth ≥ 2×
98%
Discharge

Buys RFLX at the floor price and deepens the lowest active band.

1%
Keeper

Paid to whoever triggers the discharge. Anyone can. No privileged role.

1%
Operations

Protocol upkeep. Routed automatically, withdrawable only by ops.

Threshold 0.1 Ξ ≤ 1 Ξ per discharge Permissionless Gas cap 30 gwei Curve slippage 5%
On-chain · verifiable

The whole protocol is one hook.

Reflex is a self-contained demonstration of what Uniswap v4 hooks make possible: protocol logic that lives inside the AMM and runs on every swap — not a contract sitting beside the pool, but code the pool itself calls.

There is no separate controller, no keeper privilege, no treasury contract. The seeding, the band lifecycle, the staking, and the discharge all happen in the hook’s own callbacks. It is an attempt to put an entire liquidity mechanism on-chain, in one place, with nothing left to operate by hand.

v4 hook surface · what Reflex implements
beforeInitialize

Pins the pool to the one canonical RFLX/ETH key — nothing else can open it.

beforeAddLiquidity beforeRemoveLiquidity

Only the hook may touch pool liquidity. External LPs are rejected at the gate.

beforeSwap

Takes the fee, enforces the early max-tx, and on sells restores retraced bands.

afterSwap

Reconciles ETH deltas, advances the band lifecycle, and stakes idle ETH to Lido.

unlockCallback

Runs the protocol's own atomic moves: seeding, the discharge swap, claim settlement.

Two contracts deploy — the RFLX token and the hook. Everything downstream is existing mainnet infrastructure: Uniswap v4, Lido, Curve.

Trustless by construction

Nobody is at the controls.

startReflex() runs once. Ownership is renounced on the spot. What remains is the arc — executing on every swap, owned by no one, for as long as Uniswap v4 runs.

no ownerno admin keysno upgrade pathno withdrawal pathno treasuryno governanceno mintno multisig

Every parameter is on-chain. Each line here maps to a function you can verify on Etherscan the day it ships.

Parameters · fixed at deploy
Supply1,000,000 · fixed
PairRFLX / ETH (native)
Bands100 · linear ramp
Full curve10,000 ETH
Yield venueLido stETH
Yield outputFloor liquidity
GovernanceNone
Owner post-launchNone
FAQ

Questions, answered plainly.

Deployed once.
No one can touch it.

Reflex deploys immutably on Ethereum mainnet and ownership is renounced at launch. After that, no one can change the parameters, move funds, or pause it — the contract just runs.

Contract0x0000…dEaD