Consumption / Deposit Guard

Refuse the allocation before the
capital ever moves.

Guard verdict0%today
Allocation rejected2 sec ago

USDe / USDC returns a 9-day horizon at confidence 0.74. The strategy requires a 14-day lock. Binding constraint: horizon.

A drop-in modifier that reads the current attestation and rejects an allocation when the horizon is shorter than the lock the strategy requires. Verification is a pure function of payload, signature, and registry state.

Every feature derives from public state. No licensed or privileged data.

DefiLlama
Merkl
Blockscout
Alchemy
Foundry
EIP-712
DefiLlama
Merkl
Blockscout
Alchemy
Foundry
EIP-712

You find out at the exit.

A lending market that accepts an LP position at a uniform LTV discovers the difference at exactly the wrong moment: when the campaign ends, depth collapses, and the liquidation executes into a book that no longer exists.

01

The position was never really 65% collateralised. The market had no way to observe that.

02

By the time the outflow is visible on-chain, the exit queue has already formed.

03

A guard that costs more gas than the deposit it protects will not be adopted.

Read the horizon.
Compare to the lock.
Refuse or allow.

01Verification

Recover the attester, check freshness, check the bond. Roughly 30k gas, no oracle call, no external dependency.

The signature is checked against the registry, the attestation is rejected if past validUntil, and the attester's bond is required to clear the minimum. All of it is view-only and costs the caller nothing beyond gas.

Verification

20 customers have complained about Horizon check this month

Guard outcomes
Rejected
Campaign
Bond status64% Allowed34% Rejected
Rejections by cause151

Horizon under lock: 151 of 204

02Ask the record

Ask the guard why, and get the binding constraint named.

A rejection is not a dead end. The guard returns which constraint bound — horizon, confidence, staleness, or bond ratio — so a caller can adjust the lock, cut the size, or pick a different venue rather than guess.

Why was this allocation rejected?

Chat

Binding constraints this month, by count:

151 – Horizon under lock

54 – Confidence under floor

40 – Attestation stale

26 – Bond ratio under ceiling

03Rotation, fired

The guard does not wait to be polled.

A horizon transition fires a webhook the vault acts on without a human. The guard blocks the allocation that should not happen; the hook unwinds the one that already did.

Webhook target
CleatonAPP8:01 AM

⚠ Horizon under lock. Surfaced and pushed here as it formed — the spike, the stalled case, the high-risk complaint, before it becomes a report.

One attestation.
Every consumer branches on it.

What it reads

The four values every surface reads.

Calls
Tickets
Chats
confidenceBps
thresholdBps
validUntil

What it derives

What the guard compares them against.

Required lock period
Minimum confidence
Staleness window
Bond ratio ceiling
Registry status
Revocation list

What it does with it

What the guard does about it.

Reverts the allocation
Names the binding constraint
Caps the position size
Emits an event for the record

The visible depth of a pool and the durability of that depth are different quantities, and on-chain systems currently conflate them.

Cleaton whitepaper

Durability Attestation for Autonomous Capital

Every covered pool, scored in public.

Durability attestation for autonomous capital. Read the horizon before the capital moves, not after.