Robinhood Chain·Scanned 04 Nov 2026, 22:52 UTC
PonsV2LauncherToken $NYMRA
Verdict
56/100 safety
Token has no owner powers and LP is locked; swaps pay a 5% pool fee. Insiders took 20% and a relaunch is planned.
The token contract itself is clean: no one can mint, freeze or tax transfers, selling works, and the main pool's liquidity is held by the Pons locker. The main problem is the launch. Wallets the creator exempted from the snipe tax bought about 20% of supply and have sold out, a 16-wallet bundle took another 13.8%, and the deployer sold about 24%. The team itself says the launch was sniped and a relaunch is coming, which could leave current holders behind. Every pool swap also pays a 5% fee (4% to the creator), and several tokenomics claims (dev buy locked vs burned, buybacks) do not match each other or the chain.
Score breakdown
- Contract85
- Token28
- Social / X35
- Website45
Higher is safer · 0 = worst · 100 = best
- Yes
- 0%
- None (no owner role)
- 0% / 100%
- MC at check
- $6.1K
- MC now
- no live price
- Since check
- —
- Liquidity
- $7.4K
Key findings
- HighCreator-declared wallets bought 20% of supply at launch
- HighTeam admits launch was sniped and plans a relaunch
- MediumOne funder's 16 wallets bundled 13.8% of supply
- MediumEvery pool swap pays a 5% fee, 4% of it to the creator
- GoodToken is a fixed-supply template with no owner powers
What would change the verdict
- Raises safety:Pons LP locker terms are published and show a long lock with no early release → up
- Lowers safety:Remaining bundle wallets or the 5.5% held by the hook are sold or swept into the thin $7.4k pool → down
Findings
21 findingsRisks (14)
HighCreator-declared wallets bought 20% of supply at launchinsidersDeterministic
6 wallet(s) linked to the team (declared by the creator at launch, exempt from the snipe tax) bought 20% of the supply in the first blocks — an insider allocation that real buyers did not get. They now hold 0%, so current dump pressure from them is low; most of it has already been sold.
Evidence
- on-chaininsiders: 6 wallets, fundedBy declared by creator at launch (snipe-tax exempt on curve; creator 0x51213af3abda6ba442dcebbf6fd031e812b8ff15), bought at launch 20.01%, pctSupplyHeldNow 0
- on-chainbundles[0]: block 106058340, commonFunder 0x88d25c861938a91af4ad57ad964a8fcc6c6351d3, pctSupply 20.0145
- on-chaininsiders: fundedBy 'declared by creator at launch (snipe-tax exempt on curve; creator 0x51213af3abda6ba442dcebbf6fd031e812b8ff15)', pctSupplyHeldNow 0
- on-chaintoken.deployerSoldPct = 24.1461
Show source
by TinyFogLeopard Whitelist used. The creator exempted 5 wallets from the launch snipe tax, so they could buy untaxed at the open.
Confirmed by: facts, claude-opus-5.5, grok-4.7, gpt-5.6-sol
HighTeam admits launch was sniped and plans a relaunchsocialAI
The official account says 21 wallets bought 43.4% of supply in the first second and that a relaunch will be announced. People who bought this contract can be left holding a token the team treats as failed, while utility is pointed at a new launch. Replies asking what happens to earlier buyers are unanswered in the material we have. Current top 10 wallets hold about 16%, so that first-second pile is not the same as today's concentration.
Evidence
Show source
The $NYMRA launch got heavily sniped We launched on Pons at 17:00 CET and within the first second, 21 wallets bought 43.4% of the supply for about 1.64 ETH. The team hasn't left, we're still here. We will announce a relaunch, the utility continues to work, and we will provide updates.Show source
@Nymrasi 那之前买的呢?- on-chainholdersCount: 282; top10Pct: 16.1046
Show source
holdersCount: 282; top10Pct: 16.1046
Confirmed by: grok-4.7, gpt-5.6-sol
MediumOne funder's 16 wallets bundled 13.8% of supplysnipersDeterministic
16 wallets funded by the same address 0xf70d…dbef bought 13.8% of the supply together (block 106058347). Spreading one buyer over many wallets hides how much a single entity controls.
Evidence
- on-chainbundles with commonFunder 0xf70da97812cb96acdf810712aa562db8dfa3dbef: 16 wallets, pctSupply 13.79
- on-chainbundles[1]: block 106058347, commonFunder 0xf70da97812cb96acdf810712aa562db8dfa3dbef, pctSupply 13.7907
- on-chainclusters: funder 0xf70da97812cb96acdf810712aa562db8dfa3dbef pctSupplyHeldNow 0
Confirmed by: facts, claude-opus-5.5, grok-4.7, gpt-5.6-sol
MediumEvery pool swap pays a 5% fee, 4% of it to the creatorfeesAI
The PonsV2MemeHook's afterSwap takes hookFeeBps plus the pool's creatorTaxBps out of every swap's output or input. On this launch that is 1% protocol fee plus 4% creator tax, so about 5% per buy and per sell. The creator tax goes entirely to the creator; the 1% is split between protocol, buyback and creator. The rates are frozen per pool when the pool is registered. Later changes by the hook owner (setHookFeeBps up to 10%) only affect new launches, because afterSwap reads the pool's stored snapshot. The code also caps creator tax + hook fee at 20% for any pool. The simulation reports 0% token-level tax because this fee sits in the pool quote, not in the token.
Evidence
- 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; - codePonsV2MemeHook.sol:L342-L378
Show source
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. if (uint256(creatorTaxBps) + policy.hookFeeBps > MAX_TOTAL_TRADE_FEE_BPS) revert InvalidBps(); // The factory builds the key correctly today, but these two facts are // what every later fee credit and swap direction is derived from. A // memecoin that is neither currency would silently designate the wrong - on-chainlaunchpad.fees: buyPct 5, sellPct 5, 'protocol fee 1%; creator tax 4%'
Confirmed by: claude-opus-5.5, gpt-5.6-sol
MediumSite says the 5% dev buy is locked, X says it was burnedclaims-mismatchAI
Docs and the token page tell buyers the dev wallet's 50,000,000 NYMRA (5%) is locked at launch. The official X account says that same buy was burned. Lock and burn are different: a lock can unlock later, a burn cannot. Holders cannot tell from these statements which one is true, and nothing in the chain facts here confirms either transaction.
Evidence
Show source
Dev buy lock The whole dev buy is locked at launchShow source
5% Dev buy, locked At launch the dev wallet buys 5% of the supply, 50,000,000 $NYMRA, and the whole buy is locked.Show source
The dev buy is burned: 50,000,000 $NYMRA, 5% of the supply. Burned forever- on-chaintoken.burns.buybackBurns = 0
Show source
"buybackBurns": 0 - on-chaintoken.burns.by[0]
Show source
"kind": "deployer", "pct": 6.3943, "count": 5, "buyback": 0 - on-chaintoken.burns.burned = 63943866526599551035168518
Show source
"burned": "63943866526599551035168518"
Confirmed by: grok-4.7, gpt-5.6-sol · Disputed by: claude-opus-5.5
LowPons protocol owner controls hook, factory, vault and lockerownershipAI
Address 0x263e…19Dd owns the hook, factory, buyback vault and LP locker. **On the hook**, it can: - change the protocol fee recipient; - change the sweep operator; - change policy values, which apply to new launches only; - call rescuePoolFees. This pays pending fees to the pool's recorded protocol and creator recipients, not to the owner. **On the factory**, it can: - set launch and snipe-tax parameters (setSnipeTaxStartBps has no bound); - call rescueCurveFees and rescueSweptGraduation, which send tokens or ETH (7-day GRADUATION_RESCUE_DELAY); - re-point the locker's and vault's factory reference via setFactory on those contracts. It is not shown whether this owner is a multisig.
Evidence
- on-chainhook/factory/vault/locker owner = 0x263ed295dAFaE1d9AAdD6E56c4B6F9f38eE019Dd
- 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) { - staticfactory fn rescueSweptGraduation(address,address) [owner] @PonsV2LaunchFactory.sol:L1254-L1286 — sends tokens out, sends ETH
- staticLP-locker fn setFactory(address) [owner] @PonsV2LaunchLocker.sol:L60-L66
Confirmed by: claude-opus-5.5, gpt-5.6-sol
LowFee operator sets its own slippage limits on fee swapsfeesAI
When fees accrued in NYMRA are converted to the quote currency, and when buybacks run, only the sweep operator (0xa101…cA83) can execute. It sets the minimum outputs itself. A careless or malicious operator could set loose minimums and let the conversion be sandwiched. The loss falls on fee recipients, not on holder balances.
Evidence
- codePonsV2MemeHook.sol:L500-L531
Show source
function sweepPoolFees(PoolId poolId, uint256 minConversionQuoteOut, uint256 minBuybackTokensOut) external nonReentrant { LaunchInfo memory info = launches[poolId]; if (!info.registered) revert UnknownPool(); bool isOperator = msg.sender == feeSweepOperator; if (!isOperator && msg.sender != info.creator) revert NotFeeSweepOperator(); if (!isOperator && _requiresTrustedOperator(poolId, info)) revert InternalSwapRequiresOperator(); (uint256 convertedFeeQuote, uint256 convertedTaxQuote, uint256 convertedBuybackQuote, bool converted) = _convertPendingMemecoin(poolId, info, minConversionQuoteOut); // Only a conversion that actually executed is subject to the caller's // minimum. Enforcing it when there was nothing to convert, or when the // swap filled nothing and the pending amount was restored for a later - codePonsV2MemeHook.sol:L611-L617
Show source
function _requiresTrustedOperator(PoolId poolId, LaunchInfo memory info) private view returns (bool) { if (pendingFees[poolId][info.memecoin] != 0 || pendingCreatorTax[poolId][info.memecoin] != 0) { return true; } return pendingBuyback[poolId][info.quoteToken] != 0; }
Confirmed by: claude-opus-5.5, gpt-5.6-sol
LowClaimed buyback burns appear on-chain only as deployer burnsclaims-mismatchAI
The burn analysis found no buyback burns at all, so the claim that this 3,000,000-token dead-address transfer resulted from a buyback is contradicted. The aggregate data also lacks an event-level record establishing the stated amount.
Evidence
Show source
3,000,000 $NYMRA bought back and burned, 0.3% of the supply. The tokens now sit at the dead address.- on-chaintoken.burns.buybackBurns = 0
Show source
"buybackBurns": 0 - on-chaintoken.burns.by[0].buyback = 0
Show source
"kind": "deployer", "pct": 6.3943, "count": 5, "buyback": 0 Show source
2,000,000 $NYMRA has been bought back and burned, 0.2% of the supply. The tokens now sit at the dead address.
Confirmed by: gpt-5.6-sol, grok-4.7 · Disputed by: claude-opus-5.5
LowClaimed tax split differs from the on-chain 1% protocol + 4% creator feeclaims-mismatchAI
The token has graduated from the bonding curve, and current fork simulations measured 0% buy, sell, and transfer tax—not 5% on every trade. The historical curve fee was 5%, but the reported split was 1% protocol and 4% creator tax, not 2% holders, 2% app development, and 1% research.
Evidence
Show source
Every trade carries a 5% tax, and every part of it has a job: 2% goes to holders 2% funds development of the Nymra App 1% funds research- forksimulation.buyTaxPct = 0; simulation.sellTaxPct = 0; simulation.transferTaxPct = 0
Show source
"buyTaxPct": 0, "sellTaxPct": 0, "transferTaxPct": 0 - on-chainlaunchpad.graduated = true
Show source
"graduated": true - on-chainlaunchpad.fees.notes
Show source
protocol fee 1%; creator tax 4%; launch snipe tax decays to 0 over 3s (now 0 bps); curve fees apply only while trading on the curve
Confirmed by: gpt-5.6-sol · Disputed by: claude-opus-5.5, grok-4.7
LowNymra app owner can pause private swaps and depositspauseAI
The Nymra Pay product (linked from the website) uses NymraSwapRouter and NymraPrivatePool contracts owned by 0xe892…6E07. That owner can: - pause new swaps on the router; - pause deposits and lower deposit limits on the pools. The router code has no owner function that moves user funds. Swap-buffer leftovers below the pool minimum go to the treasury, which is the same address as the owner. The withdraw ('Cash out') path was not tested.
Evidence
- codeNymraSwapRouter.sol:L257-L270
Show source
function pause() external onlyOwner { paused = true; emit Paused(true); } function unpause() external onlyOwner { paused = false; emit Paused(false); } function setKnownPool(address pool, bool known) external onlyOwner { knownPool[pool] = known; emit KnownPool(pool, known); } - codeNymraSwapRouter.sol:L366-L376
Show source
function _holdResidual(bytes32 id, address poolOut, address tokenOut, uint256 residual, uint256 pubkey, uint256 blinding) internal { if (residual >= _minimumOf(poolOut)) { residuals[id] = Residual(poolOut, tokenOut, residual, pubkey, blinding); reserved[tokenOut] += residual; emit ResidualHeld(id, tokenOut, residual); } else { // too small to become a note in that pool: the part of the swap buffer that is kept _send(tokenOut, treasury, residual); emit BufferKept(id, tokenOut, residual); } } - staticNymraPrivatePool 0xBEEf26BF4EE775Bc8B033Cf6F74a588f7c06f7Fa fn pauseDeposits() [owner] @NymraPoolBase.sol:L204-L208
Confirmed by: claude-opus-5.5, gpt-5.6-sol
LowApp derives a wallet key from a fixed-text signature; test incompletewebsiteAI
The 'Go private' test signed two SIWE-style messages and made an exact 10 USDG approval to NymraPrivatePool. It then timed out without a completed transaction. The 'Cash out' test was skipped. The signed message uses a fixed nonce ('NymraPayKey3') and says it opens the user's private wallet. This suggests the private-wallet key is derived from the signature. Any site that tricks a user into signing the same text could then derive that key. Nothing malicious was observed, and the approval amount was exact rather than unlimited.
Evidence
- forkdappTests 'Go private': passed=false, observed 'wallet no balance change; 1 tx (approve ok)... timeout'
- forkdappTests 'Go private' step personal_sign
Show source
Open your Nymra Pay Private wallet on every network. This creates no transaction and costs nothing. - forkdappTests 'Cash out': ran=false
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
LowSite code references an ETH-forwarding contract at the ENS addressotherAI
The site's JavaScript references 0x0000…2e1e, which is likely a standard ENS-registry constant from a wallet library. On this chain, however, that address holds a contract named ENSBaseRegistrarImplementation. Its fallback forwards any ETH sent to it to an owner-set address, and its owner can move tokens it holds. If any app flow sent funds there, they would go to an unknown party. The material does not show any app flow using it.
Evidence
- codeENSBaseRegistrarImplementation.sol:L25-L27
Show source
function () public payable { forwardingAddress.transfer(msg.value); } - codeENSBaseRegistrarImplementation.sol:L35-L61
Show source
function transferTokensTo(address token, address to, uint256 amount) public onlyOwner{ require(!avoidReentrancy); avoidReentrancy = true; ERC20(token).transfer(to, amount); avoidReentrancy = false; } //Recover USDT (Tether) function recoverUSDT(address usdtToken, address to, uint256 amount) public onlyOwner { require(!avoidReentrancy); avoidReentrancy = true; bytes4 selector = bytes4(keccak256("transfer(address,uint256)")); require(usdtToken.call(selector, to, amount), "USDT transfer failed");
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
LowHomepage still says the token is not livewebsiteAI
The main site still says $NYMRA is coming soon, while the token page and the launch posts say it is already trading on Pons. That is a stale page, not proof the contract is fake, but it conflicts with the live-token claim.
Evidence
Show source
$NYMRA soon on Robinhood Chain.Show source
$NYMRA is the token of the project, live on Robinhood Chain.
Confirmed by: grok-4.7, gpt-5.6-sol
LowLaunch time given as both 17:00 UTC and 17:00 CETclaims-mismatchAI
Before launch the account said trading starts at 17:00 UTC. Afterward it said the launch was at 17:00 CET, which is an hour earlier. The contract timestamp in the facts is 17:00:10 UTC, matching the earlier post, not CET. This is a messaging error, not by itself a way to drain wallets.
Evidence
Show source
In one hour $NYMRA starts trading on Pons, at 17:00 UTC on Robinhood Chain.Show source
We launched on Pons at 17:00 CET- on-chaindeployedAt: 2026-11-04T17:00:10.000Z
Show source
deployedAt: 2026-11-04T17:00:10.000Z
Confirmed by: grok-4.7, claude-opus-5.5, gpt-5.6-sol
Positive signals (5)
PositiveToken is a fixed-supply template with no owner powersownershipAI
NYMRA is the standard Pons V2 launcher token: a plain OpenZeppelin ERC-20 with a holder-only burn. The whole supply is minted once, to the bonding curve, in the constructor. There is no owner, mint, fee, blacklist, pause or transfer hook. The stored
deployervalue is reference data only and gives no privileges. Slither reported no issues.Evidence
- 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
PositiveSimulation: buy, sell and transfer work with 0% token taxhoneypotAI
A real buy and sell on the graduated Uniswap v4 pool both returned exactly the expected amounts. A second wallet that received tokens by transfer could also sell, and selling still worked 1 hour later. No sell restriction was found.
Evidence
- forksimulation: canBuy=true, canSell=true, buyTaxPct=0, sellTaxPct=0, transferTaxPct=0
- forksecond wallet (received via transfer) could sell; sell after +1h: ok
Confirmed by: claude-opus-5.5, gpt-5.6-sol
PositiveMain pool liquidity is fully held by the Pons lockerliquidityAI
The graduated pool's LP position is 100% locked, and the deployer holds none of it. The locker also holds 8.16% of the token supply. The locker's own source was omitted, so the unlock terms could not be checked (see unknowns). Three side pools are unlocked but hold only about $12–$21 each.
Evidence
- on-chainliquidity pool 0x72a21c05b288e0e9eba135360ed4ffa6204727a854d2e8d4c996e6c84e4472e0: lpLockedPct=100, lpHeldByDeployerPct=0, liquidityUsd=7406
- on-chaintopHolders: 0x267444D099b10fB5Ed7c3Cc7B7c767AdcA574952 (LP locker) 8.1632%
Confirmed by: claude-opus-5.5 · Disputed by: gpt-5.6-sol
PositivePool hook cannot block sells or lock liquidityhidden-functionAI
The hook address only enables beforeInitialize, afterSwap and afterSwapReturnDelta. beforeInitialize only limits who can create pools (the factory). afterSwap only takes the fixed fee and has no allow-list or revert path for sellers. The hook has no beforeRemoveLiquidity callback, so it cannot lock LPs. It cannot be upgraded, and ownership cannot be renounced.
Evidence
- codePonsV2MemeHook.sol:L184-L201
Show source
function getHookPermissions() public pure override returns (Hooks.Permissions memory) { return Hooks.Permissions({ beforeInitialize: true, afterInitialize: false, beforeAddLiquidity: false, afterAddLiquidity: false, beforeRemoveLiquidity: false, afterRemoveLiquidity: false, beforeSwap: false, afterSwap: true, beforeDonate: false, afterDonate: false, beforeSwapReturnDelta: false, afterSwapReturnDelta: true, afterAddLiquidityReturnDelta: false, - codePonsV2MemeHook.sol:L429-L432
Show source
function _beforeInitialize(address sender, PoolKey calldata, uint160) internal view override returns (bytes4) { if (sender != factory) revert NotFactory(); return IHooks.beforeInitialize.selector; } - on-chainhook permissions (from address bits) = beforeInitialize, afterSwap, afterSwapReturnDelta
Confirmed by: claude-opus-5.5 · Disputed by: gpt-5.6-sol
PositiveX, website and GitHub are linked to the same projectsocialAI
The X account, nymra.si, and the GitHub org were all created or tied together in mid-October 2026, about three weeks before launch. GitHub says the organization controls nymra.si. No old unrelated posts showed up in the account history we have, so this does not look like a renamed dormant account. Nobody is publicly named; the Pons creator label is TinyFogLeopard.
Evidence
Show source
We've verified that the organization controls the domain: https://nymra.siShow source
0x62946bd33e9967e772d410AEF5cBe24c4c45fF8a
Confirmed by: grok-4.7 · Disputed by: gpt-5.6-sol
Notes (2)
LowUnverified copycat accusation from a single X accountsocialAI
One user repeatedly calls @Nymrasi a scammer and says the project copied another Robinhood Chain token, including a contract address. We did not find an independent confirmation of that copy claim, and other mentions are jokes or questions, not a pattern of identical paid shills. Treat the accusation as unverified.
Evidence
Show source
@Nymrasi robinhood:0xb9d3824149ad8ac984153ceec91d5a2405d1fb95 YOU COPIED EVERYTHING FROM NLYRA EVEN ALMOST THE Name.Show source
@Nymrasi SCAM
Confirmed by: grok-4.7, gpt-5.6-sol
InfoOne-time burn: 6.4% of supply sent to a burn addressburnDeterministic
6.4% of the supply ever minted is burned, in 5 burn transfer(s), last 2026-11-04. Burned by: the deployer 0x5121…ff15 (6.4%, 5 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 0x62946bd33e9967e772d410aef5cbe24c4c45ff8a
- on-chainburns: burnedPct 6.3943, count 5, by deployer 0x51213af3abda6ba442dcebbf6fd031e812b8ff15
Confirmed by: facts, claude-opus-5.5, 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%85The token itself is a clean, fixed-supply Pons template where buys and sells work, but every pool swap pays a 5% hook fee and protocol-level contracts have an owner.
Why this score
Raised the score
- Verified, non-upgradeable ERC-20 with no owner, mint, pause or blacklist
- Buy, sell and transfer simulation passed with 0% token-level tax
- Pool hook cannot block sells or lock liquidity
- Pool fee rates frozen at registration (max 20% cap)
Lowered the score
- 5% fee on every pool swap (1% protocol + 4% creator)
- Pons owner controls hook, factory, vault and locker settings
- Bonding curve source unverified; locker release terms unchecked
Token
weight 30%28The launch was captured: creator-declared tax-exempt wallets and bundles took a large share in the first blocks and have sold, and the deployer sold about 24%.
Why this score
Raised the score
- Main pool LP 100% held by the Pons locker
- Current top-10 non-pool holders own about 16%
- Deployer burned 6.4% of supply
Lowered the score
- Creator-declared, snipe-tax-exempt wallets bought 20% at launch and sold out
- 16-wallet bundle with one funder took 13.8%
- Deployer sold about 24% of supply
- Thin liquidity of about $7.4k
Social / X
weight 15%35The account is only a few weeks old and the team is anonymous. It has admitted the launch was sniped and announced a relaunch, and its tokenomics posts conflict with each other and with the chain.
Why this score
Raised the score
- X, website and GitHub are linked to the same project
Lowered the score
- Team says this launch was sniped and a relaunch is coming
- Dev buy described as locked on the site but burned on X
- Buyback-burn claims not confirmed on-chain
- Inconsistent launch time messaging
- Anonymous team, created mid-October 2026
Website
weight 10%45The site is young but real, with docs and a working app flow, yet it contains stale and contradicted token claims.
Why this score
Raised the score
- Docs, token page, roadmap and a live app
- dApp asked only for an exact 10 USDG approval, not unlimited
Lowered the score
- Domain about three weeks old
- Homepage still says the token is coming soon
- Dev-buy lock claim conflicts with X
- App derives a private-wallet key from a fixed-text signature; app owner can pause deposits and swaps