Fees & Burn engine
Every swap on the GEODE/WETH v4 pool pays a flat 3% hook fee. The pool itself runs at a 0% LP fee tier — the hook is the only fee taker, by design. The hook splits that 3% into two buckets, on every swap:
The treasury slice is pull-withdrawn outside the swap path — it can never make a user transaction revert. Treasury withdrawals are restricted to the configured Slinq treasury address.
The buyback-and-burn engine
The 2.7% slice doesn’t burn instantly — it accumulates inpendingBurn. Burning happens counter-flow: only after a sell, and only when there’s enough WETH on hand to make a meaningful purchase.
1
A sell arrives
Someone swaps GEODE → WETH. The hook collects the 3% fee from the WETH output.
2
Trigger conditions are checked
The buyback fires only if both of the following are true:
- The seller’s
wethOutis at least 0.05 WETH pendingBurnis at least 0.05 WETH
3
The hook buys GEODE back from its own pool
Budget:
min(pendingBurn, wethOut). Capped at a 1% price-impact bound (sqrtPriceLimitX96) from the post-sell pool state, so it can’t be sandwiched into a bad fill.4
GEODE is sent to the burn address
The bought-back GEODE is forwarded to
0x…dEaD. pendingBurn is debited by the actual WETH consumed, so partial fills are fine.What this means for you
- Buys push the price up and earn mining capacity. Buys also feed
pendingBurn(their fee share goes to the burn pool, ready to deploy on the next sell). - Sells pay the same 3% fee, earn no capacity, but they’re what triggers the actual burn — using accumulated burn fuel to purchase and destroy GEODE supply.
- Holding is rewarded indirectly: every sell shrinks float (counter-pressure), and every meaningful trade strengthens the burn reserve.
pendingBurn simply accumulates and waits — it’ll deploy the next time a sell hits the threshold.