MUTATIONANTIGENIC DRIFT
REV—

Awaiting deployment. No protocol figures are available yet.

FIELD REPORTFILE 001 · OPENREVISED EVERY BLOCK

MUTATION

ANTIGENIC DRIFT IN A ONE-SIDED LIQUIDITY HOOK

ABSTRACT — Every wallet that touches the pool is classified from its own holding clock and written onto the surface of a strain as a single capsomer. Thirty-two subunits, one bytes32 word, no other memory. The hook reads that surface to set the fees and the release cap of the next block, so the terms of trade drift with the population trading them. The surface never holds.

Specimen
—
Generation
—
Mutations observed
—
Last event
—
Observed at block
—
Source
AWAITING DEPLOYMENT

VIRION · UNSEEDED · 32 SUBUNITSAWAITING DEPLOYMENTNO CAPSOMER WRITTEN YET — EACH ONE WILL BE A WALLET
PLATE I

Thirty-two capsomers distributed on a Fibonacci lattice, one per codon of the on-chain sequence, each carrying a glycoprotein spike. A mutation sheds one subunit and assembles its replacement while a ring travels outward across the shell. The shell is unwritten: each subunit fills with the wallet whose swap wrote it, once the hook is live.

§ 01

Mechanism

NOT DEPLOYED

Steps 01 and 02 run inside the same transaction as the swap. Step 04 applies from the following block.

The strain has no governance, no oracle and no off-chain input. Its entire behaviour is a function of who traded it and how they held it, read four steps at a time.

  1. 01

    Wallets bind

    beforeSwap classifies the wallet from its amount-weighted holding clock and its record on the hook. Nothing is asked of the trader; the classification is read from state they already wrote.

  2. 02

    The capsid drifts

    afterSwap charges the drift tax as a return-delta, writes one capsomer onto the shell and sheds the oldest. The sequence is a single bytes32 word, so the write costs one slot.

  3. 03

    The surface changes

    Expression, the dominant protein and the four adaptive scores are recomputed from the new surface. They are not stored opinions: they are a reading of the last thirty-two events.

  4. 04

    The hook evades

    The next block trades under fees and a release cap derived from that reading, frozen before anything in the block can touch it. A flash loan cannot move the fee it is about to pay.

01.1Surface proteins

Seven classifications, returned verbatim by MutationLens.geneName(). Expression is the share of the current thirty-two subunits carrying each one, and is empty until the first swap writes one.

Table 1 — protein taxonomy and live expression
ProteinOn the capsidReadingExpression
GENESISbloom at the siteThe founder sequence the strain was deployed with, before any wallet bound to the pool.—
WHALEthe shell swellsA large share of the reservoir moved in one interaction. The whole shell swells.—
DIAMONDlocks into a facetA held position proven through expressDiamond(). The subunit locks into a rigid facet.—
PAPERsheds into fragmentsA fast exit, classified from the token’s holding clock. The subunit sheds into fragments.—
ACTIVEring crosses the shellOrdinary sustained interaction. A clean ring travels outward across the shell.—
LIQUIDITYglycoprotein extendsInventory returned to the strain. The glycoprotein at that site extends outward.—
MUTANTlattice twistsBehaviour the classifier could not place. The local lattice twists out of register.—
§ 02

The surface

32 SUBUNITS · UNWRITTEN

Hovering a cell names the wallet that wrote it. The same reading is available on the specimen in Plate I.

A single bytes32 word. Every interaction writes one capsomer and sheds the oldest, so the surface is a rolling record of the last thirty-two events and nothing else. There is no archive on chain: what fell off the end is gone.

00
16

RAW0x0000000000000000000000000000000000000000000000000000000000000000

Fig. 1The expressed sequence, read left to right, oldest at position 00. Every slot is unwritten: no wallet has interacted with the pool yet.
Table 2 — adaptive scores
ScoreReadingValue
AdaptationHow fast the surface has been rewritten lately.—
DefenseWeight of held positions against fast exits.—
RewardShare of the drift tax returned to holders.—
VolatilityDispersion of interaction size and side.—
Strain id · v0
—
Lineage hash
—
Mutations
—
Last mutation
—
Last mutation block
—
Dominant protein
—

02.1Terms of the current block

The surface does not trade, it sets terms. getCurrentParameters() freezes these once per block, before anything in the block can mutate the surface they were derived from.

Table 3 — not yet set
ParameterNoteValue
Drift tax · buyCharged on the token leg, above the pool's static LP fee. Surplus over the base rate is burned on receipt.—
Drift tax · sellCharged on the ETH leg, raised further for wallets read as PAPER. Surplus is queued for buyback-and-burn.—
Release capGross reservoir a single block may release, fixed by that block’s first buy. Selling back inside the block does not reopen room.—
GenerationLifecycle state, driven by remaining reservoir. Dominant protein: GENESIS.—

† Nothing is deployed yet, so there are no terms to report. These are the values MutationHook.getCurrentParameters() will return.

§ 03

Reservoir

NOT DEPLOYED

One side only. There is no paired reserve to drain, so the usual exit does not exist.

The strain declares its reservoir at deploy and releases it through one fixed range. Available supply is read from the pool's own tick storage, not from a token balance, so it cannot be inflated by liquidity sitting in some other pool.

RELEASED INTO POOLHELD BY STRAIN
Fig. 2Release against the declared reservoir. Nothing has been declared or released yet.
AVAILABLE—MUT
Table 4 — reservoir
Declared reservoir—
Quote reserve—
Release cap / block—
Released this block—
Tick range—
Current tick—
SIDESINGLE — NO PAIRED RESERVE
RANGEFIXED AT DEPLOY
SOURCEPOOL TICK STORAGE

03.1Tax sink

The drift tax does not accrue to a treasury. Buy surplus is burned on receipt; sell surplus is queued for buyback-and-burn.

Table 5 — MutationInventory
Burned—
Queued for buyback—
Owed to recipient—
Last buyback—
§ 04

Transmission

HEAD · —

The log fills from MutationDetected once the hook is deployed. Nothing is simulated in its place.

Wallets are the input. Every interaction is classified into a surface protein, writes one capsomer onto the shell and is recorded in the lineage. The strain keeps no other memory.

Table 6 — observation log, newest first
TimeProteinWalletBlockActionFee
No events recorded.

04.1Lineage

Read downward, oldest first. Selecting an entry expands its record and lights the subunit it wrote on the specimen in Plate I. The lineage is empty: nothing has written to the surface yet.

  1. No entries.
§ 05

Contracts

NOT DEPLOYED

Contract names are the Solidity ones and are not renamed for this document.

One hook, one strain, one canonical pool: native ETH against the token at a static LP fee. The pool is created and liquidity added through the standard Uniswap v4 interface — the hook never gates initialization or liquidity.

Table 7 — deployment register
ContractRoleResponsibilityAddress
MutationHookThe capsidUniswap v4 hook on beforeSwap and afterSwap. Classifies the wallet, charges the drift tax as a return-delta, writes a capsomer and freezes the next block’s parameters.0xF15B…C0C4
MutationTokenThe clocksFixed-supply ERC-20 recording two amount-weighted clocks per holder: when they acquired, and whether what they hold came straight out of the pool.NOT DEPLOYED
MutationInventoryThe tax sinkReceives the drift tax, credits the base share, burns the buy surplus on receipt and queues the sell surplus for buyback-and-burn.0x1FC6…AC28
MutationLensThe read modelStateless view contract this document reads: getOrganism, getGenome, walletClassOf, quoteSwapFee. Computed with the same libraries the hook executes.0x32D9…106E

05.1Pool

Pair
ETH / MUT
LP fee
—
Range
—
Network
ETHEREUM