Launch
Start a Putty Launch Kit — the whole idea-to-launched-token path as linked runs on one project.
The Launch category has two tools today. launch_kit_start is the top of the
Kit rather than the whole of it; onchain_apply writes a launch the caller
already owns into a project's onchain files.
launch_kit_start
It starts a Putty Launch Kit as ten linked runs on ONE project:
- idea
- brand kit
- marketing pack
- a landing site with onchain blocks
- a contract — a plain ERC-20 with an optional Uniswap v4 hook, or Pons v2
- security review sub-runs
- the launch itself
- the pool, with the putty hook
- applying the pool to the site
- launch-post drafts
Each step is a run you can watch, and the project keeps them together, so a failure in step 4 does not lose steps 1 to 3.
Price it first
quoteOnly: true returns the price without spending anything. Without it, a
caller who cannot afford the Kit gets an error naming what it costs and what to
do about it: buy a credit pack, or hold $PUTTY to reach a higher tier.
What it does not do yet
Step 5 can produce a Pons v2 launch, but the Pons provider is hard-blocked —
it throws PONS_BLOCKED_REASON rather than guessing at an interface it has not
verified. The Pons curve ABI has to be confirmed before the path is safe to
turn on. Until then the erc20-direct provider is the one that works.
hook_draft
Build the UNSIGNED deployment for one catalogue hook and its constructor arguments: the ABI-encoded constructor calldata, the hook's audit status, the permission bits the deployed address will carry, and the expected address if a salt has been mined for these exact arguments. **This is calldata, not a deploy.** putty holds no signer and broadcasts nothing — the user signs the deployment, and the fact that a draft exists is not their approval of it. Free, and it reads no chain: a draft is identical on every chain, so the chain-specific guards belong to the path that builds and signs. `expectedAddress` is `null` until a salt has been MINED for these exact constructor arguments — a client must show 'not mined yet' rather than a plausible-looking guess, because a wrong address here is a deployment that lands somewhere nobody looked. Nothing is defaulted: a parameter the hook does not take, a missing required one, a value of the wrong shape, and a zero-address treasury are each refused by name.
LaunchKits
The one Launch tool: ten linked runs on one project, from idea to