Appearance
Fees
Every trade pays two charges on its ETH leg, before and after graduation. They are worth telling apart.
| Charge | Rate | Set by | Goes to |
|---|---|---|---|
| Platform fee | 1%, fixed | Protocol (a compile-time constant; the owner cannot change it) | Protocol treasury, less any referral share |
| Creator tax | 1%–10% | Creator, at launch, immutable | Creator, less the buyback slice when enabled |
| Snipe tax | 99% decaying to 0 over the first seconds | Protocol, snapshotted at launch | Creator |
So a trader's total cost is 1% + creatorTax, shown on every trade in the app.
Where the platform fee goes
- 20% of it goes to the referrer when a trade carries one (see referrals).
- The rest goes to the protocol treasury.
Where the creator tax goes
- If the creator has buyback enabled, 50% of the tax is spent buying the token back off the market and locked into the vesting vault. See buyback and vesting.
- The rest is credited to the creator.
The split is applied at the moment each trade is charged, so toggling buyback later only affects future fees.
Launch fee
The factory may charge a flat fee to launch, paid in ETH with the launch transaction. It is 0 on testnet and capped at 10 ETH by the contract.
How payouts work
Fees are not pushed to wallets. They accrue on the curve (or the hook, after graduation) and are moved to HanokFeeEscrow by a sweep. From the escrow, each recipient withdraws on their own schedule. This is deliberate: a recipient whose wallet rejects transfers can never block payouts for everyone else.
- Pre-graduation sweep:
HanokCurve.sweepFees(minBuybackTokens). Anyone may call it for the protocol and creator legs. - Post-graduation sweep:
HanokHook.sweep(poolId, minBuybackTokens). - Claim:
HanokFeeEscrow.claim(asset)withasset = address(0)for ETH.
The buyback leg moves the market, so it only executes when the protocol's fee operator calls with a minimum-output floor. Everyone else's sweep pays out the protocol and creator legs and leaves the buyback slice pending.
Portfolio page
The app's Portfolio page shows unswept fees per token with a Collect button, and the escrow balance with a Claim button.