You are viewing an older scan. This report is from 04 Nov 2026, 10:13 UTC. The latest scan (04 Nov 2026, 10:13 UTC) scored 31/100 and may say something different.
Open the latest scanRobinhood Chain·Scanned 04 Nov 2026, 10:13 UTC
WormbookToken $BORESCOPE
Verdict
31/100 safety
Token has no owner, mint or fees, but a test buy reverted and liquidity is under $150 and unlocked.
This is rated high risk mainly because a simulated buy failed and the project's dApp withdraw test failed. The dApp test agent reported that the site has no deposit or withdraw feature at all. The token itself is clean: no owner, no mint, no fees, no blacklist and a fixed supply. Trading runs through a Uniswap v4 hook and launcher whose code was not reviewed, liquidity is under $150 with no locked LP, and one funder controls wallets holding about 4.9%.
Score breakdown
- Contract15
- Token42
- Social / X48
- Website42
Higher is safer · 0 = worst · 100 = best
- Unknown
- —
- None (no owner role)
- 0% / 0%
- MC at check
- $43.3K
- MC now
- —
- Since check
- —
- Liquidity
- $30.0K
Key findings
- CriticalWithdrawing through the dApp failed ("withdraw")
- MediumBuying currently fails
- MediumLiquidity is under $150 across pools and none is locked
- LowUnreviewed Wormbook pool hook can change swap amounts
- GoodToken has no owner, fixed supply and no transfer restrictions
What would change the verdict
- Raises safety:A fork buy and sell on the main Wormbook pool both succeed at about the 1% hook fee → contract score up
- Raises safety:Wormbook hook and launcher source is published and shows no power to block sells or pull curve liquidity → up
- Lowers safety:Outside LP positions are withdrawn, leaving the pools empty → down
Findings
12 findingsRisks (7)
CriticalWithdrawing through the dApp failed ("withdraw")honeypotDeterministic
We ran the project's own dApp on a local fork. The "withdraw" step did not work. Expected: Withdrawing returns the deposited funds to the wallet (minus any documented fee).. Observed: wallet no balance change; 0 tx (none). No successful transaction was made for this goal (fail). | driver: fail — Borescope does not support deposits or withdrawals; it is an analytics and token-gating platform with no vault or staking mechanism, and no funds were deposited in this session.. Money deposited may be impossible to take out.
Evidence
- forkdApp test "withdraw" on a local fork (https://borescope.io/token)
Show source
wallet no balance change; 0 tx (none). No successful transaction was made for this goal (fail). | driver: fail — Borescope does not support deposits or withdrawals; it is an analytics and token-gating platform with no vault or staking mechanism, and no funds were deposited in this session.
Confirmed by: facts
MediumBuying currently failshoneypotDeterministic
A simulated buy reverted. Trading may not be enabled yet, or the contract restricts who can buy. Re-check before interacting.
Evidence
- forkfork simulation on uniswap-v4 pool 0xd6a85150c3845e4c139feb3363fc9fc2b2d73b3278ffee2a1955bbc04ab949af: buy reverted
Show source
buy reverted: Execution reverted for an unknown reason. | venue uniswap-v4 fee tier 500100 — pool LP fee is included in quotes; reported taxes are token-level - forkbuy reverted: Execution reverted for an unknown reason.
Show source
buy reverted: Execution reverted for an unknown reason. - forkvenue uniswap-v4 fee tier 500100
Show source
venue uniswap-v4 fee tier 500100 — pool LP fee is included in quotes; reported taxes are token-level - codeERC20.sol:L159-L204
Show source
function _transfer(address from, address to, uint256 value) internal { if (from == address(0)) { revert ERC20InvalidSender(address(0)); } if (to == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(from, to, value); } /** * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from` * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding * this function. * - codeWormbookTypes.sol:L68-L71
Show source
/// @notice The pool's static LP fee in pips: 0.10%, D-LP option F, signed /// 2026-09-29 (section 7.3, "The pool", `LP_FEE`; "Constants and state", /// `LP_FEE`). Fixed in every PoolKey forever; no dynamic-fee flag. uint24 internal constant LP_FEE = 1_000;
Confirmed by: facts, claude-opus-5.5, grok-4.7, gpt-5.6-sol
MediumLiquidity is under $150 across pools and none is lockedliquidityAI
The four v4 pools hold about $82, $47, $2 and $2 of liquidity. Even small sells will move the price heavily, and an exit may return very little. All pools report 0% LP burned and 0% locked. Positions belong to various outside addresses, which can withdraw them. The template has a 24-hour minimum hold on outside positions. None of the LP is reported as held by the deployer.
Evidence
- on-chainliquidity pool 0xd6a85150c3845e4c139feb3363fc9fc2b2d73b3278ffee2a1955bbc04ab949af liquidityUsd=82 lpBurnedPct=0 lpLockedPct=0
- on-chainliquidity pool 0xd05ade11ba5eeaf99b4c0284ed697b36c64bb0df7983f85e116f0041e7b12207 liquidityUsd=47 lpBurnedPct=0 lpLockedPct=0
- codeWormbookTypes.sol:L110-L112
Show source
/// @notice The hold on every outside position after its last add (line /// 3876). uint256 internal constant LP_MIN_HOLD = 86_400;
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
LowUnreviewed Wormbook pool hook can change swap amountsotherAI
Under the template's permission table, the Wormbook hook can run before and after every swap and return deltas (beforeSwapReturnDelta and afterSwapReturnDelta). In Uniswap v4 this lets the hook take part of, or change, what a trader pays or receives. The hook can also gate adds and removes of liquidity. The constants describe a fixed 1% hook fee, split 30% to Wormbook and 70% to the creator. There is also a 72-hour delay before a fee-recipient change takes effect. The hook and launcher source and addresses were not in the material, so we could not verify that the hook only takes 1% or that it cannot block sells.
Evidence
- codeWormbookTypes.sol:L256-L273
Show source
function hookPermissions() internal pure returns (Hooks.Permissions memory) { return Hooks.Permissions({ beforeInitialize: true, afterInitialize: false, beforeAddLiquidity: true, afterAddLiquidity: false, beforeRemoveLiquidity: true, afterRemoveLiquidity: false, beforeSwap: true, afterSwap: true, beforeDonate: true, afterDonate: false, beforeSwapReturnDelta: true, afterSwapReturnDelta: true, afterAddLiquidityReturnDelta: false, - codeWormbookTypes.sol:L49-L66
Show source
/// @notice The hook fee: 1% of the gross quote amount of every swap /// (section 7.3, "Constants and state", `FEE_BPS`; section 7.4 /// `FEE_SPLIT.hookFeeBps`). uint256 internal constant FEE_BPS = 100; /// @notice The basis-point denominator every bps value here divides by. uint256 internal constant BPS = 10_000; /// @notice Wormbook's share of the hook fee (section 7.3, "Constants and /// state", `PROTOCOL_SHARE_BPS`). The creator receives `fee - /// protocolPart`, so the rounding remainder is theirs (section 7.3, the /// fee's split bullet). uint256 internal constant PROTOCOL_SHARE_BPS = 3_000; /// @notice The creator's share of the hook fee, as `feeTerms` reports it - codeWormbookTypes.sol:L114-L116
Show source
/// @notice The delay between proposing and accepting a recipient change /// (section 7.3, "Constants and state", `RECIPIENT_DELAY`). uint256 internal constant RECIPIENT_DELAY = 259_200; - codeHooks.sol:L266-L280
Show source
if (self.hasPermission(BEFORE_SWAP_RETURNS_DELTA_FLAG)) { hookReturn = BeforeSwapDelta.wrap(result.parseReturnDelta()); // any return in unspecified is passed to the afterSwap hook for handling int128 hookDeltaSpecified = hookReturn.getSpecifiedDelta(); // Update the swap amount according to the hook's return, and check that the swap type doesn't change (exact input/output) if (hookDeltaSpecified != 0) { bool exactInput = amountToSwap < 0; amountToSwap += hookDeltaSpecified; if (exactInput ? amountToSwap > 0 : amountToSwap < 0) { HookDeltaExceedsSwapAmount.selector.revertWith(); } } }
Confirmed by: claude-opus-5.5 · Disputed by: grok-4.7, gpt-5.6-sol
LowOne funder's 4-wallet cluster holds about 4.9% of supplyinsidersAI
Wallets funded by 0xf70d…dbef together hold 4.8653% of supply. They include top holder 0xdfa2…ed28 (2.3056%) and bundle wallet 0xbb09…1413. Against the very thin liquidity, one party selling this stake could crash the price.
Evidence
- on-chainclusters: funder 0xf70da97812cb96acdf810712aa562db8dfa3dbef pctSupplyHeldNow 4.8653
- on-chainbundle block 105445003 wallets 0xbb09faa509ee2709b810548ca0cc91465a671413, 0xb8c9dee7897aa5eb6514a954f267700e4f5dbd71 pctSupply 0.6743
Confirmed by: claude-opus-5.5, grok-4.7 · Disputed by: gpt-5.6-sol
LowX replies are mostly bot-like collab spam, not real communitysocialAI
The only visible discussion under @RHborescope is a burst of near-identical 'collab / DM me / follow back' replies from unrelated accounts, not people talking about the product or the contract. That is bot-like attention, not proof the token is a rug, but it is not an organic community either. The account itself has only two posts, both launch copy, and 51 followers.
Evidence
Show source
@RHborescope Hey, impressive work! Feel free to reach out 💎Show source
@RHborescope Could you follow me back? 👀🤝Show source
@RHborescope Hey 👋 Shall we collab? 🤝 Follow back & let's talk 💬
Confirmed by: grok-4.7
LowToken page says perks are live yet also 'switch on at launch'claims-mismatchAI
The same token page says the product is already live and that perks are checked on-chain, but the commission and seat sections still say they switch on the moment $BORESCOPE launches. The contract was deployed on 2026-11-03. This is leftover copy, not a drain, but it means those perks may not actually be on yet.
Evidence
Show source
Switches on the moment $BORESCOPE launches.Show source
Live. Perks are checked on chain each time you use them.- on-chaindeployedAt = 2026-11-03T23:19:25.000Z
Show source
WormbookToken deployed 2026-11-03T23:19:25.000Z
Confirmed by: grok-4.7, gpt-5.6-sol
Positive signals (1)
PositiveToken has no owner, fixed supply and no transfer restrictionsownershipAI
WormbookToken is a plain OpenZeppelin ERC-20. The whole 1,000,000,000 supply was minted once to the launcher 0x4eaf…422c in the constructor. There is no owner, no later mint, no burn of others, no fee, no blacklist, no pause and no upgrade path. Static analysis found no privileged functions; the only slither note is a harmless missing zero-check. The factory 0x5003…5ed0 can only be called by the launcher and has no owner. Holders' remaining risk sits in the hook, launcher and liquidity, not the token.
Evidence
- codeWormbookToken.sol:L52-L66
Show source
constructor( string memory name_, string memory symbol_, string memory description_, string memory logo_, // The address comes from the deployer the launcher created, and // OpenZeppelin's _mint refuses a zero launcher (ERC20InvalidReceiver). // forge-lint: disable-next-line(missing-zero-check) address launcher_ ) ERC20(name_, symbol_) { _description = description_; _logo = logo_; LAUNCHER = launcher_; _mint(launcher_, TOTAL_SUPPLY); } - on-chainprivileges: [] ; isProxy: false
- codeWormbookTokenDeployer.sol:L27-L40
Show source
function deployToken( bytes32 salt, string calldata name, string calldata symbol, string calldata description, string calldata logo ) external override returns (address token) { if (msg.sender != LAUNCHER) revert NotLauncher(); bytes memory initCode = _initCode(name, symbol, description, logo); assembly ("memory-safe") { token := create2(0, add(initCode, 0x20), mload(initCode), salt) } if (token == address(0)) revert TokenCreateFailed(); }
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
Notes (4)
InfoMain website failed to load; site has no deposit/withdraw featurewebsiteAI
The capture of http://borescope.io/ failed with ERR_NAME_NOT_RESOLVED, so the site's claims could not be checked. The scripted dApp tests reached borescope.io pages. The site only asked for a free sign-in signature, which approves nothing, and the AI driver found it to be an analytics tool with no deposit or withdraw feature. The failed deposit and withdraw tests reflect missing features, not lost funds.
Evidence
- forkdappTests deposit: personal_sign
Show source
It costs nothing, sends nothing and approves nothing.
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
InfoSite warns that copy pools exist; claim not checked on-chainwebsiteAI
The token page warns that other pools using this name can hold money and that buyers should trade only in the Wormbook pool. That is a real way people lose money on copy pools, but this investigation did not check pool balances on-chain, so the '3 copies' figure is the site's claim, not a confirmed fact.
Evidence
Show source
3 copies of its pool hold money: buy only through Wormbook, where it trades in its one real pool.
Confirmed by: grok-4.7, claude-opus-5.5, gpt-5.6-sol
InfoLaunch snipers bought 0.70% and have fully soldsnipersAI
Five wallets bought 0.6965% of supply in one block inside the sniper window. They now hold 0%, so they add no further dump risk.
Evidence
- on-chainsnipers pctSupplyBought 0.6965 pctSupplyHeldNow 0
Confirmed by: claude-opus-5.5, grok-4.7, gpt-5.6-sol
InfoDeployer holds 0.66% and has not soldholdersAI
The transaction sender 0x9B1d…b86e holds 0.6564% and is reported as having sold 0%. No deployer history was found.
Evidence
- on-chainDeployer 0x9b1df1c895bbd83f8c7ce7f5edcc914d5454b86e holds 0.6564% now; deployerSoldPct 0
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%15Capped · max 15dApp test "withdraw" failed — funds may not be withdrawable → max 15
The token code is a clean ownerless ERC-20, but a test buy reverted and a hard rule caps this score after the dApp withdraw test failed.
Why this score
Raised the score
- Plain OpenZeppelin ERC-20, verified, not upgradeable
- No owner, mint, fee, blacklist or pause
- Fixed 1B supply minted once to the launcher
Lowered the score
- Simulated buy on the v4 pool reverted for an unknown reason
- Sell was never simulated
- Pool hook can alter swaps and its source was not reviewed
- Launcher source and admin powers unknown
- dApp withdraw test failed; the site appears to have no withdraw feature
Token
weight 30%42Launch sniping was small and those wallets have sold out, but liquidity is tiny and unlocked, and one funder controls a cluster holding about 4.9%.
Why this score
Raised the score
- Snipers bought only 0.70% and now hold 0%
- Deployer holds 0.66% and has not sold
- Top 10 non-pool holders hold about 17.8%
Lowered the score
- Total liquidity across four pools is under $150
- No LP burned or locked
- One funder's 4-wallet cluster holds about 4.9%
- Three bundled buys at launch
Social / X
weight 15%48A verified X account whose posts match the contract, but it has a tiny audience, no named team and bot-like replies.
Why this score
Raised the score
- X account verified and active since March 2026
- Posts reference the correct contract address
- No third-party scam warnings found
Lowered the score
- Only 51 followers and two posts
- Replies are generic collab and follow-back spam
- No team named
Website
weight 10%42The main domain did not resolve during capture; subpages gave only partial, unverifiable claims with some outdated copy.
Why this score
Raised the score
- Site sign-in asked only for a free signature that approves nothing
- Site warns buyers about copy pools
Lowered the score
- borescope.io did not resolve during capture
- Token-holder perk claims are unverifiable
- Token page still says perks switch on at launch