Who does what
Four kinds of people meet at a Hedgefun, and one of them can be anybody with a wallet and a script. Nobody is hired, nobody is appointed, and nobody can change the strategy once it is live — each of them is there because the contracts pay them to be.
At a glance
| Holder | Trader | Creator | Keeper | |
|---|---|---|---|---|
| who | believes the strategy and the stock | trades the token's moves | has a view on one stock | anyone running a bot |
| does | buys, then nothing | buys and sells, often | writes five numbers, launches once | sends the treasury's calls when they are due |
| puts in | the price of the token, plus buy tax | the tax, both sides | nothing required; optionally a first buy or a seed | gas |
| is paid | through burns: the supply shrinks | trading gains, if any | a cut of every sell's tax, in the stock, forever | 0.5% of what each call produced, in what it produced |
| can lose | the token's price; no claim on the treasury | the tax, and the spikes | nothing they did not put in; their first buy like anyone's | gas on a call someone else sent first |
| can change the strategy | no | no | no — frozen at launch | no |
Holder
Buys the token, and lets the machine run. A holder is betting that the strategy will find profit in its stock and that the burns will outpace whoever sells.
What you get. Every buy's tax is burned, and every profitable sale in the treasury buys the token back and burns it. The supply only goes down. If 5% of the supply has burned, a wallet that held 1% now holds 1.053%, with nothing done.
What you do not get. No dividend, no yield, no staking, no share of the treasury, no redemption. Holding alone earns nothing; the burns are the only link between the treasury and your balance.
Before you buy, check:
| where | why | |
|---|---|---|
| the five numbers | the launch page, or treasury.params() | a +250% target burns rarely; a +8% one burns often and small |
| the launcher's first buy | the launch transaction | exempt and uncapped — a big number means most of the float is one wallet |
health() | the treasury | false means the stock leg is paused: a closed market, a stale feed, a corporate action |
| burned so far | the token's supply against 1,000,000,000; treasury.totalBurned() for the buy-back part | the machine's track record, in the only unit that reaches you |
| the stock | — | you are long that stock through the treasury as much as you are long the token |
Trader
Trades the token, and pays for the machine. Every trade is taxed; the trader is where all the money in a Hedgefun comes from.
What you pay. A flat tax each side, set by the creator between 1% and 15% (read buyRateBps / sellRateBps).
On a buy it is taken in the token and burned. On a sell it is taken in the stock and split: protocol,
creator, treasury.
When it costs more. Two windows, both public and both on a clock:
| window | when | the rate, at a 10% flat tax |
|---|---|---|
| launch window, buys | first 3 seconds of a launch | 99% → 66% → 33% → 10% |
| sell spike | first 120 seconds of a launch, and after every buy-back | 90% at 0s · 67.5% at 30s · 45% at 60s · 22.5% at 90s · 10% from ~107s |
The spike is there so that nobody can dump into the treasury's own burn. It fires at most once per 240 seconds, so a seller always gets at least as long at the flat rate as under the spike. The launch window turns the first seconds into a falling-price auction instead of a race to be first in the block — and the premium burns.
How to route. The token trades against its stock, not USDG. Holding USDG, the trade router does USDG → stock → token in one transaction. Sells are exact-input only.
Creator
Writes the strategy, launches it, and is paid while it runs. No capital, no licence, no permission.
What you decide, once. A listed stock; name and symbol; the tax rate (1–15%); your cut of the sell tax (up to
30%); and five numbers — tp1, tp2, dip, stop, lotBps. Optionally, in the same transaction: a first buy
at the flat rate, stock or USDG handed to the treasury, and the token's page.
What you are paid. creatorBps of every sell's tax, after the sweep tip, in the stock, for as long as
the token trades. It is a function of volume, not of the strategy's results:
creator per day = sell volume × sell tax × (1 − 0.5%) × creatorBps
| sell volume / day | tax 10%, creator 30% | tax 5%, creator 20% |
|---|---|---|
| $10,000 | $298.50 | $99.50 |
| $100,000 | $2,985 | $995 |
| $1,000,000 | $29,850 | $9,950 |
What you give up. Everything else. The strategy, the tax, the split and the liquidity are frozen the moment it launches. The entire supply is seeded as permanent liquidity — yours included. That is the trade: strangers back a strategy because its author cannot touch it.
What you must keep. The address that receives the cut. If it goes silent, the protocol can propose moving the payout after 14 days on chain; one call from you ends that and bars another proposal for 180 days. Use an EOA or a Safe that can make that call, not a splitter.
Keeper
Sends the treasury's calls, and keeps a cut of each. There is no keeper role in the contracts — "keeper" is just whoever gets there first. Every call checks its own trigger against the oracle and either fires or refuses, so the caller chooses only when to ask, never the price.
| call | due when | you are paid | in |
|---|---|---|---|
sweep(poolId) on the hook | tax has accrued on a pool | 0.5% of what the sweep distributes | the token and the stock |
book() | stock has arrived and the oracle is live | nothing — it rides along with the others | — |
takeProfit(id) | price ≥ a lot's cost + tp1, then + tp2 | 0.5% of the profit | the stock |
buyDip() | price ≤ last sale − dip | 0.5% of what was spent | USDG |
stopLoss(id) | the creator set a stop and price fell to it | 0.5% of the proceeds | USDG |
buyback() | profit is waiting and 60s have passed since the last | 0.5% of the tokens bought | the token |
What a call is worth. A take-profit on a $10,000 chunk at +20% realises about $1,667 of profit: the caller keeps about $8.33 of stock. A dip buy of $1,000 pays $5 in USDG. On Robinhood Chain the gas is a fraction of that, which is what makes small treasuries worth running.
How to find work. Walk factory.strategies(i), read each treasury's health(), params() and lots, and
eth_call before you send: NotDue is the normal answer and costs nothing. The full loop is in
integration.
What you risk. Gas on a transaction that lands after someone else's. Nothing else: a keeper never holds the treasury's money and cannot move its price.
The protocol
Runs the factory, and is paid from the sell tax. A 3-of-4 Safe.
- Is paid 20% of every sell's tax after the tip, in the stock. Buys pay the protocol nothing.
- Sets listings, defaults and bounds — for future launches only.
- Can, against a launched Hedgefun, do four bounded things: halt trading for an unscheduled market closure, move its own payout address, move a vanished creator's payout after 14 days, and point the treasury's stock votes at a delegate. None of them reaches a treasury's money or its strategy. The full list is on the protocol page.
- Is not $HEDGE. No Hedgefun pays $HEDGE holders, and $HEDGE pays nothing to Hedgefun — why they are separate.
One person, several hats
Nothing stops the same wallet from wearing more than one. A creator is usually their own first holder; a keeper bot can hold the tokens it burns for; a trader who stops trading is a holder. Each hat is paid by its own rule, and none of them buys a say over the strategy.
See how it works for where the money goes and what the treasury does in each market. This is an interface, not investment advice — see the Terms of Use.