A Uniswap v4 hook on Robinhood Chain

The liquidity lives in the hook.
There is no withdraw function.

A token launchpad, and the first thing built on UNTOLL, the enforcement layer for agent authority. The bonding curve is the pool, graduation is a state check the code runs, and an agent can hold a scoped, revocable key here because the layer underneath enforces that scope at settlement.

130 tests green. Deployed and source-verified on chain 46630.
the graduation state-checkLaunchHook.sol
// graduation is a state check the code runs, not an admin call
function _afterSwap(...) internal {
  if (reserves >= GRAD_THRESHOLD)
    _graduateInPlace(poolId); // same PoolId, no migration
}

// the pool's liquidity is held by the hook. there is no path out:
function withdraw(...) // absent by construction
function sweep(...) // absent
function rescue(...) // absent
A reading of the graduation state-check and the absent withdraw path. Read the verified source → Any figure shown on this site is illustrative sample data.
the custody model

The pool stays in the hook, and an agent can act on it either way.

The hook holds the liquidity

The bonding curve is the pool. Graduation is a state check the code runs on the same PoolId, so tokens graduate in place with no migration. The pool's share of every fee is held as liquidity, and the contract carries no withdraw, sweep, or rescue path. read how the money stays in →

A key an agent can use and cannot abuse

An agent holds a scoped, revocable key. The spending limits live in the wallet, not in the signature the agent produces, so a jailbroken model cannot widen its own allowance. A jailbroken agent tries five ways to drain it, and five revert. run the containment proof →

the toll, on-chain

Every trade pays 1%. The hook splits it and keeps the pool's share.

1% fee, split on-chain · proposed
35Operationsruns the machine
30Creatorthe launch's own cut
25Active traderscontemporaneous, non-wash
10Buybackback into the curve
POLThe poolheld in the hook, no withdraw

The pool is not one of the four. It is held in the hook and compounds, and no function withdraws it. Fee shares are proposed sim inputs the operator signs before launch.

The board

the launchpad the hook runs, and its proof of traction
preview · illustrativeSee all →
your standing

Your standing is the flex.

The on-chain record of what you shipped: launches that survived, calls that landed, welded to your handle. It is how you reach the curated lane, the SDK, and the sandbox. Show up and it climbs, go quiet and it decays.

See the standing sheet →
worth posting

When it's good, show it.

V
vlad.eth
@vladonchain · standing 1,240
I was early on $MERRY.
joined at curve 14% · rank 7 this run
the agent lane

A key an agent can use and cannot abuse.

The spending limits live in the wallet, not in the signature the agent produces, so a jailbroken model cannot widen its own allowance. A jailbroken agent tries five ways to drain a scoped key, and five revert, while the one allowed call still goes through. Run it yourself: no key, no funds, on local Prague and a fork of 46630.

Run the containment proof →Scoped keys