Skip to content

Sniper Protection

An optional launch setting (sniperProtected: true) that limits how much of the supply any single wallet can hold during the first 10 minutes after launch, aimed at blunting bot-driven wallet concentration in the seconds right after a pool goes live.

How it works

Limits are enforced as a max wallet balance, computed as a percentage of total supply, and step down over three windows measured from the moment the token contract was created:

Time since launchMax wallet balance
0 – 60 seconds0.3% of supply
60 – 180 seconds0.75% of supply
180 – 600 seconds (10 min)1.5% of supply
After 600 secondsNo limit, disabled permanently

The limit applies to the resulting balance after a transfer, not the transfer size, so require(balanceOf(to) + amount <= maxWallet). A wallet that already holds tokens can still receive more as long as its new total stays under the current window's cap. The pool manager itself is exempt (otherwise sells into the pool would be impossible).

Once the 10-minute window passes, limits switch off permanently. There's no way to re-enable them, and no admin lever to extend the window.

Interaction with holder rewards

Sniper protection and holder rewards are independent settings, but they're implemented as combined contract variants under the hood: the factory picks the right token contract automatically based on which flags you set:

hasRewardssniperProtectedContract deployed
falsefalseStandard ERC20
falsetrueAnti-sniper ERC20
truefalseReward ERC20 (dividend distributor, no sniper limits)
truetrueReward ERC20 with sniper limits

You don't choose the contract directly, just set hasRewards and sniperProtected in DeployParams and the factory routes to the right deployer.

Should you enable it?

It's a tradeoff: sniper protection makes early bot accumulation harder, but it also caps how much any legitimate buyer (including a whale who wants in early) can hold in the first 10 minutes. For most standard launches this is a reasonable default; for launches expecting a large single early buyer (e.g. a coordinated community buy), it's worth considering leaving it off.

Built on Robinhood Chain.