Hedgefun
A creator fills in a form and gets a fixed-supply token, a treasury that trades one listed stock under a rule
published at launch, and a <token>/<stock> Uniswap V4 pool taxed by the hook every launch shares. No capital
is required: the pool is seeded with the entire supply as single-sided liquidity that nobody — including us —
can withdraw.
A memecoin whose treasury runs a stated strategy on a real stock, where every rule it will ever follow is fixed at launch and readable on chain.
:::info Deployed and listed — but public launching is not open
The contracts are live on Robinhood Chain and twelve stocks are listed:
addresses and the list. Public launching is still off, and no
strategy has been launched — read on chain on 2026-09-22, publicLaunch is false and strategyCount is 0.
So this describes contracts that exist, are frozen, and are not yet open to everyone.
:::
Where it lives
The desk is at hedgefun.trade, on its own registrable domain rather than a
subdomain of hedgehood.app. That is a boundary, not a brand: the desk lists tokens whose names and symbols
strangers chose, and it should not share a browser origin with an app where people sign transactions.
hedgehood.app/hedgefun is a page about it and a link to it, nothing more.
The only domains we run are hedgefun.trade, hedgehood.app and docs.hedgehood.app. Anything else wearing
this design, however close the spelling, is not ours.
Key facts
- The token trades against the stock it is built on, in its own V4 pool — never against USDG.
- Buy tax is burned (less the sweeper's tip). Sell tax, denominated in the stock, funds the treasury, the creator and the protocol — and the treasury's profit buys the token back and burns that too.
- The launch liquidity cannot be removed by anyone, including the protocol. Nothing graduates and nothing migrates, because there is nothing to migrate.
- A launched token has no owner. Its rule, its rates, its liquidity and what its treasury holds cannot be changed by the creator or by us. Four bounded powers remain, and none of them reach a strategy's money or its rule.
- Holders have no claim on the treasury: no redemption, no dividend, no pro-rata, no say over the money. The only link is that the treasury buys the token on the open market and burns it.
How a launch works
1 · The stock is listed by the protocol, not chosen freely. Which oracle and which pool price a stock is an owner listing. A creator-supplied oracle would be a creator-controlled price.
2 · The creator fills in the form: name, symbol, the listed stock, the tax rate, their own cut of it, and the
rule (tp1, tp2, dip, stop, lotBps). They do not choose the supply, the opening price, the execution
bounds or the protocol's cut.
3 · One transaction deploys the token and the treasury, opens the <token>/<stock> V4 pool, and seeds the
entire supply into it as single-sided liquidity. The launcher commits to what they were quoted: launch
takes the hash predict returned, and reverts if anything moved in between.
4 · Optionally, in the same transaction, a launch router also makes the creator's own first buy, hands the treasury its first lot of stock, seeds a USDG dip reserve, and writes the token's page — logo, description, five links. That first lot is one-way: nobody, the creator included, can take it back.
The flywheel
Five stations and one loop. People trade the token; every trade is taxed; the sell side of that tax buys the real stock and the buy side burns; your strategy works that stock — takes profit at your targets, buys your dips, and will not sell a lot below what it cost; the profit buys the token back in its own pool and burns it; there is less of the token than there was. Then someone trades again.
Anyone can be the quant. You do not need capital, a fund, a licence or a backer: you need an opinion about one stock and five numbers to express it. The rule is public before anybody buys, and frozen the moment it launches — for you as much as for everyone else, which is why a stranger can trust it.
A rule that works pays its author. Every sell hands the creator a cut, in the stock itself, forever. So a strategy that burns supply and keeps people trading pays the person who wrote it, and keeps paying while it runs. What it never does is promise a number: see the risks for the ways it can turn slowly, or not at all.
The same loop, as wiring — every tax, split and burn
Read it twice and the two burns separate: a buy burns its own tax straight away, and a profitable sale burns tokens it had to buy first. The better the strategy runs, the more it buys back and burns — and the larger a share of a shrinking supply each remaining token is.
The tax
| charged in | where it goes | |
|---|---|---|
| Buy | the token | burned — less a tip (0.5% as shipped) to whoever calls the sweep that settles it |
| Buy, first 3 seconds | the token | a launch window: 99%, then 66%, then 33%, then the flat rate — the premium burns with the rest |
| Sell | the stock | the sweep caller's tip, the protocol's cut, the creator's cut, and the remainder to the treasury |
| Sell, at launch and after each buy-back | the stock | the same split at a spiked rate, decaying linearly back to flat |
Two details a front end must not smooth over:
- Quote the live rate, not the flat one. In the opening seconds the rate is whatever the hook says it is
(
buyRateBps/sellRateBpsfor that pool). Showing the flat rate there misprices the trade by up to 99%. - The creator's buy inside the launch transaction is exempt, and the exemption has no cap — not on size and not on how many buys that transaction makes. Measured on the frozen contracts, a launcher spending 80,000 of the stock took about 90% of the supply at the flat rate, in the same second that a stranger's identical buy paid about 1%. That is a real advantage and it belongs on the page, not in a footnote.
The launch window turns a first-block latency race into a three-second falling-price auction. It does not stop a patient bot, or one running many wallets, and does not claim to.
Exact-output swaps are accepted for a buy at the flat rate only, taxed on the stock going in and grossed up so the route costs the same; anything else is refused. V4 only lets the hook tax the unspecified leg, which on an exact-output swap is the input — a sell taxed there would burn its tax and pay the treasury nothing. Sells are exact-input only.
The rule
Sell tax arrives in the stock and is booked as a lot at the oracle price. From then on it is mechanical, and every step is permissionless — anyone may call these, and is paid a bounty out of the proceeds for doing it:
| call | what it does |
|---|---|
book() | turns stock that has arrived into a costed lot, at the live oracle price |
takeProfit(lot) | at cost + tp1 sells part of a lot, at cost + tp2 the rest. Principal returns as USDG; profit stays in stock |
stopLoss(lot) | only if the creator set one: sells below cost, and burns nothing |
buyDip() | after a fall of dip under the last sale, spends part of the USDG reserve on stock, as a new lot |
buyback() | spends accumulated profit on the token in its own pool, and burns what it buys |
A lot is never sold below its own cost unless the creator set a stop, so realised profit cannot go negative: a bear market means no burns, not a treasury selling its way down.
:::caution A high take-profit is not "diamond hands"
tp1 and tp2 have no ceiling — a creator can set a target of 100× cost. That is not a treasury holding on your
behalf. It means it sells only above that price, and until it fires there is no profit, no buy-back, no burn,
and nothing refilling the dip reserve. Read a launch's targets before you read its story.
:::
The treasury starts empty. Stock arrives only as sell tax; USDG only by selling stock at a profit. So dip-buying
structurally cannot fire before the first take-profit. A creator who wants capital on day one just sends some:
stock sits as unbooked until anyone calls book(), and USDG is the dip reserve. It is one-way — there is
no withdrawal, for the creator or for anyone.
A sale fills only as far as the oracle price less the slippage limit allows. The pool computes its own depth, the lot gives up only what actually sold, and a sale that would sell nothing reverts. One call offers at most a sell chunk that the owner sizes per listing.
Where each pool is
Do not confuse the two. The token's own pool is Uniswap V4, on the shared hook, always. The stock leg — the treasury's stock↔USDG trades — is Uniswap V3 only, with a ten-minute TWAP corroborating spot.
A V4 stock venue existed and was removed before the freeze: a V4 pool keeps no observations, so that leg had spot against Chainlink and nothing else and could not trade a closure at all; and the V4 stock books here are full of hooked pools, including one that can take an arbitrary cut of your output, so depth alone never qualifies one.
What that costs is worth stating: a stock whose depth is only on V4 cannot be listed at all until a future version, which needs a new treasury, a new factory and therefore a new hook address. And a V3 pool whose observation ring is too short to serve the TWAP window is refused at construction, rather than deployed into a state where it can never trade.
The market is closed more often than the token is
The token trades all week. Only the treasury's stock leg follows the exchange: new stock is booked at the next open, at the opening price. Never read this as a treasury that trades 24/7.
A listing may allow a bounded amount of work during a closure through a staleness band, which the creator
picks at launch from 0 up to a ceiling the owner sets per stock — and that ceiling is 0, meaning no band at all,
until the owner sets one. The band does not let the treasury trade at the pool price: it widens how far spot may
sit from the last Chainlink print before the treasury stops trading, and the trade still executes against the
oracle-derived bound. A wider band is not more trading; past the first hours it mostly buys a wider range for
somebody to pin a closure trade inside. It is frozen at launch like the rest of the rule.
Everything in the three prices applies: the RHxxx / USD naming, the multiplier already being
included, the 24/5 schedule, oraclePaused() during a corporate action, and the absence of a sequencer uptime
feed on this chain. The oracle fails closed on all of it.
The liquidity cannot be removed, by anyone
V4 keys a liquidity position to who called, which ticks, and a salt. For the seed the caller is the factory itself, from inside its own callback. Removing it needs another call at that same key, and nothing in the factory's bytecode makes one: no owner switch, no transfer, no such function under any name.
Proven against the real V4 pool manager by handing an attacker contract the exact ticks and liquidity the factory used — strictly more than a real attacker could learn — and showing that removal still reverts.
What the protocol can still do
The factory's owner is a Safe. Against a launched strategy it can do four things, and only these:
- Halt the rule through the trading calendar, for a closure no rule predicts — a day of mourning, a hurricane. It can stop the rule trading on any day, a weekend included, and cannot change the price at which it trades.
- Move its own payout address for a pool. Its own money, no delay.
- Move the payout of a creator who has vanished — only 14 days after proposing it on chain, and not at all if the creator vetoes with one call, which also bars any new proposal for 180 days. A creator may make that call at any time as proof of life.
- Point the treasury's votes at a delegate. It moves no asset and cannot touch the rule. It is a hatch, reserved and not live: the stock token has no vote or delegate surface today, so nobody can vote tokenized stock on this chain. It exists because the stock token is upgradeable by its issuer while a launched treasury is not — a hatch missing at birth can never be added.
For future launches the owner also decides which stocks are listed, the factory defaults, each stock's band ceiling, execution gates and sell chunk, which periphery may launch on a creator's behalf, and whether launching is public. None of it reaches a launch that already exists.
It cannot withdraw or rescue stock from the hook. The token's page — logo, description, links — belongs to the address that launched it, and the protocol has no power over it at all.
Roadmap: holders will vote the treasury's shares
Planned, not available. Today a treasury has a vote-only role that can point the stock's votes at a delegate, and the role is read live from the factory's owner rather than stored. So the day it should belong to a strategy's token holders, that owner can become a contract in which they choose the delegate — with no treasury changing and nothing already launched migrating. Reserving that in v1 is the whole reason the role exists.
Two limits, and they are the point:
- There is nothing to vote with yet. The tokenized stocks on this chain expose no delegate surface at all, so the call is refused and nobody can vote tokenized stock here. A governor is worth building the day an issuer opens one.
- The vote is over the stock's own corporate governance — how the shares a treasury holds get voted — and over nothing else. Not the treasury's money, not its trading rule, not its buy-backs: those are fixed at launch and unreachable by anyone, holders included.
It does not change the claim position. Holders would still have no redemption, no dividend and no pro-rata share of a treasury. The only link between a treasury and the people holding its token stays what it is today: it buys the token on the open market and burns it.
Risk disclosures
- Holders have no claim on the treasury — no redemption, no dividend, no pro-rata, no governance over the money. The only link is a buy-back that burns.
- The treasury is long one stock. If it falls and stays down, lots sit unsold, nothing is burned, and the token has no mechanism that helps.
- The stock token is upgradeable by its issuer, who can deny-list, pause or burn. Nothing in these contracts can prevent or repair that, and everything a treasury holds depends on it.
- The creator's first buy is uncapped and outside the launch window. Check what the launcher took before you buy.
- A high take-profit means it sells only far above cost, not that it holds on your behalf.
- No trades, no tax, no treasury. The whole thing is funded by turnover.
- Reviewed, not formally audited. Nine adversarial rounds plus two external reviews, with no Critical, High or Medium finding outstanding, over a thousand tests, and fork tests against real chain state — but no published audit.
- The hook and a launch are immutable. A mistake in either cannot be fixed for a launch that already exists.
- A token is not its name. Anyone may launch on any listed stock with any name. A launch is not an endorsement by the stock's issuer, by the protocol, or by anyone.
- Legal status is unassessed. Launching a token whose treasury accumulates tokenized equities has not been reviewed by counsel.
This is an interface, not investment advice, and nothing here promises a return. See the Terms of Use.