A Uniswap v4 hook that gives a token a payroll.

Launch a token.
Hire a crew.

The bonding curve is the pool, and it opens in place. Every trade pays a toll, 2.00% on the curve and 1.00% after, and the toll splits four ways: 45 to you, 25 to the crew you name, 15 to buy the UNTOLL token and 15 to the protocol. A launch-window snipe premium goes to the pool, outside the four buckets. The pool stays in the hook, and no function withdraws it.

Public testnet Source-verified contracts
the open and the splitLaunchHook.sol
if (reached) {
  _graduate(poolId, key, L);
  // ...
}

uint16 public constant PROTOCOL_BPS = 1500;
uint16 public constant CREATOR_BPS = 4500;
uint16 public constant CREW_BPS = 2500;
uint16 public constant BUYBACK_BPS = 1500;
Lines from the hook source for the Elysium deploy. Opening is a state check the code runs, not an admin call. How a pool opens →
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. Opening is a state check the code runs on the same PoolId, so tokens open in place. The curve's liquidity stays in the pool, and no function removes the pool's liquidity. 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. Five stopped, zero wei moved. run the containment proof →

the toll, on-chain

The toll: 2.00% on the curve, 1.00% once the pool opens, split four ways on every trade.

2.00% on the curve, 1.00% after · every trade
45Creatorthe launcher's cut, for the life of the coin
25Crewthe crew the creator named
15Buybackbuys the UNTOLL token
15Protocolruns UNTOLL
POLThe poolheld in the hook, no withdraw

The pool is not one of the four. It is held in the hook, and no function withdraws it. The shares: creator 45, crew 25, buyback 15, protocol 15.

The board

every launch on the curve, with its fee and its crew
See all →

No launches on the deploy build yet.

The first one lands on this board with its hash.

your standing

Your standing is the flex.

Designed as 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.

U
your.handle
@you · your standing
I was early on $TICKER.
your curve entry · your rank 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. Five stopped, zero wei moved, and 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