Docs · Tutorials

Read the board

Every hook on Robinhood Chain on one page. What each column means, how the board is made, and how to use it to find the hooks worth a closer look.

The board at /app/hooks lists every hook with three pools or more on Robinhood Chain, plus the hundred newest, each with a full scan. Any other hook is scanned when you open it. It is the fastest way to see the whole landscape, and to find the hook behind a pool.

How it is made

The board is built in two passes, run ahead of time:

  1. The index. Every Initialize event the PoolManager has emitted since genesis is read and grouped by hook. For each hook it records the number of pools, the time of the first and latest pool, and its most recent pools. Pools with no hook are left out.
  2. The grading. Every hook in the index is scanned, exactly as its own page would scan it, and the results are written to the board.

The line above the table says at which block the pass ran and how long ago. The board is refreshed by running both passes again, so it is a snapshot: a hook's numbers on the board are from that block. Click a hook to open its page, which scans it again live at the latest block.

The columns

Column Meaning
Hook The hook's address. Click it for the full report.
Latest pool The pair of the most recent pool measured, or "none" if no pool has a price yet.
Pools How many pools use this hook.
Since How long ago its first pool was created, or "new" if the index has no time for it yet.
Swap take The worst measured take beyond the pool fee, across both directions and the measured pools. "refused" if a probe swap reverted; "n/a" if nothing could be measured (no pool, or only thin directions).
LPs The LP round trip: "can leave", "lose some", "stuck" (a withdrawal was refused, or the loss was above 5%), or "closed" (deposits are refused, or there was no pool to try).
Owner "proxy" if the code can be replaced, "owned" if owner() returned an address, "none" otherwise.
Score 0 to 100.
Verdict safe, caution or danger. Safe means safe by construction: nothing that may take, no hand on a switch, a fixed fee, fixed code.

Takes above 1%, refused swaps and stuck LPs are highlighted.

Filters

The buttons above the table filter by verdict: All, Danger, Caution, Safe, each with its count. The header shows the total number of hooks, the total number of pools they serve, and how many hooks are a danger.

Ways to use it

Find the hook behind a token. When a launchpad attaches the same hook to every pool it creates, that one hook serves a large share of the pools. Look at the hooks with the highest pool count first: if your token came from a launchpad, its hook is likely among them. Confirm with the pool key before relying on it.

Look at the weight, not just the count. A hook with a danger verdict and one pool is one bad pool. A hook with a danger verdict and hundreds of pools is a launchpad problem. The Pools column tells you which.

Separate design from trap. A take of a few percent with LPs "closed" is the shape of a launch-tax hook: the hook owns the liquidity and taxes swaps. A refused swap, or LPs "stuck", is a different thing. Filter on Danger and read the Swap take and LPs columns first.

Watch for new hooks. "new" in the Since column, or a few days, means the hook has no track record. That is not a fault, but it is the hook you know least about.

What the board is not

It is a snapshot, not a feed. A hook's behaviour can change after the pass (see Limits), and a hook deployed since the last pass is not on it yet: scan it from the field above the table, which works for any address.