Robinhood Chain·Scanned 06 Nov 2026, 15:27 UTC
PonsV2LauncherToken $PAPA
Verdict
78/100 safety
Fixed-supply template token with no owner powers; sells work, 0% token tax (4% pool fee); LP permanently locked
PAPA is a standard Pons launchpad token with no owner powers, and our test buys and sells worked with no token-level tax. Each swap on the main pool pays a fixed 4% fee, mostly to the creator. Wallets funded by the deployer hold about 4.3% and could sell into a fairly small pool. The site's stock-reward promises are off-chain and unverified, but the main pool's liquidity is permanently locked and launch snipers have already exited.
Score breakdown
- Contract88
- Token70
- Social / X72
- Website66
Higher is safer · 0 = worst · 100 = best
- Yes
- 0%
- None (no owner role)
- 0% / 100%
NarrativeCooling
Trend scout · Grok 4.7 · X search via twitterapi.io
28/100 heat
A separate score, not part of the safety score: hype never makes a contract safer.
- AI news
- tokenized stocks
- Robinhood Chain launchpads
- Fit
- Core: the product is this narrative
- Buzz
- Organic59 posts from 51 accounts; 2% of authors have accounts under 30 days old; 2 post(s) with engagement that does not fit the follower count.
- Momentum
- Keyword volume is roughly flat (~5560 vs ~8756 project mentions; tokenized-stocks talk ~3169 vs ~3533), but the sample is mostly unrelated “paparazzi” posts, not this project.
Paparazzi presents itself as an AI newsroom that scores stories and pays catchers, including in stock tokens, with a Robinhood Chain feed. Direct talk is mostly the founder and official account shipping features; broader “paparazzi” chatter is Lady Gaga and celebrity media, so project heat looks modest.
Posts and accounts (5 posts)
- @WalkDog1984 · 06 Nov 2026, 13:43 UTC
“$papa doesn’t care about nothing because no mater what the news will still be circulating”
Who pushes it
- @Dmon_slyer · 576 followers
- @Paparazzidotfun · 636 followers
- @WalkDog1984 · 3K followers
- @Nymrasi · 640 followers
Competing for the same narrative
Ondo, RWA Broker
Posts, last 7 days vs the 7 before
- project: ~5560 vs 8756 (flat (rough))
- tokenized stocks: ~3169 vs 3533 (flat (rough))
- AI news: ~152 (no comparison)
~ = estimated from one page of results
Measured in code from 59 posts by 51 accounts: 2% fresh accounts (< 30 days), 0% near-copies, top 3 accounts wrote 15%.
X posts searched from 2026-10-07 to 2026-11-07 (UTC). Post links come only from the X search results.
- MC at check
- $181.5K
- MC now
- no live price
- Since check
- —
- Liquidity
- $37.5K
Live chart
The chart updates live; “MC at check” above is the market cap when this check ran.
Key findings
- MediumUnaudited side-pool hook lets its owner set tolls up to 100%
- MediumDeployer-funded wallets hold about 4.3% of supply
- LowPons protocol owner controls launchpad hook and locker settings
- GoodOngoing token burns verified on-chain: 1.2% of supply burned
What would change the verdict
- Lowers safety:Deployer-funded wallet cluster (~4.3% with the deployer) sells into the ~$37k pool → down
- Lowers safety:Pons owner uses the locker/vault setFactory to open a release path for the locked LP → down
- Raises safety:Off-chain stock-token payouts are independently confirmed and pool liquidity grows → up
- Lowers safety:StaccLadder owner raises tolls on side pools that routers send PAPA trades through → 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 (3)
MediumUnaudited side-pool hook lets its owner set tolls up to 100%feesAI
Some other v4 pools linked to this token use the StaccLadder hook (owner 0x26E8…5158). Its own code says 'ALPHA. Unaudited. Funds can be lost.' It charges an escalating per-block toll on swaps and on LP adds and removals (10 bp × k² for the k-th use in a block, cap up to 100%). The owner can change the toll curve with setRatchet (only limited by capPips ≤ 100%), can change the toll beneficiary, and can hand over ownership in one step with no confirmation. A trader or router whose swap lands in one of these pools late in a busy block, or after the owner raises the toll, could lose most of the trade. This does not affect the main Pons pool.
Evidence
- codeStaccLadder.sol:L40-L46
Show source
/// The fee ratchet (EIP-8429, token-level form) applies to every swap and every LP /// add or remove on the hook's pools: the k-th reference to a token in a block, across /// all senders and transactions, pays 10 bp * k^2 of the amount, capped at 100%, the /// first one free. A remove in the block its position was added counts once more. /// The toll is taken in kind and held for the beneficiary (sinkBps of it to 0xdead). /// /// ALPHA. Unaudited. Funds can be lost. - codeStaccLadder.sol:L174-L187
Show source
function setBeneficiary(address b, uint16 sinkBps_) external onlyOwner { if (sinkBps_ > 10_000) revert BadParams(); s.beneficiary = b; s.sinkBps = sinkBps_; } function transferOwnership(address o) external onlyOwner { s.owner = o; } /// @notice The fee ratchet's constants: floorPips * k^2 for the k-th reference, kFree free. function setRatchet(RatchetCfg calldata rc_) external onlyOwner { _setRatchet(rc_); } - codeStaccLadder.sol:L230-L233
Show source
function _setRatchet(RatchetCfg memory rc_) private { if (rc_.capPips > ONE_PIPS) revert BadParams(); s.rc = rc_; } - codeStaccLadder.sol:L432-L437
Show source
function ratchetPips(uint256 k) public view returns (uint256) { RatchetCfg memory rc = s.rc; if (k <= rc.kFree) return 0; uint256 r = uint256(rc.floorPips) * k * k; return r > rc.capPips ? rc.capPips : r; } - codeStaccLadder.sol:L568-L588
Show source
function afterSwap( address, PoolKey calldata key, IPoolManager.SwapParams calldata params, BalanceDelta delta, bytes calldata ) external onlyPM returns (bytes4, int128) { (uint256 k, address token) = _reference(key); uint256 t; if (k != 0) { bool specifiedIs0 = (params.amountSpecified < 0) == params.zeroForOne; int128 unspecified = specifiedIs0 ? delta.amount1() : delta.amount0(); t = _abs(unspecified) * ratchetPips(k) / ONE_PIPS; Currency c = specifiedIs0 ? key.currency1 : key.currency0; _take(c, t);
Confirmed by: claude-opus-5.5, grok-4.7 · Disputed by: gpt-5.6-sol
MediumDeployer-funded wallets hold about 4.3% of supplyinsidersAI
Seven wallets funded by the deployer 0xc43b…7647 together hold 3.6535% of supply. The deployer holds a further 0.6869% and is the creator-declared wallet that was exempt from the snipe tax. Combined, that is about 4.3% under one party's influence, which could be sold into the roughly $37k pool. On the other side, the deployer has sold 0% and burned 1.0332% of supply. One insider contract (0xcded…b264) has made 36 small burns.
Evidence
- on-chaintoken.insiders[0] fundedBy 0xc43b321261386120431e8d810bc36ed9c83d7647
Show source
pctSupplyHeldNow: 3.6535 - on-chaintoken.deployerSoldPct = 0; burns.by deployer pct 1.0332
Confirmed by: claude-opus-5.5, grok-4.7 · Disputed by: gpt-5.6-sol
LowPons protocol owner controls launchpad hook and locker settingsownershipAI
The address 0x263e…19Dd owns the hook, factory, buyback vault and LP locker. Its hook-level fee setters are capped (hook fee ≤10%, protocol share ≤50%, price impact <100%) and only affect new launches, because existing pools use snapshotted terms. setFactory and setBuybackVault on the hook can only be set once. The owner can also: (1) replace the fee sweep operator, who runs the price-sensitive fee conversions and chooses their minimum outputs, so a bad operator could sandwich fee conversions; (2) call rescuePoolFees, which pays pending fees to the recorded protocol and creator recipients rather than to the owner; (3) call setFactory on the locker and the vault. Whether those vault and locker setFactory calls are one-time could not be checked because the sources were omitted. None of these powers can block selling or move holders' tokens.
Evidence
- codePonsV2MemeHook.sol:L211-L278
Show source
function setFactory(address factory_) external onlyOwner { if (factory != address(0)) revert AlreadySet(); if (factory_ == address(0)) revert ZeroAddress(); factory = factory_; emit FactorySet(factory_); } /** * @notice One-time wiring of the shared five-year buyback vest, set * after both are deployed, so `_distribute` can lock the buyback leg * into it instead of burning it. */ function setBuybackVault(PonsV2BuybackVault buybackVault_) external onlyOwner { if (address(buybackVault) != address(0)) revert AlreadySet(); if (address(buybackVault_) == address(0)) revert ZeroAddress(); - codePonsV2MemeHook.sol:L555-L603
Show source
function rescuePoolFees(PoolId poolId) external onlyOwner nonReentrant returns (uint256 protocolAmount, uint256 creatorAmount) { LaunchInfo memory info = launches[poolId]; if (!info.registered) revert UnknownPool(); address quoteToken = info.quoteToken; if (quoteToken != address(0)) { (protocolAmount, creatorAmount) = _rescueCurrency(poolId, info, quoteToken); } (uint256 memecoinProtocol, uint256 memecoinCreator) = _rescueCurrency(poolId, info, info.memecoin); if (protocolAmount == 0 && creatorAmount == 0 && memecoinProtocol == 0 && memecoinCreator == 0) { - on-chainPonsV2LaunchLocker setFactory(address) [owner] @PonsV2LaunchLocker.sol:L60-L66
Confirmed by: claude-opus-5.5, grok-4.7 · Disputed by: gpt-5.6-sol
Positive signals (6)
PositiveOngoing token burns verified on-chain: 1.2% of supply burnedburnDeterministic
1.2% of the supply ever minted is burned, in 43 burn transfer(s), last 2026-11-06. Burned by: the deployer 0xc43b…7647 (1.0%, 2 burns); contract 0xcded…b264 (0.14%, 36 burns); holder 0x5d75…305e (0.01%, 5 burns). Burned tokens are gone for good, which reduces the supply over time.
Evidence
- on-chainTransfer events to 0x0 / 0x…dEaD and balanceOf(burn addresses) of 0x8adb88f79c991d572d82144ae6ca8516df2420fc
Confirmed by: facts
PositiveFixed-supply token template with no owner powersownershipAI
PAPA is the standard Pons V2 launcher token: OpenZeppelin ERC20 plus ERC20Burnable, with no owner, no mint after construction, no fees, no blacklist and no pause. The full supply was minted once to the bonding curve in the constructor. The stored
deployeraddress is reference data only and gives no control over the token. Holders can only burn their own tokens, or tokens they were approved to spend.Evidence
- codePonsV2LauncherToken.sol:L21-L71
Show source
contract PonsV2LauncherToken is ERC20, ERC20Burnable { struct Socials { string twitter; string telegram; string discord; string website; string farcaster; } error ZeroAddress(); address public immutable deployer; address public immutable launchFactory; address public immutable curve; - codeERC20Burnable.sol:L20-L38
Show source
function burn(uint256 value) public virtual { _burn(_msgSender(), value); } /** * @dev Destroys a `value` amount of tokens from `account`, deducting from * the caller's allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `value`. */ - on-chainprivileges: [] ; static issues: [] (slither 0.11.6)
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
PositiveBuy and sell work in simulation with 0% token taxhoneypotAI
On a fork, a real buy and sell through the graduated Uniswap v4 pool both succeeded and returned exactly the quoted amounts. A second wallet that received tokens by transfer could also sell, and selling again after one hour worked. Token-level buy, sell and transfer tax were all 0%.
Evidence
- forksimulation: canBuy=true, canSell=true, buyTaxPct=0, sellTaxPct=0, transferTaxPct=0
Show source
second wallet (received via transfer) could sell - forksimulation notes
Show source
sell after +1h: ok
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
PositiveMain pool liquidity is permanently locked by the Pons lockerliquidityAI
The curve has graduated. All position liquidity of the main Uniswap v4 pool (about $37k) is held by PonsV2LaunchLocker, which is labelled a permanent LP lock. The deployer holds 0% of the LP. The locker's function table shows no withdraw or unlock function. Its source was omitted, so this relies on the function table and the facts layer.
Evidence
- on-chainuniswap-v4 0xb19ec756e6…: v4 position liquidity holders
Show source
0x267444d099b10fb5ed7c3cc7b7c767adca574952 [locked: PonsV2LaunchLocker (permanent LP lock)] 100% - on-chainliquidity[0] pool 0xb19ec756e668081f992c5da15cb81da54711f421ce6fa0ec5baa6ebefb796924
Show source
lpLockedPct: 100, lpHeldByDeployerPct: 0
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
PositiveProject X account matches the product's age and activitysocialAI
@Paparazzidotfun was created on 2026-10-02, four days before the PAPA contract was deployed and one day after the paparazzi.fun domain. Recent posts are newsroom updates and product notices, with modest engagement (single-digit to low-30s likes on a 636-follower verified account), not a burst of identical gem calls. A search for $PAPA with scam/rug/honeypot terms did not return posts about this token.
Evidence
Show source
PAPARAZZI CIRCULATION · Nov 6 Your turn. Catch a story, get paid.Show source
$PAPA contract · Robinhood Chain 0x8adB88F79c991d572D82144aE6CA8516df2420FC
Confirmed by: grok-4.7
PositiveLong-standing founder account posts matching product updatessocialAI
The project bio names @Dmon_slyer as founder. That account was created in April 2021 (not a launch-day wallet), is verified, links paparazzi.fun, and posts feature ships (Telegram fact-check bot, Paparazzi Ink, launches tracker) that match replies under the project account. The public name is the pseudonym Demon Slayer; the About page does not give a legal name, so a doxx claim would be unverifiable.
Evidence
Show source
@Paparazzidotfun NEW: Paparazzi Ink A writers desk inside Paparazzi.Show source
@Paparazzidotfun Two more things live now. Fact check anywhere: run a fact check on the site, on X or in Telegram. A paid fact check costs 100 $PAPA.Show source
Stories come from two places: our newsroom, which watches hundreds of outlets around the clock, and our readers, the catchers
Confirmed by: grok-4.7
Notes (4)
LowEvery swap pays a 4% pool fee, fixed for this poolfeesAI
The Pons hook takes 1% (hook fee) plus 3% (creator tax) of every swap on the main PAPA pool, so each buy or sell pays about 4% at pool level. These rates are copied into the pool's record when the pool is registered and are read from that record on every swap. Later owner changes to the global hookFeeBps therefore do not raise this pool's fee. The whole 3% creator tax and the creator's share of the 1% fee go to the creator fee recipient (currently the deployer). The protocol takes 30% of the 1% fee, and 50% of the creator's slice may be bought back and locked in a 5-year vest when buyback is enabled. The hook cannot revert sells: afterSwap only takes a cut.
Evidence
- codePonsV2MemeHook.sol:L337-L378
Show source
// Terms frozen here govern the pool for life, so each is held to the // same ceiling as the setter that produced it. protocolFeeShareBps // against BASIS_POINTS rather than MAX_PROTOCOL_FEE_SHARE_BPS would // let a pool be registered on terms the live policy could never // reach, paying the creator nothing. if ( policy.protocolFeeRecipient == address(0) || policy.protocolFeeShareBps > MAX_PROTOCOL_FEE_SHARE_BPS || policy.buybackBurnBps > BASIS_POINTS || policy.hookFeeBps > MAX_HOOK_FEE_BPS || policy.maxInternalPriceImpactBps == 0 || policy.maxInternalPriceImpactBps >= BASIS_POINTS ) { revert InvalidBps(); } // The curve bounds the same sum in its own constructor rather than // inheriting it from the factory. A pool taking more than the whole // unspecified leg would flip the swapper's output delta negative. - codePonsV2MemeHook.sol:L444-L485
Show source
function _afterSwap(address, PoolKey calldata key, SwapParams calldata params, BalanceDelta delta, bytes calldata) internal override returns (bytes4, int128) { // The conversion and buyback legs swap against this same pool, but // they are never taxed here: v4-core skips a pool's hooks when the // hook itself is the caller (Hooks.afterSwap). Were that not so, the // skim would come out of the buyback before it reached the vault. PoolId poolId = key.toId(); LaunchInfo memory info = launches[poolId]; if (!info.registered) return (IHooks.afterSwap.selector, 0); if (info.hookFeeBps == 0 && info.creatorTaxBps == 0) return (IHooks.afterSwap.selector, 0); bool specifiedIsCurrency0 = (params.amountSpecified < 0) == params.zeroForOne; - on-chainlaunchpad.fees
Show source
protocol fee 1%; creator tax 3%
Confirmed by: claude-opus-5.5, grok-4.7
InfoLaunch snipers and bundle bought ~4% and have fully soldsnipersAI
Three sniper wallets bought 4.1766% of supply in the first 100 blocks, including a 2-wallet bundle of 2.0555%. Two of them share a funder. They now hold 0%, so they no longer pose a dump risk. A separate cluster funded by 0xd29c…7978 holds 2.6911%.
Evidence
- on-chaintoken.snipers
Show source
pctSupplyBought: 4.1766, pctSupplyHeldNow: 0 - on-chaintoken.clusters[0] funder 0xd29c85f15df544ba632c9e25829fd29d767d7978
Show source
pctSupplyHeldNow: 2.6911
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
InfoSite reward claim is off-chain and could not be testedwebsiteAI
The dApp test logged in only with a SIWE signature, with no token approvals or permits requested. The claim button was disabled because the fresh test wallet had $0.00 of rewards against a $1.00 minimum. This is consistent with an unfunded account, not a broken withdrawal. The advertised 'stock rewards' payout runs off-chain and could not be verified.
Evidence
- forkdappTests: claim, step personal_sign (SIWE login)
Show source
Claim is impossible because available rewards to withdraw are $0.00 (minimum $1.00 required, buttons are disabled)
Confirmed by: claude-opus-5.5, grok-4.7 · Disputed by: gpt-5.6-sol
InfoRewards are tokenized stock, and PAPA is not equitywebsiteAI
Marketing says catchers earn real stock, but the payouts page clarifies rewards are on-chain stock tokens (about $505.81 paid, 434 withdrawals) and the token page says $PAPA only unlocks site features and is not equity, revenue share, or an investment. That is a product claim holders should read as tokenized stock rewards, not brokerage shares or a claim on the company.
Evidence
Show source
Each reward we send lands in a catcher's wallet as real stock. Check any transaction yourself.Show source
Paid to wallets $505.81 In real stock tokensShow source
$PAPA is a utility token. It unlocks features on Paparazzi and is not equity, a share of revenue or an investment.
Confirmed by: grok-4.7, gpt-5.6-sol
Score breakdown
Higher is safer. The overall is the weighted average of the assessed parts, then capped by hard facts.
Contract
weight 45%88The verified, non-upgradeable template ERC20 has no owner powers, and buys and sells work at 0% token tax; launchpad-level owner settings and a third-party side-pool hook cost a few points.
Why this score
Raised the score
- No owner, mint, blacklist, pause or fee functions
- Verified source, not a proxy, Slither found no issues
- Buy, sell, transfer-then-sell and sell after 1h all succeed at 0% tax
- Main pool fee rates are frozen for this pool
Lowered the score
- 4% pool-level swap fee (1% protocol + 3% creator)
- Pons protocol owner controls hook, factory, vault and locker settings
- Unaudited StaccLadder hook on side pools can charge tolls up to 100%
Token
weight 30%70Main pool liquidity is permanently locked and holdings are fairly spread, but a deployer-funded cluster holds about 4.3% against a small ~$37k pool.
Why this score
Raised the score
- 100% of main pool LP held by the Pons permanent locker
- Snipers took only ~4.2% and have fully exited
- Deployer has sold 0% and burned ~1% of supply
- Ongoing burns verified on-chain
Lowered the score
- Deployer-funded wallets plus the deployer hold ~4.3%
- Liquidity is small (~$37k)
- A separate funded cluster holds ~2.7%
Social / X
weight 15%72The X account and founder account are consistent with the product and show no shill swarm, but the founder is pseudonymous and the project is only one month old.
Why this score
Raised the score
- Project X account created alongside the domain and the token
- Founder account dates from 2021 and posts matching product updates
- No rug or honeypot reports found
Lowered the score
- Founder is pseudonymous with no legal name
- Small following and modest engagement
Website
weight 10%66The functional, month-old site states the contract address correctly and calls PAPA a utility token, but its stock-reward claims cannot be verified.
Why this score
Raised the score
- Contract address on the site matches the target
- Site clearly says $PAPA is not equity or an investment
- Wallet login asked only for a signature, with no token approvals
Lowered the score
- Domain is about one month old
- Stock-reward and prize claims are unverifiable
- 'Real stock' marketing actually means tokenized stock rewards