TheHood
Launch a projectCreate a market

Legal

  • Terms of use
  • Privacy
  • Cookie notice
  • Security
    • Full audit report
  • Risk
  • Fees & payouts

Last updated 2026-09-27.

Security

Security

Effective
2026-08-14
Last updated
2026-09-21
Version
1.4

Audited by Claude Fable 5. It reads the code, writes working exploits and use-case tests, runs them, and reports what it found with evidence anyone can reproduce. The contracts are deployed on mainnet and hold real value — weigh that before you use this platform.

Contents

  1. 1. In brief
  2. 2. Security by product
  3. 3. Reporting a vulnerability
  4. 4. The security audit
  5. 5. Who holds which key
  6. 6. Verifying us

1. In brief

Two things live on this page, because they are the same question asked twice: how to tell us about a problem, and what we found when we went looking ourselves.

  • Report a vulnerability to security@thehood.markets. A person acknowledges it within 3 business days. Section 3.
  • Audited by Claude Fable 5, dated 15 August 2026, across contracts, the prediction market, frontend, API, database and performance. Every Critical and High finding — the five contract findings, the prediction market’s settlement and census findings, and the database migration drift — is fixed with executable exploits and regression tests; the remaining application findings are reported and still open. Section 4.
  • There is no funded bug bounty. We would rather say so than imply a payment that does not exist.
  • Control is split between two multi-signature wallets — one operates the platform, one governs where value may go — and neither can redirect revenue alone. The keeper keys do bounded jobs and can move nobody’s money. Section 5.
  • A contract bug cannot be patched. The contracts are immutable, so a fix is never a fix in place. Section 3.1 explains what a response can actually consist of.
  • Each product has its own position, and they are not comparable. The token launchpad is deployed and holds real ETH; the prediction markets deployed on 15 August 2026 after their settlement and census findings were fixed, and hold real stakes; THD and the surfaces built on it are written and deployed nowhere; the NFT launchpad has no contracts at all. Section 2.

The sections below are the binding detail; this one is for orientation.

2. Security by product

The Hood ships more than one product, and they do not share a security position. Stating one for the platform would flatter the surfaces that hold nothing and understate the one where money is actually at risk, so each answers for itself below — what has been reviewed, what the deployed code guarantees, and what is known to be wrong with it.

Nothing in this section says “secure”. Status is a fact about deployment, not a judgement about quality: live means deployed and holding value, built means the code exists and is tested but nothing is deployed, and not built means there is nothing to review yet.

2.1 Token launchpad — Live — holds real value

Fixed-supply tokens on a bonding curve that graduates into a pool whose liquidity nobody can withdraw. Deployed and holding real ETH.

Review state. Audited by Claude Fable 5 on 15 August 2026 at commit 11d8d75: 19 findings, 9 fixed in 32b5fec, 10 open.

What the deployed code guarantees. Each of these is a property of code rather than a promise, which is the only reason it is worth stating.

  • A graduated pool's position is held by a locker with no withdrawal path — no transfer, no burn, no owner, no rescue hatch.
  • Creator fees are earned by owning the liquidity, not by taxing transfers, so they survive graduation.
  • No proxies and no upgrade path: what deployed is what runs.
  • Pausing can stop new launches. It can never stop a claim, a sell, or a graduation already owed to someone.

Known open risks.

  • The anti-snipe wallet cap is defeated by splitting a buy across wallets (SEC-05, open).
  • Owner test launches obtain a large share of supply for a negligible sum (SEC-06, open).
  • CurveDeployer is permissionless, so curves can be deployed that the factory does not vouch for (SEC-07, open). Authenticate through the factory, never through an address you were handed.
  • Graduation is visible in the mempool before it lands (SEC-08, open).

Contracts: contracts/src/launchpad/ · Open token launchpad

2.2 Creator, KOL and referral rewards — Live — holds real value

The share of every trade fee that reaches promoters and referrers, and the registry that decides who may be paid and how much of one window they may take. Deployed and holding real ETH.

Review state. The splitter and the ledger were in scope for the Claude Fable 5 audit on 15 August 2026. The registry has been REDEPLOYED since, on 2026-08-25, to add the ability to withdraw an account's standing — that change is tested but is not covered by that audit, and this says so rather than letting the audit date cover code it never saw.

What the deployed code guarantees. Each of these is a property of code rather than a promise, which is the only reason it is worth stating.

  • Fees already credited to you sit in the splitter and are claimable by you and only you. No function anywhere lets us take them, redirect them, or pause a claim.
  • A creator allocates a percentage, never an amount, and can never allocate more of a window than the roster's cap allows.
  • An unallocated window lapses 50/50 between the creator and the platform rather than being held indefinitely.
  • A referral attribution binds once and never moves, so who is owed for a referred wallet cannot be rewritten afterwards — by anybody, including us.
  • A referral name proved by a verified X account can never be taken by a later claimant, nor freed for one when its owner moves away from it.

Known open risks.

  • Enrolment and X verification are ASSERTED BY US, from our own database. Write access to that database is equivalent to holding the attestation key, and no contract can detect a false assertion — this is inherent to putting an off-platform fact on chain, and is stated because the separate keys imply a stronger guarantee than exists.
  • We can withdraw an account's KOL standing, which stops any creator allocating to it. It is recorded on chain with a reason and is reversible, and it touches nothing already earned — but it is a decision of ours, not a measurement.
  • Lifetime earnings, which set rank and therefore your cap, are summed from the splitter's own logs and written on chain by us. Anybody can recompute the figure from public data, which is what makes a wrong one detectable rather than merely deniable.
  • Whether you are paid at all is a creator's choice. Eligibility and a rank cap are ceilings on what MAY be allocated to you; nothing obliges anybody to allocate anything.
  • An X Premium badge is a subscription. If it lapses, eligibility is lost within about a day unless the account is Platinum or Diamond, which are excused.

Contracts: contracts/src/launchpad/ · Open creator, kol and referral rewards

2.3 Prediction markets — Live — holds real value

Parimutuel markets on The Hood's own launches, settled by reading the launchpad's contracts on the same chain. Staked in ETH, or in a project's own token once it has the holders to carry one. No stablecoin is listed yet — none exists on this chain.

Review state. Deployed to Robinhood Chain mainnet on 15 August 2026 — five contracts, wired to the launch factory and verified by reading their bytecode and cross-references back off the chain. Audited by Claude Fable 5 in the 15 August full assessment, which found and proved with working exploits that market settlement could be manipulated to pay the wrong side (fixed before deployment — only manipulation-resistant metrics can settle a market, and 'graduated' resolves from completion) and that the holder census gating project-currency listing could be defrauded by double-counting across sweep pages (also fixed before deployment — the sweep is now atomic). A passing suite says the failures it models do not happen, not that there are no others.

What the deployed code guarantees. Each of these is a property of code rather than a promise, which is the only reason it is worth stating.

  • Settlement is a plain contract read on the same chain: no signer, no bond, no challenge window, so there is no attestation anyone has to be trusted for.
  • Markets are clones with the implementation baked into their runtime code — not proxies. No admin key can rewrite market logic while funds are staked.
  • Pausing blocks staking and can never block a claim. The emergency void refunds at par and cannot redirect a unit of user money anywhere else.
  • If a settlement window closes with nobody settling, the market voids and everyone is refunded at par — the no-settlement failure mode is 'nobody profits'.
  • A creator tier is computed from launch history, not granted. There is no function anywhere that awards one.

Known open risks.

  • Settlement manipulation (found 15 Aug, FIXED). Several curve metrics a market could settle on — net raised, tokens sold, progress, FDV — move up on a buy and down on a sell, and settlement reads the live value at a moment the settler chooses; a proven exploit pushed the metric across its threshold, settled, and traded back, taking the honest counterparty's stake. The fix restricts markets to manipulation-resistant metrics only (the latched lifecycle states and monotonic creator counts) and resolves 'graduated' from completion, which cannot be forced for gas. The non-monotonic spot markets are disabled until a manipulation-resistant settlement (a value captured at the deadline, or a multi-block average) is built.
  • Anti-sybil census double-count (found 15 Aug, FIXED). The census sweep read balances live per page and accumulated across transactions, so one floor of tokens moved ahead of the cursor counted once per page — ~0.01% of supply could report as a full distribution. The sweep is now atomic: the whole set is counted from one instant, so a wallet only counts if it genuinely holds the floor then, and faking N holders costs N floors of really-distributed supply. Excluded venues are skipped and counted supply is capped at total supply.
  • The protocol owner can pause staking, void a market, and set the fee up to a hard cap of 5%. Every market snapshots its terms at creation, so a live market cannot be changed under it — but these are powers, held by an address.

Contracts: contracts/src/predict/ · Open prediction markets

2.4 THD and the reward surfaces — Built, not deployed

The platform token, the contract that unlocks it against protocol fees, and the surfaces that pay it out or take it back: a battlepass, an item mall, quests, bands, seasons, a Fortune Wheel and a monthly holder vote. None of it is deployed on any network. A THD token from a superseded nine-bucket generation is deployed on mainnet and cannot carry this design — the bucket shares are immutable, so a different split is a different token.

Review state. Written after the Claude Fable 5 assessment of 15 August 2026, which read commit 11d8d75. These contracts are therefore outside what that assessment reviewed, and this says so rather than letting an audit date cover code it never saw. They carry their own test suite, which says the failures it models do not happen — not that there are no others.

Known open risks.

  • Nothing is deployed, so nothing here has been proved against a live chain, and a design that has not shipped can still change. Read this as what the contracts currently say, not as what will happen.
  • How much THD unlocks depends entirely on one running total on the fee splitter. That total counts only registered payers and cannot be lowered by anybody, including us — but registering a payer that the public can pay through would let anyone accelerate the unlock, and that is an owner transaction rather than something the code can refuse.
  • The Fortune Wheel pays a randomised amount and its odds are not published, so a spin cannot be valued before it is taken. A spin is not a rebate of the fee that earned it and entitles the holder to no amount.
  • The monthly vote over the pool's THD fee has no quorum and is decided by 51% of the votes actually cast, so a small turnout can move it. A tie or an empty ballot keeps the current setting.
  • The team's share is released against valuation rather than time, so supply reaches the market as the valuation rises. A step, once confirmed, never re-locks.
  • Every reward is a share of a pot divided against what everybody else did, never a quantity anyone is owed.

Contracts: contracts/src/thd/ · Open thd and the reward surfaces

2.5 NFT launchpad — Not built

Collections on the same terms as tokens: a fixed supply, a mint that seeds liquidity nobody can pull, and royalties that keep paying after the last piece is minted. Last in the roadmap, after the prediction markets.

Review state. Nothing to review. No contracts have been written, so there is nothing to assess, nothing to test and nothing deployed. This entry exists so the absence is stated rather than inferred from a gap in a list.

Known open risks.

  • Every design decision is still open, including the ones that decide whether liquidity can be pulled.

Contracts: —

3. Reporting a vulnerability

If you have found something, we want to hear it before anyone else does. Email security@thehood.markets. That mailbox is monitored on the commitments in section 3.5.

3.1 Read this first: a contract bug cannot be patched

The launchpad contracts are immutable, and audited by Claude Fable 5. There are no proxies and no upgrade path. A vulnerability in deployed contract code therefore cannot be fixed in place, ever. Only three responses exist:

  • Pause new launches on the factory, so no further projects are created under the affected code. By construction this can never block a claim, a sell or a graduation already owed to someone — an unaffected user is never trapped by our response.
  • Deploy a new factory and point this site at it. Projects created under the old one keep running under the old one, on chain, unchanged.
  • Warn holders publicly, as loudly and as specifically as we can.

This changes what a report achieves, so it is stated up front rather than discovered during triage. The value of an early report is that people can be warned and can exit while a curve is still trading. Speed genuinely matters here in a way it does not on a normal web product.

3.2 In scope

  • The website — thehood.markets and everything it serves.
  • The API routes — /api/quote and /api/upload.
  • The launchpad contracts on Robinhood Chain (chain 4663): the launch factory, the curve deployer, the bonding curves, the launch tokens, the graduation adapter and the liquidity locker. The factory this site currently reads is 0x72eD73A6c7218B1864AaF2d688355edA93422D30; every other contract in the system is reachable from it.

The findings we care most about, in order: anything that can move value that is not yours, anything that can remove or reduce locked liquidity, anything that can redirect or steal creator or holder fees, anything that lets a curve or pool be manipulated at another trader’s expense, and anything that lets a project be launched impersonating a contract or address it does not control.

3.3 Out of scope

  • Robinhood Chain itself, its RPC endpoints and its block explorer — report those to their operators.
  • Uniswap V4, its PoolManager and periphery — report those to Uniswap.
  • IPFS gateways and pinning providers, and third-party wallet software.
  • Volumetric denial of service, and any test that degrades the site for other people. Do not run one.
  • Missing security headers, missing SPF/DMARC records, weak TLS ciphers, cookie flags and similar configuration observations with no demonstrated impact.
  • Raw output from an automated scanner with no proof of concept, and reports whose entire content is a CVSS score.
  • Social engineering of anyone, physical attacks, and phishing sites impersonating The Hood — those are worth telling us about, but they are abuse reports, not vulnerabilities.
  • Economic outcomes that are how the system is designed to work: a token going to zero, a creator selling their own allocation, a curve never reaching its target, price impact on a large trade, ordinary MEV. See the risk notice.

3.4 How to report

Email security@thehood.markets with, as far as you can:

  • the exact contract address or URL affected, and the chain it is on;
  • steps to reproduce — a failing test, a script or a transaction hash beats a description;
  • the impact: what an attacker gains, whose funds are at risk, and how much;
  • any preconditions the attack needs;
  • how you would like to be credited, or that you would rather not be.

We publish no PGP key, so do not assume the email is encrypted in transit beyond ordinary transport security. If a finding is severe enough that this matters, send a short message with no detail and ask for a channel — or reach us on X at @thehoodmarkets and we will come back to you. Do not post the detail publicly to get our attention.

3.5 What we commit to

  • Acknowledgement within 3 business days — from a person, not an autoresponder.
  • An assessment and a plan within 10 business days, stating plainly which of the three responses in section 3.1 we are taking, and why.
  • Keeping you updated until it is resolved, and telling you when we disagree that something is a vulnerability rather than going quiet.
  • Credit in the public disclosure if you want it.

There is no funded bug bounty. We would rather say so than imply a payment that does not exist. Rewards, if any, are discretionary and case by case. Report it because a broken launchpad hurts real people, not because a payout is promised.

3.6 Safe harbour

We will not pursue or support legal action against anyone who researches in good faith within the scope in section 3.2, and we will say so publicly if a third party misreads your work as an attack. That protection applies as long as you:

  • access only your own accounts and data — never another user’s funds, keys or personal information;
  • take only the minimum needed to prove the finding. Prove that value can be extracted; do not extract it. Any value taken must be returned in full.
  • avoid degrading the service for other people, and stop the moment you have your proof of concept;
  • give us a reasonable chance to respond before disclosing publicly — 90 days, or sooner once a fix or warning is out. If we go silent past the commitments in section 3.5, publish; that is on us.

If in doubt about whether something is in scope or whether a test crosses a line, ask first. We would much rather answer a question than argue about it afterwards.

4. The security audit

19 findings9 fixed10 open

Dated 15 August 2026, and performed by Claude Fable 5 across six surfaces — smart contracts, the prediction market, frontend, API, database and performance. Every Critical and High finding is fixed with executable exploits and regression tests: the five contract findings, the prediction market’s settlement and census findings (fixed before those contracts deployed on 15 August 2026), and the database migration drift. The remaining application findings (frontend, API, performance) are reported here and still open. The contracts were reviewed at commit 11d8d75 and the fixes landed in 32b5fec, so the reviewed commit still contains the vulnerable code and the later one does not.

Read the full report — the whole document as a page, or download the PDF.

4.1 Findings

IDSeverityFindingStatus
A-1CriticalPool squatting permanently bricks any launchFixed
A-2CriticalOwner could redirect graduation and take every future raiseFixed
A-3HighA fee recipient that refuses ETH permanently wedges the lockerFixed
A-4MediumDeploy script aliasing put the test configuration onto productionFixed
A-5MediumAny holder could shift the graduation price by donating tokensFixed
A-6LowAnti-snipe cap is defeated by splitting across walletsOpen
A-7LowOwner test launches obtain 75% of supply for a negligible sumOpen
A-8LowCurveDeployer is permissionless; unregistered curves can be forgedOpen
A-9InfoGraduation is MEV-visible, but the obvious sandwich loses moneyOpen
D-1HighIndexer tables are in the schema but no migration creates themFixed
C-1MediumUnauthenticated report ingest is a storage/cost denial of serviceOpen
B-1MediumReport retention & delete-on-request are promised but unimplementedOpen
C-2LowRPC endpoint URLs disclosed to a signed-in non-owner on read failureOpen
C-3LowClient-claimed redaction flag can mislabel stored dataOpen
E-1MediumLaunch grid does N+1 chain reads per pageOpen
E-2MediumOn-chain reads are not pinned to the displayed blockOpen
F-1CriticalMarket settlement reads a manipulable spot metric — the pot can be stolenFixed
F-2HighA market can be forced to settle YES by graduating the curve for gasFixed
F-3HighThe anti-sybil holder census double-counts across sweep pagesFixed

4.2 What is still open

Four contract findings were accepted rather than fixed, because fixing them would cost more than they take. They are real, and you should know them before you trade:

  • The anti-snipe cap can be defeated by splitting a buy across several wallets. The early-window cap is per wallet, and nothing on chain can tell one person with ten wallets from ten people.
  • Owner test launches can obtain most of a supply cheaply under the development graduation target. This is a deployment-configuration risk, not a bug in the curve.
  • Curves can be deployed without going through the factory. Only launches the factory registered are authentic — always check a token against the factory rather than trusting a link.
  • Graduation is visible to MEV. The transaction that graduates a curve is public before it lands, and can be traded around.

The six open application findings in the table above — report retention, the unauthenticated ingest limits, the RPC-URL disclosure, the redaction label, and the two performance items — are queued for fixes rather than accepted. None of them can move funds.

4.3 What would change this

A review by an established firm. It is warranted before this platform holds meaningful value. The contracts are immutable, so a review that finds something serious means redeploying rather than patching — which is part of the risk you take.

The exploits and regression tests are in the public repository, so any reader can run them rather than taking the table above on trust.

5. Who holds which key

A contract with no admin key is safe from its author. Most of ours are that, and the rest are not — so this section says which keys exist, what each can reach, and what none of them can do. It is written because “the contracts are immutable” is a true sentence that answers a narrower question than the one people are asking.

5.1 Two multi-signature wallets, and the division between them is the point

Control is split between two separate multi-signature wallets at two separate addresses, and the split is by kind of decision rather than by convenience:

WalletWhat it decides
The owner walletOperates the platform. It owns the launchpad contracts, registers a source of protocol revenue, and holds the pointer to the treasury.
The guardian walletGoverns where value may go, and what may count. It arms and disarms a revenue source, owns the whitelist of addresses value may ever be paid to, and names where each of the platform token’s buckets is delivered.

Neither can complete the path alone. Redirecting protocol revenue to an address of somebody’s choosing takes acts from both wallets — registering a source, arming it, whitelisting a destination and repointing the treasury are deliberately not all in one place. That is the property worth having, and it is why the two exist rather than one.

It is not a guarantee about people. Two wallets are two sets of signers, and this states what the contracts require rather than making a claim about who holds what.

5.2 Keeper keys do bounded jobs and cannot move your money

A handful of single-purpose operating keys exist because some things have to happen on a schedule: opening and closing a promotion window, collecting fees that have accrued, sampling a pool’s price, settling a market whose deadline has passed, posting a price. They are separate keys, one per job, so a compromise of one does not reach another — and the deploy scripts refuse a configuration where a keeper is also the owner, the treasury or the attestor, rather than trusting somebody to remember.

What a keeper cannot do matters more than what it can. None of them can take a balance, redirect a payout, change a fee, or stop a claim. Where a keeper opens a window, it supplies no amounts, no recipients and no rates — every figure is read from the contract’s own state — and closing one is permissionless, so nobody can hold a creator’s money by declining to act.

One was added on 21 September 2026, and it exists to remove a hot key rather than to add one. The posted price feed can now be written by its owner or by an appointed keeper. A multi-signature wallet cannot run a cron every fifteen minutes, so the alternative was keeping that feed’s owner on a single hot wallet permanently. The keeper is appointed by one transaction after deployment, and the owner can replace it.

Be clear about what that feed is trusted for. Its answer is whatever was last posted to it, and it prices dollar-denominated figures — a creation fee, a market’s opening stake, prize sizing. It is deliberately not what decides custody of anything: the contract that gates currency listing reads its own feed for exactly that reason. A compromised price key misprices a one-dollar fee. It cannot take anything.

5.3 The boundary that is not a key at all

Some facts this platform writes on chain are not chain facts. Whether an account is enrolled, and whether its X subscription is live, are statements about an off-platform account, so something trusted has to assert them — and what asserts them here reads our own database.

Write access to that database is therefore equivalent to holding the attestation key. Separate keys imply a stronger guarantee than exists, which is why this is stated rather than left to be discovered. It is inherent to bridging an off-chain fact on chain rather than a defect: the alternative is putting a third party’s login response on chain, which is worse in every respect. Section 2.2 carries it as an open risk against the product it affects.

6. Verifying us

Anyone can create a token with any name, including ours, and phishing sites copy launchpads closely. Check the domain in the address bar, check that the factory address in section 3.2 matches what your wallet is about to interact with, and treat any message asking for a seed phrase or a “validation” transaction as theft. We will never ask for either.

The Hood’s contracts are immutable, audited by Claude Fable 5. Nothing on this site is financial, investment, legal or tax advice.

TheHood

A launchpad where the liquidity can never be pulled. Fixed supply, a bonding curve, and a pool nobody can drain.

chain 4663 · Robinhood Chain · mainnet · checking

Product

  • Projects
  • Launch a project
  • Your account & referrals
  • Prediction markets
  • NFTs Soon

Resources

  • Blog
  • Docs
  • Block explorer(opens in a new tab)
  • Launch factory(opens in a new tab)
  • @thehoodmarketson X (opens in a new tab)

Legal

    • Terms of use
    • Privacy
    • Cookie notice
    • Security
    • Risk
    • Fees & payouts

© 2026 The Hood. Non-custodial: we never hold your funds or keys.

Immutable contracts, audited by Claude Fable 5. Nothing here is financial advice — read the risks.