ClaudiusHook on Ethereum
Uniswap v4 Hook Contract 0x82705d96e4338abc5a12a69aa615787413cb60cc on Ethereum · Fee sharing · Verified contract
- Volume (24h)
- $0
- Value locked (TVL)
- $0
- All-time volume
- $0
- Pools using this hook
- 1
- Swaps (24h)
- 0 (0 traders)
- Total swaps
- 0
What it does
During the first 10 minutes after launch, every swap pays a tax that starts at 35% and falls to 3%, with one third of the base tax going to the team and the rest split among the treasury, burn, holders and purse; after that all swaps pay a flat 3% of the ETH side.
How it works step by step
- Takes a trading tax on every swap of the native ETH and CLAUDIUS token pool, starting at 35% of the ETH side for the first 10 minutes after launch and falling linearly to 3%
- Routes one third of the base 3% tax to a fixed team address and two thirds to a community pot
- Splits the community pot by the current split reported by an external court contract into treasury, buyback-and-burn, holder cashback and an event purse
- Accumulates anti-sniper tax above 3% with 80% going to the treasury and 20% to the team
- Exposes a public flush function that anyone can call to pay out pending balances and perform buyback-and-burn via a self-initiated pool swap
- Swap behaviour
- Every swap where ETH is the specified side has the tax taken in beforeSwap from the specified amount; swaps where ETH is the unspecified side have the tax taken in afterSwap from the ETH that moved. Tax rate is taxBps(), which is 35% at pool creation and decays linearly to 3% over 10 minutes, so early buyers and sellers pay substantially more; after that window all trades pay the flat 3%.
- Liquidity behaviour
- No liquidity callbacks.
- Fee behaviour
- The pool's LP fee is 0; the hook tax is the only fee. Tax is calculated as amount times taxBps divided by 10000, where taxBps is 300 after the snipe window and higher during it. Of the base 3%, one third goes to pendingTeam and two thirds to pendingCommunity; the extra anti-sniper portion is split 80% to the snipe treasury and 20% to the team. Fees accumulate in the hook and are paid out on flush().
- Owner & admin controls
- No owner, pause or upgrade mechanism is visible in the code. Tax rates, team share and the recipient addresses for team and court are constants or immutables set at construction. The court contract's currentSplit is an external dependency that determines the community pot split and may be changed by its own controller, which is not visible here.
Enabled Uniswap v4 callbacks
beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta
beforeInitialize restricts pool creation to the single ETH/token pool with fixed parameters and records its launch time. beforeSwap takes the tax from the specified ETH amount and records pending balances, returning a delta so the hook receives that ETH. afterSwap does the same for swaps where ETH is the unspecified side. beforeSwapReturnDelta and afterSwapReturnDelta are enabled so the hook can claim a portion of swap amounts.
Security & trust assessment
Risk level: medium (verified source, high confidence).
Who controls it: No privileged key is visible; the team address receives a fixed share and the court contract, which is outside this code, controls the community split and purse funding, so trust in that contract is the main centralization point.
Risk to user funds: The hook takes up to 35% of the ETH side of swaps during the launch window and 3% thereafter and holds pending balances until flush; it cannot raise the tax or redirect the team share, but ETH sent to the court or team addresses leaves the hook immediately on flush, and if the court or team recipient reverts, flush will revert and block payouts.
Security findings
- [info] Tax taken via return deltas: beforeSwap and afterSwap return deltas that claim ETH from every swap, so the hook directly moves user swap value to itself and then to team, court, burn and holder recipients.
- [medium] External court controls split: The community pot allocation depends on court.currentSplit() and court.fundPurse(); if the court contract is malicious or upgradeable it could redirect community ETH, though the hook's own code does not allow raising the tax.
- [low] Permissionless flush and self-swap: flush is callable by anyone and triggers an internal buyback swap of pool liquidity; the buyback uses the same pool with a price limit near minimum, so MEV or sandwiching of the buyback is possible and users' ETH is spent on the market.
- [info] Silent fallback on unused hooks: Unused callbacks revert with no data, which is harmless since they are not enabled in the hook address flags.
Contract details
- Verified source
- Yes (ClaudiusHook)
- Compiler
- solc 0.8.26+commit.8a97fa7a
- Bytecode size
- 6,723 bytes
- Upgradeable proxy
- No
- Detected patterns
- launchpad, moves-currency, return-delta, self-unlock, tax
Pools using ClaudiusHook
- ETH / CLTEST2 (0.00% fee) — 24h volume $0, TVL $0, 0 swaps today