Skip to content

Robinhood Chain·Scanned 06 Nov 2026, 14:07 UTC

PonsV2LauncherToken $TEXEL

0x0ddcab9ae04bda0c87ecc1640636fa11e8e613e8

Verdict

Caution

64/100 safety

Token has no owner powers; sells work at ~2.85% curve fee — but snipers took 47% at launch and have exited.

The TEXEL token contract itself is clean: fixed supply, no owner powers, and buying and selling work at a fixed ~2.85% launchpad fee. The main risks are elsewhere. Snipers and bundled wallets bought about 47% of supply in the first seconds and have since sold into later buyers. The Pons launchpad owner controls the graduation and LP-locker path, and part of that code is unreviewed. The website presents a live GPU cloud while the team says rental is still being tested, and liquidity is very thin.

Score breakdown

  • Contract
    85
  • Token
    45
  • Social / X
    50
  • Website
    45

Higher is safer · 0 = worst · 100 = best

Yes
2.9%
None (no owner role)
0% / 0%

NarrativeDead

Trend scout · Grok 4.7 · X search via twitterapi.io

8/100 heat

A separate score, not part of the safety score: hype never makes a contract safer.

  • onchain GPU cloud
  • AI inference
  • AI agents
Fit
Core: the product is this narrative
Buzz
Mixed53 posts from 24 accounts; 8% of authors have accounts under 30 days old; 3 accounts wrote 47% of the posts; 8 post(s) with engagement that does not fit the follower count.
Momentum
Keyword hits labeled as project mentions fell from about 493 to about 239 (roughly down 52%), but almost none are about $TEXEL; real token posts are a few calls.

Texel’s site describes an onchain GPU cloud on Robinhood Chain for model outputs and GPU rental, paid in credits or via x402. On X, “Texel” mostly means a Dutch island, VRChat assets, or graphics jargon. The token itself shows up in a few small launch calls, not a wider GPU or agent discussion.

Posts and accounts (5 posts)
  • @TradersLake · 06 Nov 2026, 01:31 UTC

    “$TEXEL 76% → 39%, $WORM 39% → 4%. Tonight's screen: 66 @ponsdotfami”

  • @DeVinci__Bot · 03 Nov 2026, 17:44 UTC

    “DeVinci call: $TEXEL · Robinhood Chain 10.4K mcap · 18m old · 2.7x since launch”

  • @Larpcheckbot · 03 Nov 2026, 17:24 UTC

    “The $1.12 price matches Texel's listed H100 rate, but renting isn't open yet”

  • @ElvisTw13 · 06 Nov 2026, 13:58 UTC

    “@texelrun @bytejury”

  • @rovaultfamily · 13 Oct 2026, 12:15 UTC

    “22 PonsV2LauncherToken 8 PonsLauncherToken 7 Token 5 PonsV2BondingCurve”

Who pushes it

Posts, last 7 days vs the 7 before

  • project: ~239 vs 493 (down 52% (rough))
  • onchain GPU cloud: ~152 vs 404 (down 62% (rough))
  • AI agents: ~6489 (no comparison)

~ = estimated from one page of results

Measured in code from 53 posts by 24 accounts: 8% fresh accounts (< 30 days), 0% near-copies, top 3 accounts wrote 47%.

X posts searched from 2026-10-07 to 2026-11-07 (UTC). Post links come only from the X search results.

Key findings

  • MediumOne funder's 6 wallets bundled 9.48% of supply
  • MediumLaunch sniped: 24 wallets took 47.2% of supply in 10 seconds
  • MediumPons factory owner holds launchpad-wide admin powers over the curve
  • MediumGraduation and LP lock rely on unreviewed, owner-changeable code
  • GoodToken is a fixed-supply template with no owner powers

What would change the verdict

  • Raises safety:Pons factory/locker sources get verified and show graduated LP is locked with no withdraw path → up
  • Lowers safety:Factory owner swaps the graduation executor or the locker's trusted factory before graduation → down
  • Lowers safety:Curve liquidity (about $4.6k) drains further or the holder count shrinks → 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.

Post on XView on explorer ↗

Findings

14 findings

Risks (7)

  • MediumOne funder's 6 wallets bundled 9.48% of supplysnipersDeterministic

    6 wallets funded by the same address 0x5309…f32f bought 9.48% of the supply together (block 105230428). Spreading one buyer over many wallets hides how much a single entity controls.

    Evidence

    • on-chainbundles with commonFunder 0x53091256ebd2d8aa37b45536a5fd864ca764f32f: 6 wallets, pctSupply 9.48

    Confirmed by: facts

  • MediumLaunch sniped: 24 wallets took 47.2% of supply in 10 secondssnipersDeterministic

    The launch was captured: 24 wallets bought 47.2% of the supply within 10 seconds. A small, fast group set the early price and could sell into everyone who bought later — bad for launch fairness and a strong insider/bot signal. They now hold 0.3% of supply, so current dump pressure from them is low — most of it was already sold, i.e. they exited on later buyers.

    Evidence

    • on-chainsnipers: windowBlocks=100, wallets=24, pctSupplyBought=47.1733, pctSupplyHeldNow=0.2992
    • on-chainsnipers pctSupplyBought=47.1733, pctSupplyHeldNow=0.2992
    • on-chainbundle block 105230426 wallets 0x9689992f5b5c09447f15906d8d11214944488341, 0x811e8c8fbc6bc65af99c20a4ef13f682404b5ddf pctSupply 27.9959
    • on-chainclusters funder 0x53091256ebd2d8aa37b45536a5fd864ca764f32f pctSupplyHeldNow 0

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

  • MediumPons factory owner holds launchpad-wide admin powers over the curveownershipAI

    The curve trusts only the factory, 0x7eD5…EC7e, and that factory is owned by 0x263e…19Dd. Through the factory, this owner can: - change who receives creator fees (subject to the factory's 3-day timelock constant); - turn the buyback route on or off; - force-pay pending fees to the protocol and creator via rescueFees; - mark any address exempt from the snipe tax; - call rescueSweptGraduation, which per the function table moves tokens and ETH; - swap the graduation executor and the launch-deployer helper. On the curve itself these powers cannot pause trading, change fee rates or withdraw the trading reserves. Fee rescues only pay the frozen protocol and creator recipients. The factory source was omitted, so whether rescueSweptGraduation (7-day delay constant) could misdirect reserves cannot be checked. Holders must trust the Pons protocol owner.

    Evidence

    • codePonsV2BondingCurve.sol:L171-L174
      Show source
      modifier onlyFactory() {
              if (msg.sender != factory) revert NotFactory();
              _;
          }
    • codePonsV2BondingCurve.sol:L332-L363
      Show source
      function exemptFromSnipeTax(address account) external onlyFactory {
              snipeTaxExempt[account] = true;
              emit SnipeTaxExempted(account);
          }
      
          /**
           * @notice Updates who receives creator fees from future sweeps.
           * Restricted to the factory, which gates both self-service creator
           * transfers and protocol-owner overrides before forwarding here, so
           * this contract only needs to trust one caller.
           */
          function setCreatorFeeRecipient(address newRecipient) external onlyFactory {
              if (newRecipient == address(0)) revert ZeroAddress();
              emit CreatorFeeRecipientUpdated(deployer, newRecipient);
              deployer = newRecipient;
    • codePonsV2BondingCurve.sol:L850-L871
      Show source
      function rescueFees() external onlyFactory returns (uint256 protocolAmount, uint256 creatorAmount) {
              uint256 pending = quoteFeeBalance;
              uint256 tax = creatorTaxBalance;
              if (pending == 0 && tax == 0) revert ZeroAmount();
      
              protocolAmount = (pending * protocolFeeShareBps) / BASIS_POINTS;
              creatorAmount = pending - protocolAmount + tax;
      
              quoteFeeBalance = 0;
              // Symmetrical with the sweep. This pays the creator their whole
              // bucket, earmark included, so leaving the earmark behind would let a
              // settled claim survive into the next accrual and divert fees the
              // creator has not earned yet into the vest.
              buybackQuoteBalance = 0;
              creatorTaxBalance = 0;
    • on-chainPonsV2LaunchFactory owner = 0x263ed295dAFaE1d9AAdD6E56c4B6F9f38eE019Dd; rescueSweptGraduation(address,address) [owner] sends tokens out, sends ETH; GRADUATION_RESCUE_DELAY = 604800

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

  • MediumGraduation and LP lock rely on unreviewed, owner-changeable codeliquidityAI

    The token has not graduated. When the sellable allocation sells out, graduate() hands all tracked ETH and token reserves to the factory's chosen recipient, and the factory then seeds the Uniswap v4 pool and the LP locker. The factory owner can replace the graduation executor (setGraduationExecutor). The owner of the buyback vault and the LP locker (the same 0x263ed295… address) can point those contracts at a different factory (setFactory). The factory and locker sources were omitted, so we cannot verify: - that migrated liquidity is actually locked; - that the locker has no withdraw path. If the owner were malicious or compromised, the curve's reserves at graduation would be the funds at stake.

    Evidence

    • codePonsV2BondingCurve.sol:L598-L638
      Show source
      function graduate(address recipient) external onlyFactory returns (uint256 quoteOut, uint256 tokenOut) {
              if (graduated) revert AlreadyGraduated();
              if (recipient == address(0)) revert ZeroAddress();
              if (!readyToGraduate()) revert NotReadyToGraduate();
      
              // Halt trading before the sweep, not after. The sweep pays the escrow,
              // and a quote asset with a transfer callback can re-enter buy() or
              // sell() from inside that payment. This function is deliberately not
              // nonReentrant so it stays callable from within buy()'s own guarded
              // scope, so the flag is the only thing closing that window. Reentering
              // while it was still false repopulated the fee buckets after they had
              // been zeroed, leaving balances with no quote behind them once the
              // reserve was handed over, and no way to ever sweep them.
              //
              // Safe to set here: readyToGraduate() is already evaluated above, and
    • on-chainfactory param graduationExecutor = 0xC7819B64A1dAECD7eC19856d026cb14EfBd89046 (settable by setGraduationExecutor [owner]); locker factory settable by setFactory(address) [owner]
    • on-chaincurve: graduated=false; liquidity pons-v2-bonding-curve liquidityUsd 4644

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

  • MediumSite shows live GPU rentals while the team says they are still in testingclaims-mismatchAI

    The homepage presents GPU rental as something you can use now: a running instance with elapsed time and cost, an SSH session already connected to an H100, and a line that every output and rental is available at launch. The same site's FAQ says models open first and GPU rental comes later. The project's own X account says rental for every wallet is still in development and that only tester wallets are using SSH and Jupyter. Someone buying $TEXEL for a working GPU cloud may be paying for a storefront and a product that the team itself has not opened to everyone.

    Evidence

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

  • LowVery thin liquidity (~$4.6k) and only 81 holdersliquidityAI

    The curve holds about $4,644 of tradeable liquidity, and the token has only 81 holders. Large sells will move the price heavily. Two other Uniswap v4 pools exist with LP held by unlocked third-party wallets, but they show $0 liquidity.

    Evidence

    • on-chainliquidity pons-v2-bonding-curve 0xbD987C61a255e2e6ca7fbEfc36B0816c76549F61 liquidityUsd 4644; holdersCount 81
    • on-chainuniswap-v4 0xfa2981af3b…: v4 position liquidity holders: 0x0ff786e026c2fbd585e8b6adc2ec01e3559a1137 [other: wallet (unlocked)] 34.38%

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

  • LowNo named or accountable people behind TexelsocialAI

    The X account and the website are the brand Texel only. Nothing in the bio, posts, or site names a founder or shows a verified personal identity. That does not prove a scam, but there is nobody publicly accountable if the GPU-seconds or NVDA-fee promises are not delivered. Deployer history given for this token is empty.

    Evidence

    Confirmed by: grok-4.7

Positive signals (2)

  • PositiveToken is a fixed-supply template with no owner powersownershipAI

    TEXEL is the standard Pons V2 launch token: plain OpenZeppelin ERC20 plus voluntary burn. The whole supply is minted once, to the bonding curve, inside the constructor. There is no owner, no mint function after deploy, no fee, blacklist, pause or transfer hook. The stored deployer address is only a label and gives no control. Nobody can mint new tokens, freeze balances or tax transfers at the token level.

    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;
    • codePonsV2LauncherToken.sol:L70
      Show source
      _mint(curve_, supply_);
    • staticprivileges = [], ownerRenounced=false, isProxy=false; slither issues = []

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

  • PositiveOfficial site publishes this exact contract addresswebsiteAI

    The $TEXEL section on texel.run prints the same contract that was investigated, and the official account told people to copy the address from that section. The X account was created on 2026-10-14 and the domain on 2026-10-16, before the 2026-11-03 deploy, so the brand was not an old unrelated account switched on at launch.

    Evidence

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

Notes (5)

  • InfoOne-time burn: 6.0% of supply sent to a burn addressburnDeterministic

    6.0% of the supply ever minted is burned, in 1 burn transfer(s), last 2026-11-03. Burned by: the deployer 0xa3c0…001f (6.0%, 1 burn). 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 0x0ddcab9ae04bda0c87ecc1640636fa11e8e613e8
    • on-chainburns.by deployer 0xa3c0eae8bd476fd8bf14cb7f660a6819d9df001f pct 5.9805; Deployer holds 0% now; deployerSoldPct=0

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

  • InfoBuys and sells work at a fixed, immutable ~2.85% curve feefeesAI

    In the fork simulation a buy and a sell both succeeded. A second wallet that received tokens by transfer could also sell, and a sell one hour later worked. The ~2.85% cost is the curve's 1% protocol fee plus a 1.85% creator tax. Both rates are immutable in this curve, and the constructor refuses a combined fee above 20%. Nobody can raise them for this launch. Plain wallet-to-wallet transfers are untaxed.

    Evidence

    • forkcanBuy=true buyTaxPct=2.84, canSell=true sellTaxPct=2.85, transferTaxPct=0; second wallet (received via transfer) could sell
    • codePonsV2BondingCurve.sol:L109-L114
      Show source
      uint256 public immutable feeBps;
          // Creator-chosen at launch, capped by the protocol at launch time. Kept
          // entirely separate from feeBps: it is layered on top of the base trade
          // fee, not part of the protocol/buyback/creator split, and is paid to
          // the creator in full.
          uint256 public immutable creatorTaxBps;
    • codePonsV2BondingCurve.sol:L222
      Show source
      if (feeBps_ + creatorTaxBps_ > MAX_TOTAL_TRADE_FEE_BPS) revert InvalidFeePolicy();

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

  • InfoUniswap v4 hook only routes trades to the curve and has no ownerotherAI

    Pool 0x42d5f4c6… uses hook 0xb091…2888 (PonsCurveAggregator). The hook only wraps the bonding curve so Uniswap routers can trade it. It: - quotes and executes exact-input buys and sells on the curve with the same fee math; - charges POOL_FEE = 0; - has no owner setters. It refuses trades only when the curve is closed or a buy would partially fill. The returns-delta permission is used to settle the curve trade. The BaseAggregatorHook source, including its protocol-fee/tokenJar logic (protocolFeeMultiplier = 25), was not provided.

    Evidence

    • codePonsCurveAggregator.sol:L152-L179
      Show source
      function _conductSwap(Currency settleCurrency, Currency takeCurrency, SwapParams calldata params, PoolId poolId)
              internal
              override
              returns (uint256 amountSettle, uint256 amountTake, bool hasSettled)
          {
              if (params.amountSpecified >= 0) revert ExactOutputNotSupported();
              Market memory m = _market(poolId);
              amountTake = uint256(-params.amountSpecified);
              poolManager.take(takeCurrency, address(this), amountTake);
      
              if (_isBuy(m, params.zeroForOne)) {
                  // refuse a partial fill up front: the curve would refund the rest, which a v4 exact-input swap cannot
                  uint256 expected = _quoteBuy(m.curve, amountTake);
                  uint256 quoteBefore = takeCurrency.balanceOfSelf() - amountTake;
                  if (takeCurrency.isAddressZero()) {
    • codePonsCurveAggregator.sol:L115-L136
      Show source
      function _quoteBuy(IPonsV2BondingCurve curve, uint256 quoteIn) private view returns (uint256 tokensOut) {
              if (curve.graduated() || curve.readyToGraduate()) revert CurveClosed();
              uint256 feeBps = curve.feeBps();
              uint256 taxBps = curve.creatorTaxBps();
              uint256 snipeBps = curve.currentSnipeTaxBps(address(this));
              if (snipeBps != 0) {
                  uint256 maxSnipeBps = BPS - feeBps - taxBps - 100;
                  if (snipeBps > maxSnipeBps) snipeBps = maxSnipeBps;
              }
              uint256 net = quoteIn - (quoteIn * feeBps) / BPS - (quoteIn * taxBps) / BPS - (quoteIn * snipeBps) / BPS;
              (uint256 quoteReserve, uint256 tokenReserve) = curve.getReserves();
              tokensOut = PonsCurveMath.getAmountOut(net, quoteReserve, tokenReserve);
              if (tokensOut > curve.sellableTokens()) revert WouldPartiallyFill();
          }
    • on-chainv4 hook 0xb091eC27074C7a0C1bA896C063cc677F89202888 permissions: beforeInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnsDelta

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

  • InfoCurve sells pause briefly between sell-out and graduationhoneypotAI

    Once the sellable allocation is exhausted, sell() on the curve reverts until graduate() runs. This protects the graduation price, not an owner. Graduation is triggered automatically by the crossing buy and is otherwise retryable through the factory, after which trading moves to the v4 pool.

    Evidence

    • codePonsV2BondingCurve.sol:L541-L547
      Show source
      function sell(uint256 tokensIn, uint256 minQuoteOut, address recipient)
              external
              nonReentrant
              onlyInitialized
              returns (uint256 quoteOut)
          {
              if (graduated || readyToGraduate()) revert CurveGraduated();
    • codePonsV2BondingCurve.sol:L696-L703
      Show source
      function _tryAutoGraduate() private {
              if (readyToGraduate()) {
                  try IPonsV2LaunchFactoryGraduation(factory).graduate(token) {}
                  catch {
                      emit AutoGraduationFailed(token, gasleft());
                  }
              }
          }

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

  • InfoWebsite is weeks old and its dApp could not be testedwebsiteAI

    texel.run was registered on 2026-10-16 and first archived on 2026-11-06. The automated dApp tests were skipped because the site did not respond. The website's product claims could not be checked against on-chain behaviour.

    Evidence

    • Show source
      Texel: The onchain GPU cloud
    • on-chainsite.domainCreatedAt = 2026-10-16T08:12:22.092Z; warning: dApp tests stopped after 5 min (the site did not respond) — skipped

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

    The token is a clean, verified, fixed-supply template with no owner powers and working buys and sells, but the Pons factory owner controls the graduation path through partly unreviewed code.

    Why this score

    Raised the score

    • Fixed supply, no mint, pause, blacklist or owner
    • Verified and not upgradeable; static analysis found no issues
    • Buy, sell and transfer-then-sell all pass
    • Immutable ~2.85% curve fee; 0% transfer tax

    Lowered the score

    • Pons factory owner can change the graduation executor and the locker's trusted factory
    • Factory, locker and buyback vault source not reviewed
  • Token

    weight 30%
    45

    The launch was captured by snipers and bundles that bought about 47% and have since sold, and liquidity is very thin.

    Why this score

    Raised the score

    • Snipers now hold only 0.3%
    • Deployer holds 0% and recorded no sales
    • Top-10 holders own about 23%

    Lowered the score

    • 24 wallets bought 47.2% of supply in 10 seconds
    • One funder's 6 wallets bundled 9.5%
    • Only about $4.6k of curve liquidity and 81 holders
    • Burn was a one-time event, not ongoing
  • Social / X

    weight 15%
    50

    A small, new brand account with low engagement and no named team, which itself says GPU rental is still tester-only.

    Why this score

    Raised the score

    • X account created before the token launch
    • No third-party scam accusations found

    Lowered the score

    • No named or verified founders
    • Only 67 followers; account is very new
    • Posts admit GPU rental is not yet open
  • Website

    weight 10%
    45

    The site is new and lists the correct contract, but it presents GPU rental as live while the team says it is still in testing, and its product claims are unverified.

    Why this score

    Raised the score

    • Site publishes the matching contract address
    • Only the burn claim was confirmed on-chain

    Lowered the score

    • Homepage shows live GPU rentals the team says are tester-only
    • Domain registered three weeks before launch
    • dApp unresponsive; product and holder-reward claims unverifiable