Robinhood Chain·Scanned 05 Nov 2026, 18:20 UTC
PonsV2LauncherToken $SNOP
Verdict
32/100 safety
SNOP token has no owner powers; curve buy/sell works at ~3% fee, but the site's dApp exit test was flagged
This is rated high risk mainly because a hard rule was triggered: the project website's own sell test was flagged, although it ran on a different token and returned about 98% of the funds, which looks like normal curve fees. The SNOP token contract itself has no owner powers and buying and selling work at about 3% fees. However, all trading money sits in an unverified bonding curve, the Pons platform owner can rescue funds in some situations, and the buyback-and-burn claim is not supported by on-chain data. Launch snipers took about 9% but have fully sold, and the creator holds nothing.
Score breakdown
- Contract15
- Token52
- Social / X42
- Website33
Higher is safer · 0 = worst · 100 = best
- Yes
- 3%
- None (no owner role)
- 0% / 0%
Narrative
Narrative not assessed: Trend Scout failed.
Key findings
- CriticalWithdrawing through the dApp failed ("Sell SNOP CAT")
- HighClaim contradicted: 100% of the protocol revenue will be used to buy back SNOP tokens.
- MediumUnverified bonding curve holds 65.7% of supply and all reserves
- MediumPons factory owner can rescue curve fees and stuck graduation funds
- GoodSNOP token is a fixed-supply template with no owner powers
What would change the verdict
- Raises safety:A clean dApp sell test of SNOP itself returns funds minus the documented ~3% curve fee → up
- Raises safety:Bonding curve source is verified and shows no admin path to move ETH reserves → contract score up
- Raises safety:Curve graduates and its Uniswap v4 position lands in the Pons LP locker → up
- Lowers safety:Pons factory owner uses rescueSweptGraduation or rescue functions on SNOP funds → down
Unlock PRO for this project
A one-time payment adds hourly re-checks for good, a 7-day watch, questions to the jury, the launch map and deeper social forensics.
Findings
13 findingsRisks (8)
CriticalWithdrawing through the dApp failed ("Sell SNOP CAT")honeypotDeterministic
We ran the project's own dApp on a local fork. The "Sell SNOP CAT" step did not work. Expected: It isn't real money and no one can withdraw it. (source: https://snopfamily.app/docs). Observed: wallet +0.0098 ETH, -5858334.81 SNOPCAT; contracts: 0xbd75…4800 (site-mention) +5858334.81 SNOPCAT, 0xbd75…4800 (site-mention) -0.0098 ETH; 2 tx (approve ok, sell ok). returned 0.0098 ETH of 0.01 ETH deposited (98.01%) | driver: done — Successfully sold all SNOPCAT back for ETH.. Money deposited may be impossible to take out.
Evidence
- forkdApp test "Sell SNOP CAT" on a local fork (https://snopfamily.app/launchpad/0xb980c97daf4b5cf8ad71fdda9d8e40c49c8df955)
Show source
wallet +0.0098 ETH, -5858334.81 SNOPCAT; contracts: 0xbd75…4800 (site-mention) +5858334.81 SNOPCAT, 0xbd75…4800 (site-mention) -0.0098 ETH; 2 tx (approve ok, sell ok). returned 0.0098 ETH of 0.01 ETH deposited (98.01%) | driver: done — Successfully sold all SNOPCAT back for ETH. - forkdappTests: Sell SNOP CAT — approve + sell
Show source
returned 0.0098 ETH of 0.01 ETH deposited (98.01%) - forkdappTests: Sell SNOP CAT — approve
Show source
exact 5858334.81 SNOPCAT
Confirmed by: facts, claude-opus-5.5, gpt-5.6-sol
HighClaim contradicted: 100% of the protocol revenue will be used to buy back SNOP tokens.claims-mismatchDeterministic
The project claims buyback & burn, but none of the 11 burn(s) seen was preceded by a buy from a pool in the same transaction (1.4% of supply burned in total).
Evidence
Show source
The tech is working as expected, and 100% of the protocol revenue will be used to buy back $SNOP- on-chainTransfer events of 0x0f58e1a3754dfc352ffae8e962c729ede06a8c5e to burn addresses + balanceOf(0x…dEaD)
Confirmed by: facts
MediumUnverified bonding curve holds 65.7% of supply and all reservesliquidityAI
The token has not graduated. All trading runs through the curve 0xC41C…1963, which holds 65.74% of supply plus the ETH reserves (about $2,224). Its source is not verified. Its ABI exposes sweepFees, rescueFees, setCreatorFeeRecipient, setBuybackEnabled, exemptFromSnipeTax and graduate, but we cannot see who may call them or what they move. If one of these were callable by an admin and could move reserves, holders' exit liquidity would be at risk. This is an unknown, not proof of abuse: the simulation shows normal buying and selling today.
Evidence
- on-chainlaunchpad.relatedContracts: bonding curve 0xC41C81891d0809C45483DCde823F7810634A1963 verified=false
- on-chaintopHolders: 0xC41C81891d0809C45483DCde823F7810634A1963 pct 65.7412 (bonding curve)
- staticcurve function table: sweepFees(uint256), rescueFees(), setCreatorFeeRecipient(address), graduate(address) — access unknown (unverified)
Confirmed by: claude-opus-5.5, gpt-5.6-sol
MediumPons factory owner can rescue curve fees and stuck graduation fundsliquidityAI
The Pons V2 factory owner (0x263e…19Dd) has rescueCurveFees(address) and rescueSweptGraduation(address,address). The second one sends tokens and ETH out. A constant GRADUATION_RESCUE_DELAY of 7 days exists. The likely path: if graduation is swept from the curve but the Uniswap v4 pool is not created, the owner can move those funds to an address of its choice after the delay. That would take the liquidity meant for the DEX pool. forceSweptGraduation is also owner-only. The exact conditions cannot be read because the factory source was omitted. This is a platform-wide trust assumption, not specific to SNOP.
Evidence
- codePonsV2LaunchFactory.sol:L1254-L1286
Show source
function rescueSweptGraduation(address token, address recipient) external onlyOwner nonReentrant { LaunchedToken storage launch = _launchedTokens[token]; if (!launch.exists) revert TokenNotFound(); if (launch.phase != GraduationPhase.Swept) revert WrongGraduationPhase(); if (recipient == address(0)) revert ZeroAddress(); uint256 availableAt = launch.sweptAt + GRADUATION_RESCUE_DELAY; if (block.timestamp < availableAt) revert GraduationRescueTooEarly(availableAt); uint256 quoteAmount = launch.sweptQuote; uint256 tokenAmount = launch.sweptTokens; address pairToken = launch.pairToken; launch.sweptQuote = 0; launch.sweptTokens = 0; - codePonsV2LaunchFactory.sol:L1222-L1227
Show source
function rescueCurveFees(address token) external onlyOwner nonReentrant { LaunchedToken storage launch = _launchedTokens[token]; if (!launch.exists) revert TokenNotFound(); PonsV2BondingCurve(payable(launch.curve)).rescueFees(); } - codePonsV2LaunchFactory.sol:L1109-L1124
Show source
function forceSweptGraduation(address token) external onlyOwner nonReentrant { LaunchedToken storage launch = _launchedTokens[token]; if (!launch.exists) revert TokenNotFound(); if (launch.phase != GraduationPhase.NotGraduated) revert WrongGraduationPhase(); PonsV2BondingCurve curve = PonsV2BondingCurve(launch.curve); if (!curve.readyToGraduate()) { revert PonsV2BondingCurve.NotReadyToGraduate(); } if (_graduationSeedable(token, launch, curve.realQuoteReserve(), curve.tokenReserve())) { revert GraduationStillViable(); } _sweepCurve(token, launch, curve); emit LaunchForceSwept(token); } - on-chainPonsV2LaunchFactory param GRADUATION_RESCUE_DELAY = 604800
Confirmed by: claude-opus-5.5, gpt-5.6-sol
MediumSnipers and a funded bundle took 9.2% at launch, now sold outsnipersAI
Eight wallets bought 9.19% of supply in the first 100 blocks (10 seconds). Four of them bought 2.62% in the same block and were funded by one address (0x5309…f32f). The snipers now hold 0%, so this supply is no longer a dump risk, though their selling already happened. One other funded cluster (0xd833…, 0xcc61…) still holds 1.67%. Top-10 non-infrastructure holders own 21.6%, and the largest single wallet holds 4.16%.
Evidence
- on-chainsnipers.pctSupplyBought = 9.1946, snipers.pctSupplyHeldNow = 0
- on-chainbundles[0]: block 106412725, commonFunder 0x53091256ebd2d8aa37b45536a5fd864ca764f32f, pctSupply 2.6193
- on-chainclusters[0]: funder 0xada5bb90d0de0bd1b6f3938708f49295a8d1f7cb pctSupplyHeldNow 1.6688
- on-chaintop10Pct = 21.628
Confirmed by: claude-opus-5.5, gpt-5.6-sol
LowPons factory owner can raise snipe tax for future launches unboundedfeesAI
The Pons V2 factory owner (0x263e…19Dd) can call setSnipeTaxStartBps and setSnipeTaxSeconds, and the setters have no bounds. The current values are 9900 bps (99%) decaying over 3 seconds. If the owner set a long duration and these values applied to a live curve, early buyers could be taxed close to 100%. The curve keeps its own snipeTaxStartBps()/snipeTaxSeconds() getters, which suggests values are copied at launch, so SNOP's already-launched curve is probably unaffected. This cannot be confirmed because the curve is unverified and the factory source was omitted. The current snipe tax for SNOP is 0.
Evidence
- codePonsV2LaunchFactory.sol:L564-L571
Show source
function setSnipeTaxStartBps(uint256 bps) external onlyOwner { if (bps != 0 && (bps <= MAX_TOTAL_TRADE_FEE_BPS || bps > MAX_SNIPE_TAX_START_BPS)) { revert InvalidBasisPoints(); } snipeTaxStartBps = bps; emit SnipeTaxStartBpsUpdated(bps); } - codePonsV2LaunchFactory.sol:L579-L584
Show source
function setSnipeTaxSeconds(uint256 secondsWindow) external onlyOwner { if (secondsWindow == 0 || secondsWindow > MAX_SNIPE_TAX_SECONDS) revert InvalidSnipeTaxWindow(); snipeTaxSeconds = secondsWindow; emit SnipeTaxSecondsUpdated(secondsWindow); } - on-chainPonsV2LaunchFactory params: snipeTaxStartBps = 9900 (99%), snipeTaxSeconds = 3, bounds unbounded (no require in setter)
- on-chaintoken.notes: curve snipeTaxNow=0bps over 3s
Confirmed by: claude-opus-5.5 · Disputed by: gpt-5.6-sol
LowSide Uniswap v4 pool has ~$1 of unlocked wallet-held liquidityliquidityAI
Besides the curve, there is a Uniswap v4 pool (0xed3ea09af57c8147723d8a2184d6708c76ebba0062901ca5f8c4a4820bb343c9) with about $1 of liquidity. Its positions are held by three ordinary wallets and are not locked. This is not the official graduated pool, since the curve has not graduated. The wallets can withdraw at any time. Trading there carries extreme price impact. Use the bonding curve.
Evidence
- on-chainliquidity: uniswap-v4 0xed3ea09af57c8147723d8a2184d6708c76ebba0062901ca5f8c4a4820bb343c9 liquidityUsd=1 lpLockedPct=0 lpBurnedPct=0
- on-chaintoken.notes v4 position liquidity holders
Show source
0x0ff786e026c2fbd585e8b6adc2ec01e3559a1137 [other: wallet (unlocked)] 37.4638% Show source
Launch and trade tokens on Robinhood Chain. Fixed supply, locked liquidity, and a curve that opens the moment you sign.- on-chainLP status of Uniswap v4 pool 0xed3ea09af57c8147723d8a2184d6708c76ebba0062901ca5f8c4a4820bb343c9
Show source
lpBurnedPct: 0, lpLockedPct: 0, lpHeldByDeployerPct: 0 - on-chainUniswap v4 position liquidity holders for pool 0xed3ea09af57c8147723d8a2184d6708c76ebba0062901ca5f8c4a4820bb343c9
Show source
0x0ff786e026c2fbd585e8b6adc2ec01e3559a1137 [other: wallet (unlocked)] 37.4638%, 0x2a26d20747edb78f6d4876ed29f78c4863b99e1a [other: wallet (unlocked)] 35.5144%, 0x9fb7c7e375ce6d1f51d6a8ca85034c21819535f4 [other: wallet (unlocked)] 27.0216%
Confirmed by: claude-opus-5.5, gpt-5.6-sol
LowLinked site is a new copycat launchpad registered just before launchwebsiteAI
The token's on-chain website, snopfamily.app, is not a project page for SNOP. It is a separate token launchpad called "Snop" with its own contracts: a LaunchFactory at 0xCd3B…36fF owned by 0x9cA5…9244, a MemeHook, vaults, and unverified curves. The token description says "Inspired by Pons. Rebuilt as Snop." The domain was created at 02:47 UTC on 2026-11-05, about 23 minutes before SNOP was deployed, and has no archive history. The site's contracts do not control SNOP, which runs on the Pons V2 factory. Users who launch or trade on the Snop site rely on a different and very new owner. That owner can change the fee policy for future launches without limit and can rescue stuck launch funds to itself after 7 days.
Evidence
- on-chainsite.domainCreatedAt = 2026-11-05T02:47:53.325Z; contract.deployedAt = 2026-11-05T03:10:42.000Z; waybackSnapshots = []
Show source
Snop | Token launchpad on Robinhood Chain- on-chaindescription() = Inspired by Pons. Rebuilt as Snop. Built to revive.
- codeLaunchFactory.sol:L104-L107
Show source
function setFeePolicy(FeePolicy calldata policy) external onlyOwner { _feePolicy = policy; } - codeLaunchFactory.sol:L269-L276
Show source
/// @notice Last resort for a launch stuck in the swept phase for 7 days. Funds go to the owner (a Safe) for manual refunds. function rescue(address token) external onlyOwner { LaunchedToken storage t = _launched[token]; if (t.phase != PHASE_SWEPT || block.timestamp < t.sweptAt + RESCUE_DELAY) revert WrongGraduationPhase(); t.phase = PHASE_RESCUED; BondingCurve(payable(t.curve)).rescueTo(owner()); emit Rescued(token, owner()); }
Confirmed by: claude-opus-5.5, gpt-5.6-sol
Positive signals (4)
PositiveSNOP token is a fixed-supply template with no owner powersownershipAI
SNOP is the standard PonsV2LauncherToken: a plain OpenZeppelin ERC-20 with burn. The whole supply is minted once to the bonding curve in the constructor. There is no owner, no mint after deployment, no fee, blacklist, pause or transfer hook. The
deployerandlaunchFactoryaddresses are immutable labels only and give no control over the token. Slither reported no issues and the facts layer found no privileged functions. No one can change the token's own transfer rules.Evidence
- codePonsV2LauncherToken.sol:L21
Show source
contract PonsV2LauncherToken is ERC20, ERC20Burnable { - codePonsV2LauncherToken.sol:L44-L71
Show source
constructor( string memory name_, string memory symbol_, string memory logo_, string memory description_, Socials memory socials_, address deployer_, address curve_, address launchFactory_, uint256 supply_ ) ERC20(name_, symbol_) { if (deployer_ == address(0) || curve_ == address(0) || launchFactory_ == address(0)) { revert ZeroAddress(); } - codeERC20.sol:L176-L204
Show source
function _update(address from, address to, uint256 value) internal virtual { if (from == address(0)) { // Overflow check required: The rest of the code assumes that totalSupply never overflows _totalSupply += value; } else { uint256 fromBalance = _balances[from]; if (fromBalance < value) { revert ERC20InsufficientBalance(from, fromBalance, value); } unchecked { // Overflow not possible: value <= fromBalance <= totalSupply. _balances[from] = fromBalance - value; } } - on-chaincontract.privileges = [] ; static.issues = []
Confirmed by: claude-opus-5.5, gpt-5.6-sol
PositiveSimulated buy and sell work with about 3% curve feeshoneypotAI
A real buy and sell were simulated on the bonding curve. Both succeeded. A second wallet that received tokens by transfer could also sell, and a sell one hour later worked. The measured buy cost was 2.98% and the sell cost 3%. This matches the curve configuration of a 1% protocol fee plus a 2% creator tax. Wallet-to-wallet transfers carry no tax. The snipe tax has already decayed to 0.
Evidence
- forksimulation: canBuy=true buyTaxPct=2.98 canSell=true sellTaxPct=3 transferTaxPct=0
Show source
second wallet (received via transfer) could sell - on-chainlaunchpad.fees
Show source
protocol fee 1%; creator tax 2%; launch snipe tax decays to 0 over 3s (now 0 bps)
Confirmed by: claude-opus-5.5, gpt-5.6-sol
PositivePons LP locker cannot withdraw liquidity after graduationliquidityAI
After graduation, the Uniswap v4 position NFT goes to the Pons locker 0x2674…4952. The locker has no withdraw or arbitrary-call function. Its owner can only set the factory once and cannot renounce. Once SNOP graduates, its official DEX liquidity should be permanently locked. SNOP has not graduated yet.
Evidence
- codePonsV2LaunchLocker.sol:L11-L20
Show source
/** * @title PonsV2LaunchLocker * @notice Permanently holds the graduated Uniswap V4 position NFT for every * pons v2 launch. Unlike v1's locker, there is no `collectFees()` here: fee * collection and distribution belong entirely to PonsV2MemeHook and * PonsV2FeeEscrow, since a V4 position accrues fees inside the singleton * PoolManager rather than on the NFT itself. This contract exposes no * withdrawal or arbitrary-call function, so locked liquidity can never be * removed by an administrator. */ - codePonsV2LaunchLocker.sol:L60-L66
Show source
function setFactory(address factory_) external onlyOwner { if (factory != address(0)) revert AlreadyInitialized(); if (factory_ == address(0)) revert ZeroAddress(); factory = factory_; emit FactorySet(factory_); }
Confirmed by: claude-opus-5.5, gpt-5.6-sol
PositiveCreator wallet holds no SNOP and never soldinsidersAI
The only creator-declared (snipe-tax-exempt) wallet is the deployer 0x50Dd…c6EA. It now holds 0% and has sold 0%. Instead it burned 1.4047% of supply to the dead address across 11 transactions. No hidden dev allocation exists: the token mints everything to the curve.
Evidence
- on-chaininsiders[0]: 0x50dd640ff465f1ea4f49d7206bdebbf0b6e5c6ea pctSupplyHeldNow 0
- on-chainburns.by: deployer pct 1.4047 count 11; deployerSoldPct = 0
Confirmed by: claude-opus-5.5 · Disputed by: gpt-5.6-sol
Notes (1)
InfoOne-time burn: 1.4% of supply sent to a burn addressburnDeterministic
1.4% of the supply ever minted is burned, in 11 burn transfer(s), last 2026-11-05. Burned by: the deployer 0x50dd…c6ea (1.4%, 11 burns). This happened once, around launch; there is no sign of a continuing burn mechanism.
Evidence
- on-chainTransfer events to 0x0 / 0x…dEaD and balanceOf(burn addresses) of 0x0f58e1a3754dfc352ffae8e962c729ede06a8c5e
Confirmed by: facts
Score breakdown
Higher is safer. The overall is the weighted average of the assessed parts, then capped by hard facts.
Contract
weight 45%15Capped · max 15dApp test "Sell SNOP CAT" failed — funds may not be withdrawable → max 15
The SNOP token itself is a clean fixed-supply template, but a hard rule caps this part because the website's dApp sell test was flagged, and the curve holding all reserves is unverified.
Why this score
Raised the score
- Fixed-supply ERC-20 with no owner, mint, blacklist or pause
- Fork simulation: buy and sell work at about 3% curve fees
- Wallet-to-wallet transfers carry no tax
- Pons LP locker has no withdrawal function
Lowered the score
- dApp 'Sell SNOP CAT' test flagged as failed (98% returned, different token)
- Unverified bonding curve holds 65.7% of supply and all ETH reserves
- Pons factory owner can rescue curve fees and stuck graduation funds
- Snipe-tax setters for future launches have no upper limit
Token
weight 30%52Launch sniping was moderate and the snipers have exited, the creator holds nothing, but liquidity is small and the buyback claim is not backed by on-chain burns.
Why this score
Raised the score
- Creator wallet holds 0% and has sold 0%
- Snipers now hold 0%; largest wallet holds 4.2%
- Entire supply minted to the curve, no hidden dev allocation
Lowered the score
- Snipers bought 9.2% in the first 10 seconds, including a 2.6% funded bundle
- Buyback & burn claim contradicted: burns were not buybacks
- Only about $2.2k of curve liquidity; not graduated
- Side Uniswap v4 pool has ~$1 of unlocked liquidity
Social / X
weight 15%42Little verified social data was collected, and one key tweet about buybacks is contradicted by on-chain facts.
Why this score
Raised the score
- X account linked on-chain from the token
Lowered the score
- Tweet claiming 100% revenue buybacks is contradicted on-chain
- OSINT review failed, so account age and authenticity are unverified
Website
weight 10%33The linked site is a brand-new copycat launchpad registered minutes before launch, not a SNOP project page, with mixed claim accuracy.
Why this score
Raised the score
- Fixed-supply claim confirmed
- Site trade flow used exact-amount approvals
Lowered the score
- Domain registered about 23 minutes before the token deployed, no archive history
- Site is a separate 'Snop' launchpad with a different owner, not a SNOP project page
- 'Locked liquidity' claim not shown for this token's existing v4 pool