CRYOINDUSTRIES · CRYOPRESERVATION OF LIQUIDITY
ETHEREUM
NO DEPLOYMENT BOUND · EVERY FIGURE BELOW IS A SPECIMEN RECORD, NOT LIVE CHAIN DATA
CRYO INDUSTRIES · OPERATING MANUAL · REV. A

How it works

Everything the interface assumes you already know. Read §02 and §05 if you read nothing else: the cycle and the forfeiture rule are the two things people get wrong.

01

What this is

CRYO is a hook on a Uniswap v4 pool. A hook is a contract the pool calls on every swap and every liquidity change, and which is allowed to act at those moments.

What CRYO does at those moments is simple: it takes a slice of each swap and freezes it rather than paying it out, then decides who gets it based on who was still there at the end. The game is played between liquidity providers, not against traders.

The side effect is the useful part: liquidity in this pool is deep and sticky, and just-in-time liquidity earns nothing here by construction.

02

The batch cycle

Providers are grouped into batches. Exactly one batch is live at a time, and the next one opens only when the current one matures.

A batch runs three days of enrollment, then thirty sealed days. The frozen cut accrues across the whole period. The next batch opens only when this one matures.3d30d SEALED — no new pods, cut still accruingBATCH OPENSday 0ENROLLMENT CLOSESday 3 · pods locked inMATURESday 33 · collect · next batch opensYOU CAN JOINTOO LATE FOR THIS BATCH — WAIT FOR THE NEXTWITHDRAW ANYWHERE IN HERE AND YOU FORFEIT YOUR WHOLE FROZEN SHARE

A batch accrues the frozen cut across its whole life — the three-day enrollment window and the thirty sealed days alike. That is why the sealed period is worth sitting through: the escrow keeps filling long after the doors close.

Nothing has to be scheduled for a batch to roll. The first swap or liquidity change after maturity does it. Anyone impatient can call rollBatch() themselves; nobody has to.

03

Pods

A pod is your position's membership in a batch. Add liquidity during an enrollment window and a pod opens, sized by the liquidity you brought. It shows up as a berth on the rack.

A pod is identified exactly as the pool identifies your position — owner, tick range and salt — so it maps one-to-one onto it and cannot be forged.

Name yourself as the beneficiary. The pool records whichever router you used as the position owner, not you, so a pod carries a beneficiary address declared in hookData when it enrols. It is fixed for the life of the pod. If you pass nothing, the caller is used — which is your router, and probably not what you want.

One position key cannot hold pods in two batches. To enrol in a later batch while an earlier pod is still alive, use a different salt.

Technical cutaway of a cryopreservation podFIG. 1 · POD, SECTIONED
04

The frozen share

Every exact-input swap has 0.20% of its input diverted into the live batch's escrow. This is charged on top of the pool's own LP fee — it never reduces what providers earn the ordinary way. A trader pays pool fee + 0.20%.

The escrow is split across the pods of that batch pro-rata to liquidity, from the moment each enrolled. Enrolling late does not pay you for cuts taken before you arrived.

Escrow is held per batch and never mixed between them. Because the pool has two currencies, so does the escrow: two buckets, two claims.

If a swap happens when no pod is enrolled, nothing is taken at all. CRYO will not create escrow that has no owner.

05

Leaving

When you withdrawWhat happens to your frozen share
At or after maturityPaid in full. No penalty, partial or total withdrawal alike.
Any time before maturityFORFEITED ENTIRELY to the pods that stayed.

A partial withdrawal is a total forfeit. Removing one wei of liquidity destroys the whole pod and hands its whole frozen share to the survivors. This is brutal on purpose: it is what makes the rule legible, and what makes the survivors' share worth anything.

Your liquidity itself is never locked. You can withdraw it whenever you like — CRYO only decides what happens to the frozen share when you do.

The pod sheet states the exact consequence, in tokens, before you sign anything. If you only want the frozen share and would rather keep the position, call harvest() after maturity: it credits you without touching your liquidity.

06

Parameters

All of these are immutable and fixed when the contract is deployed. There is no owner, no role, no pause, no rescue, no proxy and no upgrade path. Nothing can change them, and nothing can reach the escrow but the pods that earned it.

ParameterValueMeaning
ENROLLMENT_WINDOW3 daysHow long a batch accepts new pods after it opens.
MATURITY30 daysHow long it stays sealed after enrollment closes.
FROZEN_PIPS2000 = 0.20%Share of swap input frozen, in v4 fee units where 1e6 is 100%.
MIN_LIQUIDITY1e15Dust floor. Below it, liquidity is accepted by the pool but not enrolled.
07

Constraints

  • Exact-input swaps only. Exact-output reverts. At the moment CRYO has to act, an exact-output swap's input amount is not yet known, so the cut would have to come out of the other currency — doubling the cases in the one function where a mistake costs real money. The constraint is taken deliberately.
  • Selling the position does not move the frozen share. It pays the beneficiary named at enrollment. If you transfer the position NFT, settle the frozen share separately.
  • One pool. The hook binds to a single pool the first time it is initialized and refuses every other.
08

What CRYO does not do

The frozen share is compensation, not yield. Providing liquidity here carries exactly the impermanent loss it always does, and a batch that survives to maturity has not been made whole against it. Nothing on this site should be read as saying otherwise.

What CRYO changes is who pays whom: the providers who leave pay the providers who stay. That is the whole product. If the pool moves against you, it will still have moved against you.

09

Status

Network
ETHEREUM
Hook address
NOT DEPLOYED
Interface
SPECIMEN RECORD
Audit
NONE

No contract is bound to this interface yet. Every figure shown elsewhere on this site is a specimen record, marked as such, and is not read from any chain.

The contracts are tested but unaudited. Treat them accordingly.

Back to the rack