Canary

pit rules

How the colliery runs.

Canary is two things: a scanner that reads any token on Robinhood Chain the hard way, and a pithead that sinks coins whose own contract is the Uniswap v4 hook of their pool. Both are plain contracts and plain reads; there is no signer, no oracle, no admin key over your coin.

The reading, step by step

  1. 01
    Paste a token

    Any ERC20 on Robinhood Chain. The scanner finds its Uniswap v4 pool (by Canary ledger, by Initialize events, or by known pads) and reads slot0, liquidity and the hook address.

  2. 02
    Simulate

    One eth_call with state overrides: a fresh wallet is given 0.001 ETH, buys, transfers to a second wallet, sells, and the second wallet sells too. Then the same swaps with the hook replaced by a pass-through, so the hook's take is isolated from the LP fee.

  3. 03
    Trace the lamps

    Every ModifyLiquidity on the pool is walked in 2,000-block chunks. Each position is traced to its holder: burned, a known locker (and until when), a contract, or a wallet. Shares of in-range liquidity are summed by kind.

  4. 04
    Read the bytecode

    Function selectors are matched against a signature table and sorted by power: mint, pause, blacklist, tax, trading, upgrade. Opcodes for DELEGATECALL, SELFDESTRUCT, CREATE are flagged; EIP-1967 and minimal proxies are detected.

  5. 05
    Score it

    Findings are weighed into one 0–100 reading. Anything that stops a sell or blocks a transfer drops it into Firedamp outright; the rest subtracts by severity. Verification and metadata earn a little back.

The numbers

open
Opening market cap
2.05 ETH
fixed, for the whole tonnage
tonnage
Supply
1,000,000,000
minted once into the face
royalty
Royalty
0.5–3%
in ETH on every swap; house 1%
tins
Tins
80 / 10 / 10
collier (split with the lodge) · parish · pit
props
Props band
6,931 ticks
one doubling above the opening; unused ETH refunded
hook
Hook flags
0x20CC
beforeInitialize, beforeSwap, afterSwap, both swap deltas
pool
Pool key
ETH / seam
fee 0, tick spacing 1, hooks = the seam
fee
Lamproom / Tally fee
0.002 ETH
flat; capped at 0.01; paid to the pit
addresses

Contracts on Robinhood Chain (chain id 4663)

nameaddresswhat
Pithead0x01e98c2c75d224e8e21e5164afb72f46206470dblaunchpad: sink(Spec), forecast, ledger, faceOf/propsOf
Winder0x83f54fc0cd7210d534967cc1d1a3dd43960e6e2arouter + quoter: buy, sell, quoteBuy, quoteSell
Lamproom0x9f49c387151c6b5c2f338df9fc801a28485b02bfLP-NFT locker; owner may only change the fee
Tally0xb7f26b058f052a5e7376d30880eb3de83695f53bERC20 lock and linear vest
PoolManager0x8366a39CC670B4001A1121B8F6A443A643e40951Uniswap v4, every pool lives here
PositionManager0x58daec3116aae6D93017bAAea7749052E8a04fA7Uniswap v4, every lamp is one of its NFTs

Honesty note

The face NFT is held by the bank. When a seam is sunk, the position holding the whole tonnage is minted to the bank wallet, a plain EOA. The bank can pull it, add to it, or pass it on through Uniswap at any time. Nothing in the seam’s hook prevents this.

The only lock is the Lamproom. A lamp is locked when, and only when, the Lamproom contract holds the NFT and says so. Every seam page reads this live; the scanner reads it for any token. The Lamproom’s owner can change the fee and nothing else.

Readings are not advice. A reading is what the chain said at scan time, cached for a minute. A token can change after a reading; a reading can be wrong when an RPC window runs out, and the report says so in its notes.

Real seams carry papers. Image, blurb, website and X are written into the contract as metadata so aggregators can read them. Test seams may be bare; real ones never are.