NaniteHook on Base

Uniswap v4 Hook Contract 0x6b26055e517e9ed9f16a1faef76ae8ecbc42a4cc on Base · Launchpad · Verified contract

Volume (24h)
$0
Value locked (TVL)
$16.24K
All-time volume
$121.34K
Pools using this hook
1
Swaps (24h)
0 (0 traders)
Total swaps
1,112

What it does

A Nanite token launch hook that charges an anti-snipe fee starting at 99% and decaying to 10% over about 89 minutes, then routes the fee to buy-and-burn, reward, team and treasury destinations.

How it works step by step

  • Restricts pools to ETH/Nanite pairs with ETH as currency0
  • Charges an anti-snipe fee starting at 99% and decaying 1% per minute to 10%
  • Takes buy fees from ETH input via beforeSwap return delta and sell fees from ETH output in afterSwap
  • Splits fees: 50% buy-and-burn, 20% reward, 20% team, 10% treasury
  • Buys Nanite with the burn portion and sends it to claims (50% until 100M target) or dead address
  • Gates liquidity additions to the Nanite contract or a team-controlled loading flag
Swap behaviour
Only exact-input swaps are allowed. Buys are charged the current fee in ETH before the swap; sells are charged the current fee on ETH output after the swap. Fees are distributed and a portion is used to buy and burn Nanite, with claims deposits after the anti-snipe period.
Liquidity behaviour
afterAddLiquidity only permits additions from the Nanite contract or while loadingLiquidity is true, and grants the Nanite token a transfer allowance equal to the tokens added. No callbacks on removal.
Fee behaviour
Anti-snipe fee starts at 99% (9900 bips) at first trade and decays 1% per minute to a floor of 10% (1000 bips). On buys the fee is taken from ETH input via beforeSwap return delta; on sells it is taken from ETH output in afterSwap. Fee split: 50% buy-and-burn, 20% reward address, 20% team address, 10% treasury address.
Owner & admin controls
Team address (teamAddress) is the sole admin: it can change rewardAddress, teamAddress, treasuryAddress, claimsAddress, and toggle loadingLiquidity. No pause, no upgrade proxy, no timelock. Team can redirect all future fee ETH by changing the reward/team/treasury addresses.

Enabled Uniswap v4 callbacks

beforeInitialize, afterAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pools to ETH/Nanite pairs. afterAddLiquidity gates liquidity provision and sets token transfer allowance. beforeSwap enforces exact-input only, starts the launch timer on first trade and takes the buy fee via return delta. afterSwap sets transfer allowance, takes the sell fee and runs fee distribution and buy-and-burn. beforeSwapReturnDelta and afterSwapReturnDelta allow the hook to take specified and unspecified amounts.

Security & trust assessment

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

Who controls it: The team address controls where all fee ETH is sent and can reassign reward, team and treasury destinations at any time, including redirecting future fee flow to itself. It also controls the claims contract address, through which up to 100M tokens are deposited, and can set loadingLiquidity to allow arbitrary liquidity additions.

Risk to user funds: The hook holds and moves ETH and Nanite during swaps: it takes a fee in ETH from buys and sells, sends ETH to reward, team and treasury addresses, buys and burns Nanite via a nested pool swap, and deposits up to 100M tokens into the claims contract. A misconfigured or malicious destination address can block swaps or redirect fees.

Security findings

  • [medium] Unrestricted admin over fee and claims destinations: Team can change rewardAddress, teamAddress, treasuryAddress and claimsAddress at any time with no timelock, so the destination of all fee ETH and claimed tokens is fully discretionary.
  • [medium] Liquidity addition gate can be toggled by team: setLoadingLiquidity lets the team bypass the afterAddLiquidity sender check, so the team can add liquidity at will and receive transfer allowances on Nanite tokens.
  • [medium] Hook moves swap value and external ETH transfers: Buy fees are taken via beforeSwap return delta and sell fees via afterSwap return delta, and the hook transfers ETH out mid-swap via forceSafeTransferETH to external addresses, so the hook actively moves pool and user value.
  • [info] Extreme launch-period fee: Fee decays from 99% to 10%, so early traders pay extremely high effective costs. This is intentional anti-snipe design but is a strong user-funds cost, and the fee is computed from block.timestamp which is minor-manipulable.
  • [low] External ETH sends can block swaps: No reentrancy issues observed beyond the ReentrancyGuard import, but poolManager.take and settle calls occur inside afterSwap and reward/team/treasury transfers are external ETH sends to admin-set addresses that could revert and block swaps if misconfigured.

Contract details

Verified source
Yes (NaniteHook)
Compiler
solc 0.8.26+commit.8a97fa7a
Bytecode size
6,560 bytes
Upgradeable proxy
No
Detected patterns
launchpad, moves-currency, return-delta, rewards

Pools using NaniteHook