Skip to content

Robinhood Chain·Scanned 04 Nov 2026, 23:59 UTC·check #3

LCR

0x2ecf2a68c9e333c18f73af4dff706327c18a2964

Verdict

High risk

47/100 safety

Unverified Pons template token; buys and sells work at a 4% fee; all supply in curve; deployer made ~20 prior tokens

Re-scan #3 · score 43 → 47+4

LCR is a standard Pons launchpad token: buys and sells on its bonding curve work at a 4% fee, 3% of which goes to the creator, and all supply still sits in the curve. The main concerns are the project itself: the deployer has launched about 20 earlier tokens with recycled names, and the team says its launchpad is live while its three-day-old website only says it is being built. The token and curve source code are not verified. The Pons platform owner also keeps some admin powers over fees and graduation reserves.

Score breakdown

  • Contract
    56
  • Token
    47
  • Social / X
    32
  • Website
    25

Higher is safer · 0 = worst · 100 = best

Yes
4%
Unknown
0% / 0%

Key findings

  • HighTeam says launchpad is live; site says it is still being built
  • MediumSource code is not verified
  • MediumDeployer launched ~20 earlier tokens with recycled tickers
  • MediumThree-day-old website has no working launchpad or trading
  • GoodSimulated buy and sell worked, including a second wallet and after 1h

What would change the verdict

  • Raises safety:Token and bonding-curve source code get verified on the explorer and match the Pons template → contract score up
  • Lowers safety:Deployer's earlier tokens (ANT, SENTRA, MORPH, etc.) are shown to have been abandoned or dumped → down
Post on XView on explorer ↗

Findings

14 findings

Risks (10)

  • HighTeam says launchpad is live; site says it is still being builtclaims-mismatchAI

    On launch day the team told followers the Launchr launchpad and native token were live. The public site only says Launchr is building a launchpad, with no product, docs, or trading page. On-chain there is one holder. Buying $LCR is buying a token, not a working launchpad. An automated scanner made the same product-vs-token point; our holder count matches the concentration claim, but our top-10 share figure is 0% and does not confirm the bot's 'insiders 100%' label.

    Evidence

    Confirmed by: grok-4.7, gpt-5.6-sol

  • MediumSource code is not verifiedotherDeterministic

    The contract source is not published on the explorer, so nobody can read what it really does. The analysis relies on bytecode only.

    Evidence

    • on-chainexplorer: no verified source for 0x2ECf2a68C9e333C18f73af4dff706327C18A2964
    • on-chaincontract.verified = false; sourceFileCount = 0
      Show source
      "verified": false
    • on-chainlaunchpad.relatedContracts: bonding curve 0x34DA66eEDd5dEAF4aC5E620cf575Ee87cC242b13 verified=false
      Show source
      "role": "bonding curve", ... "verified": false
    • staticslither: not run
      Show source
      no verified source available

    Confirmed by: facts, claude-opus-5.5, grok-4.7, gpt-5.6-sol

  • MediumDeployer launched ~20 earlier tokens with recycled tickersdeployer-historyAI

    The deployer 0xDc0F…D662 has created at least 20 prior tokens. Several names repeat: - ANT three times - SENTRA three times - MORPH, ARVOX and MOCHI twice each Serial relaunching is a common pattern of pump-and-abandon creators. The outcomes of those tokens are unknown, so no rug is proven.

    Evidence

    • on-chaintoken.deployerHistory (20 entries, outcome unknown)
      Show source
      "symbol": "SENTRA", "outcome": "unknown"
    • on-chaindeployer 0xDc0F4a3a943D9A955dB9A85eD030b9c3CBe9D662 history
      Show source
      MARS 0x5068a5feF04C588c1621375C7a14254630f0DD59, ANT 0x9387660D9d6314542760D64Fbe029824Bc4b205a, ROLLIE 0xA72Bb5883740c60A8C4611eaCc0E525BA40248a5, CHRIS 0x9C133643E2E10aF39579D0C4c2584FBb2d6aC4dA, TSERA 0xF9ebf8b6Aae27FE7beC0C331dC62fAe3dAeF6Ffc — outcomes unknown

    Confirmed by: claude-opus-5.5, grok-4.7 · Disputed by: gpt-5.6-sol

  • MediumThree-day-old website has no working launchpad or tradingwebsiteAI

    The project presents itself as a launchpad: the page title reads 'Launch tokens. Trade seamlessly.' The domain launchr.online was registered on 2026-11-01, three days before the token, and replaced an earlier launchr.fi domain. Wayback snapshots from 2018 and 2024 predate this registration, so they likely belong to a previous owner of the domain. Our scripted dApp tests found no wallet connection and no on-chain buy or sell. The site behaves as a promotional landing page, so the launchpad product it advertises is unproven.

    Evidence

    • Show source
      Launchr — Launch tokens. Trade seamlessly.
    • on-chainsite.domainCreatedAt = 2026-11-01T21:44:01.973Z
      Show source
      "domainCreatedAt": "2026-11-01T21:44:01.973Z"
    • forkdappTests: buy (open a position)
      Show source
      The site is an educational simulation / promotional landing page with no wallet connection or on-chain trading functionality.

    Confirmed by: claude-opus-5.5, gpt-5.6-sol · Disputed by: grok-4.7

  • Low4% fee on every curve trade, 3% of it goes to the creatorfeesAI

    Each buy or sell on the bonding curve pays a 1% protocol fee plus a 3% creator tax. The simulation measured 4% on both sides and 0% on plain wallet transfers. The factory records the creator tax at launch and says it cannot change afterwards. Launch-time caps are 10% for the creator tax and 20% for all fees combined. This is normal launchpad economics, but 3% of all trading volume goes to the creator's fee recipient.

    Evidence

    • forkcurve fees: feeBps=100, creatorTaxBps=300; buyTaxPct 4, sellTaxPct 4, transferTaxPct 0
      Show source
      curve fees: feeBps=100, creatorTaxBps=300
    • codePonsV2LaunchFactory.sol:L545-L555
      Show source
      /**
           * @notice Adjusts the ceiling a creator's chosen trade tax is validated
           * against at launch time. Already-launched tokens keep the immutable
           * tax rate they launched with regardless of later ceiling changes.
           */
          function setMaxCreatorTaxBps(uint256 bps) external onlyOwner {
              if (bps > MAX_CREATOR_TAX_CEILING_BPS) revert InvalidBasisPoints();
              maxCreatorTaxBps = bps;
              emit MaxCreatorTaxUpdated(bps);
          }
    • codePonsV2LaunchFactory.sol:L770-L806
      Show source
      if (params.creatorTaxBps > maxCreatorTaxBps) revert CreatorTaxTooHigh();
              if (pairToken != address(0) && !approvedPairTokens[pairToken]) revert PairTokenNotApproved();
      
              LaunchConfig memory config = _launchConfigs[launchConfigId];
              FeePolicySnapshot memory policy = memeHook.currentFeePolicy();
              // A launch prices in whatever asset it collects, so a custom quote
              // asset supplies its own phantom reserve and threshold in its own
              // decimals rather than inheriting the config's wei-denominated pair.
              (uint256 phantomQuote, uint256 graduationThreshold) = pairToken == address(0)
                  ? (config.phantomQuote, config.graduationThreshold)
                  : (pairTokenEconomics[pairToken].phantomQuote, pairTokenEconomics[pairToken].graduationThreshold);
              // The scale was verified at approval, but an upgradeable quote asset
              // can change it afterwards, and this curve prices against the stored
              // figure for its entire life. Re-reading here keeps a silent
              // twelve-order-of-magnitude mispricing out of the launch.

    Confirmed by: claude-opus-5.5, gpt-5.6-sol

  • LowPons owner can redirect creator fees after a 3-day noticeownershipAI

    The factory owner (0x263e…19Dd) can propose a new creator-fee recipient for any launch. After 3 days, anyone can execute it within a further 3-day window, and the creator cannot veto it. This also redirects vested buyback tokens. It affects where the creator's 3% goes, not holders' balances or their ability to sell.

    Evidence

    • codePonsV2LaunchFactory.sol:L946-L957
      Show source
      function setCreatorFeeRecipient(address token, address newRecipient) external onlyOwner {
              LaunchedToken storage launch = _launchedTokens[token];
              if (!launch.exists) revert TokenNotFound();
              if (newRecipient == address(0)) revert ZeroAddress();
      
              uint256 effectiveAt = block.timestamp + CREATOR_FEE_RECIPIENT_TIMELOCK;
              uint256 expiresAt = effectiveAt + CREATOR_FEE_RECIPIENT_EXECUTION_WINDOW;
              pendingCreatorFeeRecipient[token] =
                  PendingCreatorFeeRecipient({newRecipient: newRecipient, effectiveAt: effectiveAt, expiresAt: expiresAt});
      
              emit CreatorFeeRecipientChangeProposed(token, launch.creatorFeeRecipient, newRecipient, effectiveAt, expiresAt);
          }
    • codePonsV2LaunchFactory.sol:L964-L974
      Show source
      function executeCreatorFeeRecipientChange(address token) external {
              PendingCreatorFeeRecipient memory pending = pendingCreatorFeeRecipient[token];
              if (pending.newRecipient == address(0)) revert NoPendingChange();
              if (block.timestamp < pending.effectiveAt) revert TimelockNotElapsed(pending.effectiveAt);
              if (block.timestamp > pending.expiresAt) revert TimelockExpired(pending.expiresAt);
      
              LaunchedToken storage launch = _launchedTokens[token];
              delete pendingCreatorFeeRecipient[token];
      
              _setCreatorFeeRecipient(token, launch, pending.newRecipient);
          }
    • codePonsV2LaunchFactory.sol:L1000-L1003
      Show source
      // Keep the buyback vest's beneficiary aligned with the live creator
              // recipient so recovery and self-service transfers redirect vested
              // buyback tokens as well, not only immediate fee payouts.
              buybackVault.updateCreatorRecipient(token, newRecipient);

    Confirmed by: claude-opus-5.5, gpt-5.6-sol

  • LowPons owner can send stuck graduation reserves anywhere after 7 daysliquidityAI

    If a curve gets swept but the Uniswap pool is never seeded, the factory owner can call rescueSweptGraduation 7 days after the sweep. This sends all swept ETH and tokens to an address the owner chooses, meant for off-chain distribution. Limits on this power: - The owner can only force a sweep (forceSweptGraduation) when the seed is genuinely unviable. - Anyone can end the rescue window permanently by calling createGraduatedPool. It still relies on trust in the Pons owner in that edge case.

    Evidence

    • codePonsV2LaunchFactory.sol:L1254-L1285
      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:L1109-L1123
      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-chainGRADUATION_RESCUE_DELAY = 604800
      Show source
      GRADUATION_RESCUE_DELAY = 604800

    Confirmed by: claude-opus-5.5, gpt-5.6-sol

  • LowPons owner can repoint the LP locker and buyback vaultownershipAI

    The same owner address can call setFactory on both the LP locker and the buyback vault. The factory is the only address allowed to call their lock and update functions. A malicious new factory could change future lock behaviour. The tables list no withdraw function for locked LP, but the locker and vault sources were omitted, so this cannot be fully confirmed. Factory ownership cannot be renounced, so this admin power is permanent.

    Evidence

    • on-chainLP-locker setFactory(address) [owner]; owner = 0x263ed295dAFaE1d9AAdD6E56c4B6F9f38eE019Dd
      Show source
      fn setFactory(address) [owner] risk=low @PonsV2LaunchLocker.sol:L60-L66
    • on-chainbuyback-vault setFactory(address) [owner]
      Show source
      fn setFactory(address) [owner] risk=low @PonsV2BuybackVault.sol:L98-L104
    • codePonsV2LaunchFactory.sol:L630-L632
      Show source
      function renounceOwnership() public pure override {
              revert OwnershipCannotBeRenounced();
          }

    Confirmed by: claude-opus-5.5 · Disputed by: gpt-5.6-sol

  • LowLaunch date was announced, missed, then movedsocialAI

    The account first told people Launchr would go live Monday, November 2, at 16:00 UTC. Later posts moved the same launch to Wednesday, November 4, at 17:00 UTC. The token contract was deployed at that later time, so the date slip is a credibility issue, not a hidden second contract.

    Evidence

    Confirmed by: grok-4.7, gpt-5.6-sol

  • LowPrize contest postponed after non-payment accusationssocialAI

    Before launch the account said people accused them of running contests they did not intend to pay. They postponed the contest rather than showing payment. That is not proof of a scam, but it is an unresolved trust issue around promised prizes and airdrops.

    Evidence

    Confirmed by: grok-4.7

Positive signals (2)

  • PositiveSimulated buy and sell worked, including a second wallet and after 1hhoneypotAI

    On a fork, a real buy and a real sell through the bonding curve both succeeded, at about 4% fee each. A wallet that got tokens by plain transfer could also sell, and selling after one hour still worked. No honeypot behaviour was seen.

    Evidence

    • forksimulation notes
      Show source
      second wallet (received via transfer) could sell
    • forksimulation notes
      Show source
      sell after +1h: ok
    • forksimulation canBuy/canSell
      Show source
      "canBuy": true, ... "canSell": true

    Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol

  • PositiveGraduation liquidity will be locked in the Pons LP lockerliquidityAI

    Once the curve graduates, the factory seeds a full-range Uniswap v4 position and locks the position NFT in the Pons LP locker. Leftover token reserves are also locked there. Seeding is permissionless (anyone can call createGraduatedPool). The locker's own source was omitted, but its function table only lists deposit-type calls (lockPosition, lockTokenSupply), restricted to the factory. The token has not graduated yet, so this has not happened.

    Evidence

    • codePonsV2LaunchFactory.sol:L1185-L1211
      Show source
      /**
           * @notice Initializes the V4 pool with the swept reserves, mints a
           * full-range position directly to the locker, and registers the pool with
           * the meme hook. The curve already holds the pool's quote asset, so this
           * seeds with exactly what it swept and needs no slippage bound.
           * Permissionless and retryable: a launch stays in Swept until a seed
           * succeeds, so a transient failure can never strand reserves.
           */
          function createGraduatedPool(address token) external nonReentrant returns (uint256 positionId) {
              if (address(graduationExecutor) == address(0)) revert GraduationExecutorNotSet();
              LaunchedToken storage launch = _launchedTokens[token];
              if (!launch.exists) revert TokenNotFound();
              if (launch.phase != GraduationPhase.Swept) revert WrongGraduationPhase();
      
              uint256 sweptQuote = launch.sweptQuote;
    • codePonsV2LaunchFactory.sol:L1402
      Show source
      locker.lockPosition(token, positionId);
    • codePonsV2LaunchFactory.sol:L1293-L1307
      Show source
      function _lockExcessGraduationTokens(
              address token,
              LaunchedToken storage launch,
              uint256 sweptQuote,
              uint256 totalTokenAmount
          ) private returns (uint256 poolTokenAmount) {
              poolTokenAmount = _poolTokenAmount(launch, sweptQuote, totalTokenAmount);
      
              uint256 excess = totalTokenAmount - poolTokenAmount;
              if (excess != 0) {
                  IERC20(token).forceApprove(address(locker), excess);
                  locker.lockTokenSupply(token, excess);
                  emit GraduationTokensPermanentlyLocked(token, excess);
              }
          }
    • on-chainlaunchpad.graduated = false
      Show source
      "graduated": false

    Confirmed by: claude-opus-5.5, gpt-5.6-sol

Notes (2)

  • InfoX account and domain are days old; no team namedwebsiteAI

    The X account was created 2026-10-30 and the domain was registered 2026-11-01. A Wayback first-seen date of 2018-08-10 is earlier than the domain registration, so it does not show a long history for this Launchr site. No team names are published. The account is verified and has about 131 followers, with likes in the same range as recent posts, so the follower count does not look inflated.

    Evidence

    Confirmed by: grok-4.7, claude-opus-5.5

  • InfoAll supply still in the bonding curve; deployer holds noneholdersAI

    Blockscout shows a single holder: the bonding curve with 100% of supply. Liquidity is about $0. The deployer, the only creator-declared snipe-tax-exempt wallet, holds 0% and never received tokens. No dev or insider stack exists right now, but the token is at a very early stage.

    Evidence

    • on-chaintoken.topHolders / holdersCount
      Show source
      "holdersCount": 1
    • on-chaintoken.insiders
      Show source
      "pctSupplyHeldNow": 0
    • on-chaintoken.notes
      Show source
      Deployer 0xdc0f4a3a943d9a955db9a85ed030b9c3cbe9d662 holds 0% now

    Confirmed by: 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%
    56
    Capped · max 60

    source code not verified → max 60

    Standard Pons template with working buys and sells at a 4% fee, but the token and curve source code are unverified and the Pons factory owner keeps some admin powers.

    Why this score

    Raised the score

    • Buy and sell simulation passed, including a second wallet and a sell after 1 hour
    • No owner functions visible on the token; matches the Pons template
    • Graduation liquidity goes into the Pons LP locker
    • Not a proxy; 0% tax on wallet transfers

    Lowered the score

    • Token and bonding-curve source not verified
    • Pons owner can redirect creator fees after a 3-day timelock
    • Pons owner can rescue stuck graduation reserves after 7 days
    • Pons owner can repoint the locker and vault factory
  • Token

    weight 30%
    47

    No insider stack yet and LP will be locked at graduation, but the deployer is a serial launcher with recycled tickers and liquidity is near zero.

    Why this score

    Raised the score

    • Bonding curve holds 100% of supply; deployer holds 0%
    • No bundles or fresh-wallet clusters detected
    • Graduation LP is locked by the Pons locker

    Lowered the score

    • Deployer created about 20 earlier tokens with repeated names
    • 3% creator tax on every curve trade
    • Liquidity about $0; very early stage
    • Sniper checks were not run
  • Social / X

    weight 15%
    32

    A days-old X account whose posts claim a live launchpad that does not exist, after a missed launch date and a postponed prize contest.

    Why this score

    Raised the score

    • Follower count does not look inflated
    • Token did launch via Pons as announced

    Lowered the score

    • 'Launchpad is live' posts contradicted by the site
    • Launch date announced, missed, then moved
    • Prize contest postponed after non-payment accusations
    • No team members named; account about a week old
  • Website

    weight 10%
    25

    A three-day-old promotional landing page with no working product; its launchpad claims are unproven.

    Why this score

    Raised the score

    • Site reachable again

    Lowered the score

    • Domain registered 3 days before launch, replacing launchr.fi
    • No wallet connection or trading in dApp tests
    • Holder-rewards and launchpad claims unverified
    • Old Wayback snapshots belong to a previous domain owner