How the
heat gets
in.
Four moving parts. A cut on buys, a pot, a strike, a split.
Nothing here is a promise about price. It is a description of what the contracts do with the ETH that passes through them, written so you can check it against the source rather than take our word for it.
The whole path
Figure 02.1 — the four moving parts and the two ways in. Drawn from AnvilHook, AnvilToken and AnvilForge.
The cut
- What is charged
-
A percentage of the ETH going in on a buy. Not a percentage of the tokens you receive, and not a tax on your balance — the token contract itself has no fee on transfers of any kind.
- What is not charged
Selling. Sending $ANVIL to another wallet. Adding or removing liquidity. Forging. The hook looks at the direction of the swap and does nothing at all unless ETH is going in.
- How much
Set once when the contracts are deployed and never changeable after that — there is no setter for it. The contract refuses any value above 5% of the ETH leg, which is the only figure that is fixed in the code today. The actual number has not been chosen yet.
- How it is held
The hook does not move the ETH anywhere during your swap. It writes itself a claim against the pool and settles later. That is a deliberate choice: a swap can never fail because the hook's payout leg failed, because there is no payout leg while you are swapping.
- Pool fee
The pool is created with a dynamic fee that starts at zero, and the only contract permitted to change it is the hook — which has no function that does. So the cut on buys is the only charge in the system.
The strike
strike() is the lever that turns the pot into rewards. It is not run by us on a schedule. It has no permission check: anybody with the gas to spend can call it, and the contract pays the caller a small tip out of the tokens the strike buys, so there is a reason for someone to do it.
It is a real market buy
The pot's ETH is swapped for $ANVIL in the same pool everyone else trades in, at the same price, in one transaction. Nothing is minted. Nothing is taken out of a treasury. The tokens handed to smiths were bought off the market like any other buy.
It is capped per call
A strike can only spend up to a fixed amount of ETH, no matter how large the pot has grown. A big pot is spent down over many strikes rather than in one conspicuous order, so no single strike is a trade worth trading against.
It has a floor
Before spending anything the contract works out what that much ETH should buy at the current price and refuses to proceed if the swap would return less than a set fraction of it. A strike that gets a bad fill does not happen at all.
It has a cooldown
There is a minimum gap between strikes, fixed at deployment. It stops the pot being ground down by a stream of tiny strikes, each paying out a tip.
The caller's tip
Whoever calls strike() keeps a slice of the $ANVIL it bought, and the rest goes to the smiths. The contract will not accept a tip above 5% of the tokens bought — that ceiling is written into the code. The actual figure is chosen at deployment and cannot be changed afterwards.
The split
- Where it goes
The bought $ANVIL is sent to a separate contract — the forge book — which does nothing except hold rewards and keep the ledger of who is owed what. Keeping it out of the token means the amount owed to smiths is never mixed up with anybody's ordinary balance.
- When you get it
Your share is credited the moment the strike lands. It waits there until you claim it, and there is no deadline, no expiry and no penalty for leaving it. Claiming is a transaction you send yourself.
- Late forgers
Forging now does not entitle you to anything distributed before now. When your weight changes the book settles everything you had earned at the old weight first, then starts counting at the new one. A wallet that forges after a distribution has already happened is owed exactly zero from it.
- Before anyone forges
If a strike happens while no wallet has any weight, the tokens are not lost and are not sent anywhere. They are banked and folded into the first distribution that has someone to pay.
- Donations
The book credits whatever $ANVIL turns up in it that it has not already accounted for. Anyone who wants to give tokens to the smiths can simply send them there, and they get shared out on the same terms.
What it does
not do
It does not create demand
Every reward traces back to somebody buying. Quiet market, empty pot. The mechanic decides where buying pressure goes; it cannot manufacture any.
It does not pay in ETH
The pot is ETH, but you are paid in $ANVIL bought with it. Your reward is worth whatever $ANVIL is worth when you sell it.
It does not protect your slice
Nothing caps how much anyone else can forge. A very large burn by someone else thins everybody's share of every distribution after it.