Uniswap v4 · Live proof on Base Sepolia

Markets with lifetimes.

Ephemeral liquidity infrastructure for autonomous agents and programmable assets.

Finite market lifetime

Official ShadeHook crescent-hook mark
ACTIVEBOUNDARYTERMINAL

Markets that know when to stop.

V2 live proof: fixed 900-second time-bounded Session LP.

Session duration
15 minutes → 7 days

Configurable per mandate.

Canonical live proof
900-second Session LP on Base Sepolia

ShadeHook sessions can be configured within the supported duration bounds. The published V2 canonical lifecycle evidence demonstrates one exact 900-second session on Base Sepolia.

Duration is chosen before deployment. Expiry is fixed at initialization time plus that duration and cannot be extended through the UI. Swaps are available within the mandate and refused when it ends; liquidity withdrawal remains a separate action.

TIME-BOUNDED LIQUIDITY

ShadeHook V2 — Live Time-Bounded Liquidity Lifecycle Proven

A time-bounded Session LP completed end-to-end on Base Sepolia.

  1. 01Mandate
  2. 02Coordinator deployment
  3. 03Permit2 authorization
  4. 04Hook + pool initialization
  5. 05Liquidity provision
  6. 06Active swap
  7. 07Exact 900-second expiry
  8. 08Post-expiry swap refusal
  9. 09Full liquidity withdrawal
  10. 10Canonical evidence

LIVE PROOF

TIME-BOUNDED SESSION LP
Network
Base Sepolia
Evidence execution mode
RecoveryRecovery identifies the execution/evidence path used for this lifecycle; it does not change the proven 900-second Session LP behavior.
Session
900 seconds
Lifecycle transactions
8 canonical transactions
Active swap
0.01 USDC → 0.000009865332631547 WETHUSDC input raw: 10000
WETH output raw: 9865332631547
Observed in this specific Base Sepolia proof; not a market price benchmark.
Expiry enforcement
Post-expiry swap refused with MarketExpired
Expiry refusal
Read-only eth_call · No state change · No gas paid
Final liquidity
0
Withdrawal
Confirmed
Confirmations required
20-confirmation policy satisfied
Minimum observed at evidence generation
145
Evidence status
VALID

V2 canonical transaction ledger

  1. Coordinator deployment0xef79c053cab41809
  2. Permit2 LP USDC authorization0x3668fa97b9c607da
  3. Permit2 LP WETH authorization0x13dbcb777284ab3d
  4. Permit2 swap authorization0xac12e8e12546c337
  5. Atomic hook deployment + pool initialization0x45293d0a97136dbd
  6. Add liquidity0x98e757457f53838a
  7. Active swap0x8b081b69340781a5
  8. Full withdrawal0x3c1cc2a81f9ac551
Proposal
BASE_SEPOLIA_V2_FRESH_20260916_232922
VIEW CANONICAL LIFECYCLE PROOF

WHAT WAS PROVEN

ShadeHook enforced a time-bounded liquidity session onchain. Liquidity was available during the mandate, an active swap executed successfully while the session was live, the same execution path was refused after the exact expiry, and the LP position was fully withdrawn afterward.

WHY IT MATTERS

Autonomous liquidity should not have to remain available indefinitely. ShadeHook gives agents a time-bounded execution window with an enforceable end and a verifiable lifecycle receipt.

Liquidity when an agent needs it. Unavailable when the mandate ends.

The live proof used a fixed 900-second session. ShadeHook’s product direction supports configurable bounded mandates, but this specific V2 evidence proves the exact 900-second lifecycle executed on Base Sepolia.

01 · The primitive

A market should be able to end.

Ordinary persistent AMMs remain swappable while usable liquidity exists. ShadeHook binds a canonical market to an onchain terminal timestamp.

PERSISTENT AMM

Swaps continue while liquidity remains.

Swaps remain available while usable liquidity exists.

SHADEHOOK MARKET

Swaps reject after the terminal timestamp.

After expiry, swaps reject at the hook level. LP withdrawal remains available afterward; it is not automatic.

02 · Thesis

Tokenization makes assets programmable. ShadeHook makes their markets programmable.

Current proof V2 time-bounded Session LP · 900 seconds · USDC / WETH · Base Sepolia

Future direction Configurable time-bounded mandates for autonomous agents and programmable assets

Proven scope The V2 run demonstrated the exact 900-second lifecycle, including expiry refusal and full liquidity withdrawal.

03 · Lifecycle

A finite market, in one continuous rail.

A canonical market runs on a defined lifetime. At expiry, new swaps reject at the hook level; LP withdrawal and accounting reconciliation remain available.

  1. 01

    OPEN

    The canonical market initializes and its lifecycle begins.

  2. 02

    TRADE

    Swaps are accepted while the market is active.

  3. 03

    EXPIRE

    At the terminal timestamp, future swaps reject at the hook level.

  4. 04

    SETTLE

    Trading remains closed while LP withdrawal and accounting remain available.

V2 live proof: fixed 900-second time-bounded Session LP on Base Sepolia.

04 · Earlier AgentKit validation

The agent respected the market boundary.

Separate earlier proof: same-market lifecycle verified on Base Sepolia. This is not the V2 Session LP run above.

SAME MARKET

EXECUTE EXPIRE REFUSE WITHDRAWNatural expiry, same-PoolId refusal and LP withdrawal reconciled.

ACTIVE PHASE

INSPECT PREPARE HUMAN APPROVAL EXECUTE RECONCILEA bounded swap proceeded only after approval.

On Base Sepolia, the same ShadeHook market executed a bounded AgentKit swap after explicit human approval, naturally expired, was refused by AgentKit on that same PoolId, and then allowed the LP to withdraw liquidity after expiry.

05 · Earlier proof ledger

A completed same-PoolId lifecycle.

This ledger belongs to an earlier, separate ShadeHook proof and is not the V2 time-bounded Session LP lifecycle shown above.

VERIFIED · BASE SEPOLIA
AgentKit transaction

One approved CDP-wallet transaction · receipt block 46220424

LP withdrawal after expiry

LP-signed withdrawal · receipt block 46527419

Same PoolId
0x787843cf…055e2ab8
CP94
Complete earlier lifecycle proof
Network
Base Sepolia · 84532
Technical evidence
Swap receipt: amountIn / output / minOut
10,000 raw USDC (0.01 USDC) · 9,662,265,651,290 wei WETH · 9,613,954,323,033 wei WETH
Swap receipt: liability / backing
1 → 2 / 1 → 2
Swap receipt: tick / liquidity
207033 → 206827 · 30000000000
Withdrawal liquidity
NFT 27245 · 30,000,000,000 → 0
Returned to LP
0.968680 test USDC · 0.000929155699767676 WETH
After withdrawal
EXPIRED · MARKET_EXPIRED · LP nonce 23 → 24
Final liability / total liability / backing
2 / 2 / 2
Final custody: native / USDC / WETH
Coordinator 0 / 0 / 0 · ShadeHook 0 / 0 / 0

06 · Architecture

A small protocol surface.

Independent lifecycle enforcement and PoolManager-native accounting stay grouped around one canonical market.

Market identity
Canonical PoolKey / PoolId binding · expected initial price · one-shot initialization
Lifecycle
Time-bounded liquidity · V2 live proof fixed at 900 seconds on Base Sepolia · swaps reject at expiry · LP withdrawal remains available afterward
Accounting / control
Immutable quote currency · bounded immutable fee config · ERC-6909-backed liabilities · no owner, upgrade, pause, rescue, or sweep

07 · Status

Proof with clear limits.

Verified
V2 time-bounded Session LP on Base Sepolia · 8 canonical transactions · exact 900-second expiry · MarketExpired refusal · full withdrawal · VALID evidence
Limits
Fixed 900-second proof · expiry refusal via read-only eth_call · withdrawal was not automatic · independent audit, production usage, autonomous execution and arbitrary durations are not proven by this run
Future direction
Configurable time-bounded mandates for autonomous agents and programmable assets. The V2 evidence proves the exact 900-second session on Base Sepolia.