Introduction
HookKit is the developer infrastructure for programmable liquidity: one API for building on Uniswap v4 hooks on Robinhood Chain (chain ID 4663).
Uniswap v4 lets any pool attach a hook: a contract that runs before or after swaps, liquidity changes, and donations. Hooks make liquidity programmable (dynamic fees, custom curves, launchpads, limit orders, oracles), but they also make every pool a little different. HookKit gives you one layer to:
- discover every hook and pool on Robinhood Chain, indexed from the PoolManager
- decode what a hook is allowed to do from its address
- inspect deployed hook bytecode for proxies and upgradeability
- mine CREATE2 salts so your own hook deploys with the right permissions
- read live pool state: price, tick, liquidity, current LP fee
- quote through a pool’s hook with the onchain V4Quoter
- build unsigned swap transactions through Permit2 and the UniversalRouter
- give AI agents the same tools over MCP
How it fits together
Section titled “How it fits together”Robinhood Chain ↓Uniswap v4 PoolManager ← hooks ↓HookKit index + API (hooks, pools, quotes, swaps) ↓Apps / agents / hook developers / LPsNon-custodial
Section titled “Non-custodial”HookKit only reads the chain and returns data or unsigned calldata. It never holds keys, never signs, and never submits transactions. You sign with your own wallet.
Uniswap v4 on Robinhood Chain
Section titled “Uniswap v4 on Robinhood Chain”GET /v1/chain returns these addresses; they are the ones HookKit reads from
and builds against.
| Contract | Address |
|---|---|
| PoolManager | 0x8366a39cc670b4001a1121b8f6a443a643e40951 |
| PositionManager | 0x58daec3116aae6d93017baaea7749052e8a04fa7 |
| StateView | 0xf3334192d15450cdd385c8b70e03f9a6bd9e673b |
| V4Quoter | 0x8dc178efb8111bb0973dd9d722ebeff267c98f94 |
| UniversalRouter | 0x204FAca1764B154221e35c0d20aBb3c525710498 |
| Permit2 | 0x000000000022D473030F116dDEE9F6B43aC78BA3 |
Explorer: robinhoodchain.blockscout.com.
Next steps
Section titled “Next steps”Head to the Quickstart to make your first API call, or read Hook permissions for the model behind it all.
