Swing on Ethereum

Uniswap v4 Hook Contract 0x31d3d5a8a7d6670794c259e04cea6c0e328e60cc on Ethereum · Token · Verified contract

Volume (24h)
$87
Value locked (TVL)
$80
All-time volume
$50.82K
Pools using this hook
1
Swaps (24h)
1 (1 traders)
Total swaps
440

What it does

An immutable token-hook that charges a flat 3% ETH fee on every buy and sell in its single ETH pool, splitting it two thirds to a vault and one third to a treasury, while LPs can add and withdraw freely.

How it works step by step

  • An ERC-20 token that is also its own Uniswap v4 hook, paired only with native ETH in a single pool.
  • Charges a fixed 3% fee on every buy and every sell, always taken in ETH.
  • Sends one third of each fee to a treasury address and the remaining two thirds to a vault address, both fixed at deployment.
  • Only the designated launcher can create the pool, only once; all other pools using this hook are refused.
  • Fixed supply minted once at deployment, with no owner, no minting, no pause and no transfer tax.
Swap behaviour
Every swap in the bound pool pays a 3% fee in ETH: on buys it comes from the ETH you pay in, and on sells it comes from the ETH you receive. Swaps on any other pool key revert, and a swap reverts if the vault cannot accept the ETH.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
A fixed 3% of the ETH side of each buy and sell is taken by the hook, on top of the pool's 0 fee tier. One third goes to the treasury (if that payment fails it goes to the vault instead) and two thirds go to the vault.
Owner & admin controls
No admin controls found. The fee rates, vault, treasury and launcher addresses are all fixed at deployment and cannot be changed.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: restricts pool creation to the launcher, once, for ETH/this token only; beforeSwap: takes the 3% ETH fee when ETH is the specified amount (exact-input buys, exact-output sells); afterSwap: takes the 3% ETH fee for exact-output buys and exact-input sells; beforeSwapReturnDelta and afterSwapReturnDelta: let the hook charge that fee to the swapper.

Security & trust assessment

Risk level: low (verified source, high confidence).

Who controls it: There is no owner. The launcher's only power is creating the single pool once, and the vault and treasury recipients are immutable.

Risk to user funds: The hook only takes 3% of the ETH side of each swap. It cannot touch LP principal, and LP withdrawals are unrestricted.

Security findings

  • [info] Fixed 3% swap fee: Buy and sell fees are hard-coded constants of 3% in ETH, with no way to raise them.
  • [low] Vault can block swaps: If the fixed vault address rejects ETH, every fee-paying swap reverts. This halts trading but does not touch LP funds, and LPs can still withdraw.
  • [info] Unrestricted LP withdrawals: Remove-liquidity callbacks are disabled, so the hook cannot block or charge LP withdrawals.

Contract details

Verified source
Yes (Swing)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
5,666 bytes
Upgradeable proxy
No
Detected patterns
erc20, launchpad, liquidity-management, moves-currency, return-delta

Pools using Swing