Protocol

Five contracts, one balance sheet.

A Resonator is a Uniswap v4 pool with a Hook that owns the position. Around it sit an ERC-20 representing claims on that position, a settlement contract that fills intents against the same depth, a read-only decomposition and a timelock. Nothing here is a wrapper around somebody else's vault.

Architecture

How the pieces sit.

The Hook owns a v4 pool position; the Overtone contract issues claims on it; the settlement contract routes intents against the same depth. EOA Depositor v4 Hook · owns the position ResonatorHook.sol ERC-20 Overtone Uniswap v4 PoolManager singleton Batch clearing AntiphaseSettlement.sol
  • Deposit and mint
  • Claims and settlement
  • Redemption reverses whichever path it came in on.
Rebalancing

The Hook retunes, you do not.

A concentrated position drifts out of range as price moves, and re-centring it by hand is the single largest source of cost and error for an LP. The Hook does it inside afterSwap, on a rule rather than a schedule.

The rule is a band, not a target. Rebalancing whenever the price moves at all would burn the position's earnings in gas and adverse selection; rebalancing on a timer is arbitrary. The Hook acts only when the position has drifted past a configured fraction of its own width.

if |tick centre| > drift × width  →  retune

Fires roughly a dozen times a week on a volatile pair, and not at all on a stable one.

Spectra

Where the yield
actually comes from

Fee income by harmonic — the decomposition Spectra publishes per Resonator. A single APY figure hides whether you are being paid for volume, for volatility, or for taking the wrong side of a drift.

Fee income
Swap fees earned by the position while in range.
+11.4%
Rebalance drag
Gas and adverse selection paid at each retune.
−2.9%
Divergence
Value lost against simply holding the pair.
−4.8%
Net
What the share price actually did over the window.
+3.7%

Illustrative. The point is that all four lines are published, not just the first one.

Parameters

What can be changed, and by how much.

Each of these sits behind a timelock long enough to exit first. The bounds are enforced in the contract, not by policy.

Drift band
Fraction of position width the price may travel before the Hook retunes.
0.15 – 0.60
Protocol fee share
Portion of trading fees retained; the rest raises the Overtone share price.
0% – 20%
Batch interval
How long Antiphase accumulates intents before clearing.
2s – 30s
Solver bond
Stake a solver posts against failing to settle a batch it won.
≥ 50 ETH
Timelock
Delay between a parameter change being queued and taking effect.
48h
Redemption
Cannot be paused, rate-limited, queued or fee'd. Not a parameter.
immutable
Centralisation

What is centralised today.

Every protocol here starts with more trust in it than it wants to end with. These are the parts that are not trustless yet, named rather than left for someone to find.

A multisig holds the timelock admin
Four of seven signers, published at deployment. It can queue any parameter change inside the bounds on this page — and nothing outside them.
4-of-7
The solver set is permissioned at launch
Solvers post a bond and are allowlisted. A colluding majority could decline to settle a batch; it could not settle one at a price outside your limit.
allowlisted
Batch sequencing is run by one operator
Ordering inside a batch is worthless because the batch clears at one price, but the operator chooses when a batch closes.
single
What none of the above can do
Touch a balance, mint an Overtone, block a redemption, or change a parameter without the 48-hour delay. Those are structural.
nothing
Deployments

Contracts

Addresses publish at mainnet deployment. Nothing is live yet, and this page will say so until it is.

ResonatorHook.sol
v4 Hook — owns and retunes the position
not yet deployed
Overtone.sol
ERC-20 claim, one per Resonator
not yet deployed
AntiphaseSettlement.sol
Batch clearing and residual routing
not yet deployed
SpectraOracle.sol
Yield decomposition, read-only
not yet deployed
Timelock.sol
48h delay on every parameter change
not yet deployed

Read the contracts before you trust them.

Source publishes with the first deployment. Until then this site is a specification, and says so.