HoodCats docs

Everything the protocol does, including the parts that require trust. If a claim here ever disagrees with the deployed contracts, the contracts win.

Overview

HoodCats is a 511 piece NFT collection of fully rendered hooded cats on Robinhood Chain wired to a rewards engine. The loop in one paragraph: the $CAT token trades on its launchpad and generates creator fees; 80% of that fee stream is forwarded to the engine as ETH every hour; each full hour the engine splits the arriving pot across every activated cat in proportion to its weight; the engine then buys each cat's chosen payout assets (HOOD, USDG and CASHCAT) and banks them in a vault keyed by token id; the holder claims for free whenever they like.

Three contracts run this:

The collection

Minting

Flat price of 0.0025 ETH per cat, up to 5 per transaction, 511 ever. Mint ETH forwards straight to the treasury; the NFT contract never holds it. Contracts cannot mint (wallets only), which matters for fairness, below. One reserve token may be minted by the deployer before the public mint opens, purely so the marketplace collection page exists; it draws from the same shuffle as everyone else and counts toward the 511.

The fair draw

Each mint draws its artwork from the pool of unclaimed pieces with an on-chain Fisher-Yates shuffle. The random seed includes the previous block's hash, which did not exist when the buyer signed, so neither buyers nor the deployer can steer an assignment. Blocking contract callers stops the classic trick of wrapping the mint in a contract and reverting unless a rare piece was drawn.

Sealed until reveal

Every token shows the same sealed card until reveal, then the entire set opens at once. Assignments exist on chain from the moment of mint; reveal only controls readability. If the mint stalls, anyone can trigger the reveal 30 days after minting opened, so a lost deployer key can never leave holders sealed forever. Metadata cannot be repointed once minting opens.

Traits, rarity and royalties

Each piece is composed across twelve trait axes: Fur, Eyes, Robe, Weapon, Background, Ear Piercings, Markings, Aura, Pendant, Expression, Scars and Companion. From those traits every piece gets a Rarity Rank from 1 to 511, baked into its metadata alongside a Rarity Tier: Common, Uncommon, Rare, Super Rare, Ultra-Rare, and a single Secret one-of-one. Ranks are fixed before mint and dealt by the same sealed draw with the same odds for everyone; nobody can aim for a top rank. Resales pay a 5% royalty to the treasury under ERC-2981, on marketplaces that honour it.

$CAT and the fee stream

The $CAT token is not minted by these contracts. It launches separately on the Pons launchpad, and its trading fees are the protocol's only revenue source. The commitment: 80% of the creator fee stream is converted and forwarded to the engine as ETH, every hour.

Say it plainly: that forwarding is done by the team off chain. No contract forces it. This is the protocol's largest trust point and it is listed again under Trust points.

Inside the protocol $CAT has exactly one direction: the fire. Activation burns 25,000, tier upgrades burn up to 850,000 cumulative per cat, fusions burn 50,000 to 150,000. Every burn is a transfer to the dead address and is permanent. Holding $CAT is never required to mint.

Activation and sleep

A freshly minted cat is asleep and earns nothing. Burning 25,000 $CAT wakes it. The first activation also sets the tier base (Tier I).

Any transfer, sale or otherwise, puts the cat back to sleep. The new owner burns 25,000 $CAT to wake it again; this re-activation is an entry fee only and never changes the tier. Nobody else can deactivate a cat: not the team, not the engine, only a transfer.

To stop boundary sniping, a cat that wakes mid-hour starts earning from the next full hour. See Hourly rounds.

Tiers and weight

A cat's earning weight is set by the cumulative $CAT burned into it:

TierCumulative burnWeight
I25,0001.0x
II75,0001.4x
III150,0001.9x
IV300,0002.5x
V850,0003.5x

Upgrades are cumulative, so moving from Tier I to Tier III burns 125,000 (the difference), not 150,000. There are no refunds and no downgrades. The tier belongs to the token forever: it survives every sale and every sleep. A tier upgrade on an already awake cat applies immediately; the burn costs far more than one hour's marginal yield, so there is nothing to snipe.

Fusion

Fusing merges 2 or 3 of your cats into one. The first cat listed survives; the others are burned as NFTs and are gone forever. Nothing can ever be re-minted, so the collection only shrinks.

Costs

What the survivor gets

The absorbed cats' tier weights are added to the survivor's, then the whole sum takes a bonus: +20% at 2 parts, +30% at 3 parts. The survivor also inherits everything the absorbed cats owned: vault balances merge, undelivered ETH credit moves over, and any owed fallback balances follow. Nothing strands on a dead token id.

The fused artwork follows rarity: the cat with the best Rarity Rank among the fused pieces carries the flag, and its portrait wears a metallic aura frame with perimeter sparks, silver for a two-part fusion, gold for the full three. The absorbed artwork ids are still recorded on chain in the survivor, so the complete fusion history can always be rebuilt.

Hourly rounds

Rounds are simply clock hours: round number equals the timestamp divided by 3600. Fee ETH arriving during hour N buffers into the pot and pays the cats that were live through hour N. When the hour ticks over, the pot spreads across total live weight through a global accumulator, which makes settling O(1) no matter how many cats are awake.

Anti-snipe rule: a cat entering the pool starts earning from the next round, never the current one. Weight decreases and deactivations apply immediately.

Two paths keep the engine's view of every cat honest:

Delivery and the TWAP guard

Delivery turns a cat's accumulated ETH credit into its chosen assets. A keeper calls it hourly, but the call is permissionless: anyone can deliver.

Collect mode

Each cat chooses where delivery lands: the vault (default) or straight to the owner's wallet. Vault mode is what makes a loaded cat sell loaded; wallet mode is for holders who want assets in hand every hour. Switch any time.

The vault

The vault is a bank whose accounts are token ids, not addresses. When the engine delivers in vault mode, the bought assets transfer into the vault and are credited to the cat. Sell the cat and the balance goes with it; the buyer claims what the token holds.

Hard rules, fixed at deploy:

Claiming

Direct

The owner calls claim and every asset the token holds transfers out to them. A single-asset claim exists too. Cost: network gas only.

Gasless

The owner signs a 32 byte message (a hash of the vault address, the chain id, the token id and a per-token nonce) with a normal personal_sign. The keeper submits the signature and pays the gas. The vault checks the signature recovers to the token's current owner and pays only that owner; the keeper can never redirect a claim, only fund it. The nonce bumps on every use, so a signature cannot be replayed, and the chain id in the hash stops replays across chains.

Trust points

This section exists so nobody has to discover these in the code. HoodCats is not trustless end to end. Here is exactly where trust sits.

What you must trust

What you do not have to trust

Contracts

Addresses appear here once deployed. Until then this table reads "not deployed yet".

ContractAddress
HoodCats (NFT)not deployed yet
RewardsEnginenot deployed yet
CatVaultnot deployed yet
$CAT tokennot deployed yet

Chain: Robinhood Chain (id 4663). Explorer: Blockscout.

Risks

None of this page is financial advice. It is a description of a machine, including its sharp edges.