Hooks
The Uniswap v4 hook catalogue, and the unsigned constructor calldata for a deployment a user would sign.
The Hooks category is two tools: hook_list and hook_draft. The order is the
loop — choose a hook, then build the deployment you would sign.
Choosing a hook
A Uniswap v4 hook's permissions are its address: the 14 permission bits are
encoded in the low bits of the deployed address, and the pool manager reads them
from there. Choosing a hook is therefore choosing what the address can do, which
is why hook_list reports each entry's permissions in full rather than as a
summary.
requiredCapabilities is the list your own integration has to satisfy before the
hook is deployable. A hook whose capabilities your deployment lacks is not
available to you however it is labelled.
auditStatus of experimental means putty has NOT externally audited it.
Drafting a deployment
hook_draft returns 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.
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. The tool reads no chain either — 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. Show "not mined yet" rather than a plausible-looking guess:
a wrong address here is a deployment that lands somewhere nobody looked.
Nothing is defaulted
A parameter the hook does not take is refused naming it and listing what it does take. A missing required one is refused naming it. A value of the wrong shape is refused with the shape. A zero-address treasury is refused by name, because a fee that settles nowhere is a transaction that is valid onchain and silently wrong.
Every constructor argument arrives as a string. A uint24 that came in as a
number has already lost precision on the wire.
dexscreener_get_meta_by_slug
Get a single Dexscreener meta by its slug, with the live pair list for every token in the meta. Hits `GET /metas/meta/v1/{slug}`. Returns a `MetaWithPairs` — the meta record (`description`, `icon`, aggregate market cap / liquidity / volume / token count, per-timeframe change / delta) plus a `pairs: Pair[]` array of the live liquidity pairs for every token in the meta. Use this to drill into a meta and see which pairs are moving; for the meta list itself, use `dexscreener_get_trending_metas`.
hook_list
List the Uniswap v4 hooks a user can deploy: for each one, what it does, the 14 permission bits its address encodes, the capabilities it requires, its audit status, and the file its Solidity lives in. Takes no arguments, is public, and is FREE. Call `hook_list` before `hook_draft` — the permission bits are what a hook's ADDRESS means (a v4 hook's permissions ARE its address), so choosing a hook is choosing what the address can do, and `auditStatus` of `experimental` means putty has NOT externally audited it. `requiredCapabilities` is the list your own integration has to satisfy before the hook is deployable; a hook whose capabilities your deployment lacks is not available to you however it is labelled.