Skip to content

Robinhood Chain·Scanned 04 Nov 2026, 22:52 UTC

PonsV2LauncherToken $NYMRA

0x62946bd33e9967e772d410aef5cbe24c4c45ff8a

Verdict

Caution

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

  • Contract
    85
  • Token
    28
  • Social / X
    35
  • Website
    45

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
Post on XView on explorer ↗

Findings

21 findings

Risks (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 launch
    • Show 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

    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

    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 deployer value 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

    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

    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%
    85

    The 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%
    28

    The 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%
    35

    The 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%
    45

    The 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