# Uniswap v4 hooks

> Every v4 hook seen on chain, with pool count, volume, verification, risk level and flags.

Source: https://docs.crius.sh/reference/pools/uniswap-v4-hooks/ · Updated 2026-10-28

GET https://api.crius.sh/v1/{chain}/hooks

Every v4 hook seen on chain, with pool count, volume, verification, risk level and flags. Filter by `risk_level` (e.g. `high,critical`), `flag`, `verified` or `launchpad`; `sort=risk` lists the worst first.

> Permissions decoded from the hook address; code, observed outcomes and code-family history (refreshed every 30 min); live pool counts.

## Path parameters

`chain`stringrequired

Chain slug (`robinhood`) or chain id (`4663`).

## Query parameters

`sort`string Default `pools`

Sort order. One of `pools`, `volume_24h`, `risk`.

`verified`boolean

`true` or `false`: only verified (or unverified) hooks.

`risk`string

Only hooks with this risk flag.

`risk_level`string

Low | medium | high | critical (comma-separated)

`flag`string

E.g. honeypot\_family.

`launchpad`string

Launchpad id, such as `pons` or `flap` (see /launchpads).

`limit`integer Default `50`

Maximum number of items to return.

## Guides that use this endpoint

[**Check the risk of a Uniswap v4 hook**Find out what a Robinhood Chain token's Uniswap v4 hook can do and what happened in its pools (taxes, honeypots, rugs). Real examples, including critical hooks.](https://docs.crius.sh/guides/check-uniswap-v4-hook-risk/)[**Robinhood Chain API for analytics dashboards**Build Robinhood Chain dashboards with the Crius API: DEX volume without wash trades, TVL, launches per launchpad, hourly patterns and token charts.](https://docs.crius.sh/use-cases/analytics-dashboards/)[**Robinhood Chain API for launchpad and DEX builders**How launchpad, DEX and v4 hook teams use the Crius API for launch lifecycles, launchpad stats, creator fees, hook records and pool data on Robinhood Chain.](https://docs.crius.sh/use-cases/launchpad-and-dex-builders/)

## Errors

Errors come back as `{ "error": { "code", "message" } }` with the matching HTTP status: `400` bad parameter, `401` missing or invalid key, `403` endpoint above your plan, `404` unknown token or address, `429` rate limit or credits used up (with `Retry-After`). See [Errors](https://docs.crius.sh/errors/).

## More pools & hooks endpoints

[GET/pool/{pool}Pool detailAnonymous · 1 cr](https://docs.crius.sh/reference/pools/pool-detail/)[GET/hook/{address}Hook detailFree · 2 cr](https://docs.crius.sh/reference/pools/hook-detail/)

Request Needs a Free key

 

**cURL**

```bash
curl "https://api.crius.sh/v1/robinhood/hooks?sort=pools&limit=20" \
  -H "x-api-key: $CRIUS_API_KEY"
```

**JavaScript**

```js
const res = await fetch("https://api.crius.sh/v1/robinhood/hooks?sort=pools&limit=20", {
  headers: { "x-api-key": process.env.CRIUS_API_KEY },
});
const { data, meta } = await res.json();
```

**Python**

```python
import os, requests

r = requests.get(
    "https://api.crius.sh/v1/robinhood/hooks?sort=pools&limit=20",
    headers={"x-api-key": os.environ["CRIUS_API_KEY"]},
)
body = r.json()
print(body["data"])
```

Response 200 · captured Oct 28, 2026

```json
{
  "data": [
    {
      "address": "0x4e3468951d49f2eea976ed0d6e75ffcb44a9a544",
      "attribution": "unattributed",
      "capabilities": {
        "can_block_swaps": false,
        "can_gate_liquidity": false,
        "can_modify_liquidity_amounts": false,
        "can_modify_swap_amounts": true
      },
      "code": {
        "admin_functions": [],
        "checked_ts": 1793207143998,
        "code_hash": "0xc41a91106002f15bf70ae266824317f3f3ac638ac72ca5253bae395fa47ee631",
        "family": "0xaa37a5a3457a",
        "kind": "contract",
        "logic": null,
        "owner": null,
        "ownership": "none",
        "size": 25533
      },
      "events_sample": [
        "Swap",
        "ModifyLiquidity",
        "Create"
      ],
      "family": {
        "honeypot_pct": 0.0318652,
        "hooks": 1,
        "id": "0xaa37a5a3457a",
        "liquidity_pulled_pct": 0.0389463,
        "pools_traded": 28244,
        "taxed_pct": 1.78091,
        "verified_hooks": 1
      },
      "flags": [],
      "flags_hex": "0x2544",
      "launchpad": null,
      "launchpad_name": null,
      "name": "DopplerHookInitializer",
      "observed": {
        "dynamic_tax_pools": 24,
        "first_trade_ts": 1782922953000,
        "honeypot_pools": 9,
        "last_trade_ts": 1793223683000,
        "liquidity_pulled_pct": 0.0389463,
        "liquidity_pulled_pools": 11,
        "max_buy_tax_pct": 99.52,
        "max_sell_tax_pct": 93.49,
        "median_pool_life_min": 2138,
        "pools": 224061,
        "pools_traded": 28244,
        "tax_measured_pools": 5814,
        "taxed_10pct_pools": 29,
        "taxed_pools": 503,
        "volume_usd": 1968346259
      },
      "pattern": {
        "description": "hooks that change swap amounts only",
        "honeypot_pct": 0.0696347,
        "id": "swap_delta_only",
        "liquidity_pulled_pct": 7.93603,
        "pools_traded": 43082,
        "taxed_pct": 15.7537
      },
      "permissions": [
        "beforeInitialize",
        "afterAddLiquidity",
        "afterRemoveLiquidity"
      ],
      "pools": 224090,
      "risk": [
        "can_modify_swap_amounts"
      ],
      "risk_level": "low",
      "stats": {
        "trades_24h": 59387,
        "volume_usd_24h": 7478239
      },
      "verified": true
    },
    {
      "address": "0x48b8f6ad3a1b4aa477314c9a23035b8f84dde8cc",
      "attribution": "unattributed",
      "capabilities": {
        "can_block_swaps": true,
        "can_gate_liquidity": true,
        "can_modify_liquidity_amounts": false,
        "can_modify_swap_amounts": true
      },
      "code": {
        "admin_functions": [],
        "checked_ts": 1793207143709,
        "code_hash": "0x0883056c4856f8fe464ff49f9c1c028455459dad8ceddcc6d5159259fe51e07f",
        "family": "0x8f75b80c2683",
        "kind": "contract",
        "logic": null,
        "owner": null,
        "ownership": "none",
        "size": 16405
      },
      "events_sample": [
        "ClaimProtocolFees",
        "PoolInitialized",
        "PoolCreatedFactory"
      ],
      "family": {
        "honeypot_pct": 3.67232,
        "hooks": 1,
        "id": "0x8f75b80c2683",
        "liquidity_pulled_pct": 1.41243,
        "pools_traded": 354,
        "taxed_pct": 0,
        "verified_hooks": 1
      },
      "flags": [],
      "flags_hex": "0x28cc",
      "launchpad": null,
      "launchpad_name": null,
      "name": "ClankerHookStaticFeeV2",
      "observed": {
        "dynamic_tax_pools": 0,
        "first_trade_ts": 1783535745000,
        "honeypot_pools": 13,
        "last_trade_ts": 1793222422000,
        "liquidity_pulled_pct": 1.41243,
        "liquidity_pulled_pools": 5,
        "max_buy_tax_pct": 0.99,
        "max_sell_tax_pct": 0.395,
        "median_pool_life_min": 6549.5,
        "pools": 15412,
        "pools_traded": 354,
        "tax_measured_pools": 276,
        "taxed_10pct_pools": 0,
        "taxed_pools": 0,
        "volume_usd": 14554905
      },
      "pattern": {
        "description": "hooks that can block swaps and change swap amounts",
        "honeypot_pct": 0.608377,
        "id": "before_swap_with_delta",
        "liquidity_pulled_pct": 21.5893,
        "pools_traded": 18574,
        "taxed_pct": 4.55475
      },
      "permissions": [
        "beforeInitialize",
        "beforeAddLiquidity",
        "beforeSwap"
      ],
      "pools": 15412,
      "risk": [
        "can_block_or_reprice_swaps",
        "can_modify_swap_amounts",
        "can_gate_liquidity_add"
      ],
      "risk_level": "low",
      "stats": {
        "trades_24h": 335,
        "volume_usd_24h": 29851.6
      },
      "verified": true
    },
    {
      "address": "0xe5e702641ea86f4ae6cc3cdaed2b886f976be044",
      "attribution": "known_launchpad",
      "capabilities": {
        "can_block_swaps": false,
        "can_gate_liquidity": false,
        "can_modify_liquidity_amounts": false,
        "can_modify_swap_amounts": true
      },
      "code": {
        "admin_functions": [],
        "checked_ts": 1793207140434,
        "code_hash": "0xc21b1e6c1b45403e81a581f22ed6d9c747997af1cfdac1b1dc9f4b1d346a10db",
        "family": "0xabda3266e50c",
        "kind": "contract",
        "logic": null,
        "owner": "0x263ed295dafae1d9aadd6e56c4b6f9f38ee019dd",
        "ownership": "active",
        "size": 15167
      },
      "events_sample": [
        "HookFeeCollected",
        "PoolFeesSwept",
        "PoolRegistered"
      ],
      "family": {
        "honeypot_pct": 0,
        "hooks": 22,
        "id": "0xabda3266e50c",
        "liquidity_pulled_pct": 0.684086,
        "pools_traded": 10525,
        "taxed_pct": 51.9715,
        "verified_hooks": 1
      },
      "flags": [],
      "flags_hex": "0x2044",
      "launchpad": "pons",
      "launchpad_name": "Pons",
      "name": "PonsV2MemeHook",
      "observed": {
        "dynamic_tax_pools": 13,
        "first_trade_ts": 1785866942000,
        "honeypot_pools": 0,
        "last_trade_ts": 1793223683000,
        "liquidity_pulled_pct": 0.66813,
        "liquidity_pulled_pools": 70,
        "max_buy_tax_pct": 10.99,
        "max_sell_tax_pct": 0.7,
        "median_pool_life_min": 53423.5,
        "pools": 10478,
        "pools_traded": 10477,
        "tax_measured_pools": 10392,
        "taxed_10pct_pools": 35,
        "taxed_pools": 5463,
        "volume_usd": 5384607135
      },
      "pattern": {
        "description": "hooks that change swap amounts only",
        "honeypot_pct": 0.0696347,
        "id": "swap_delta_only",
        "liquidity_pulled_pct": 7.93603,
        "pools_traded": 43082,
        "taxed_pct": 15.7537
      },
      "permissions": [
        "beforeInitialize",
        "afterSwap",
        "afterSwapReturnDelta"
      ],
      "pools": 10479,
      "risk": [
        "can_modify_swap_amounts"
      ],
      "risk_level": "low",
      "stats": {
        "trades_24h": 118712,
        "volume_usd_24h": 11871071
      },
      "verified": true
    }
  ],
  "meta": {
    "block": 100406858,
    "block_age_ms": 657,
    "block_ts": 1793225084000,
    "chain": "robinhood",
    "finalized_block": 100397649,
    "intel_computed_ts": 1793223685333,
    "lag_ms": 221,
    "next_cursor": "3",
    "safe_block": 100401329,
    "total": 29952
  }
}
```

[Get a key for this endpoint](https://dashboard.crius.sh/signup?ref=docs-endpoint) [Report an issue](mailto:support@crius.sh?subject=Docs%20issue%3A%20GET%20%2Fv1%2F%7Bchain%7D%2Fhooks&body=Page%3A%20https%3A%2F%2Fdocs.crius.sh%2Freference%2Fpools%2Funiswap-v4-hooks%2F%0A%0AWhat's%20wrong%20or%20missing%3F%0A%0A)
