Skip to content
DeedscanMainnet, chain ID 4663

Methodology

The Deed Score is the sum of six weighted checks, from 0 to 100. Each check reads public data from the chain’s RPC or its block explorer. A check that cannot be verified scores 0 and is listed as “could not verify”. The score measures evidence. It is not a safety guarantee, an audit or financial advice.

Scoring table

Grades

  • A: 80–100. Strong evidence across most checks.
  • B: 60–79. Good evidence with some gaps.
  • C: 40–59. Mixed or missing evidence.
  • D: 0–39. Little supporting evidence, or checks failed.

Each check, its points and its data source

1. Source code verified weight 20

Data source: Explorer API: GET /api/v2/addresses/{token} → is_verified

  • PassVerified source on the explorer: 20
  • FailUnverified bytecode: 0
  • Could not verifyExplorer API unavailable: 0 (never a pass)

2. Ownership weight 15

Data source: RPC: eth_call owner() on the token

  • Passowner() returns the zero address or 0x…dEaD (renounced): 15
  • PartialAn active owner address: 5
  • NeutralNo owner() function (call reverts or returns nothing): 8
  • Could not verifyRPC transport error: 0

3. Transfer simulation weight 20

Data source: Explorer holders API for the largest holder (excluding the burn address and the token contract), then RPC eth_simulateV1: balanceOf(fresh) → transfer(fresh, 1% of holder balance) from the holder → balanceOf(fresh). Falls back to a plain eth_call of transfer() if eth_simulateV1 is unsupported. Bytecode from eth_getCode is searched for PUSH4 selectors of admin functions.

  • PassTransfer succeeds, fee ≤ 10%, no admin selectors found: 20
  • PartialTransfer succeeds but admin selectors are present: 10. Succeeds but fee could not be measured (eth_call fallback): 14
  • FailTransfer reverts, returns false, or the recipient receives more than 10% less than sent: 0
  • Could not verifyNo holder list or RPC unavailable: 0

Admin selectors searched: blacklist(address), addToBlacklist(address), addBlacklist(address), setBlacklist(address,bool), isBlacklisted(address), setBots(address[],bool), addBots(address[]), pause(), unpause(), setTradingEnabled(bool), enableTrading(), openTrading(), setMaxTxAmount(uint256), setFees(uint256,uint256), setTaxFeePercent(uint256), setBuyFee(uint256), setSellFee(uint256), mint(address,uint256).

4. Deployer history weight 15

Data source: Explorer API: creator_address_hash from /api/v2/addresses/{token}, then the creator's direct contract creations from the Etherscan-compatible txlist endpoint (latest 250 transactions). Earlier scores come from this server's in-memory cache only.

  • PassEarlier contracts exist, at least one is verified, none scored below 30 here: 15
  • PartialEarlier contracts, none verified: 8. Exactly one earlier token scored below 30: 5
  • FailTwo or more earlier tokens scored below 30 in this server's recent scans: 0
  • Could not verifyFresh deployer with no earlier contracts, or explorer unavailable: 0 (unknown, not bad)

5. Holder concentration weight 15

Data source: Explorer API: GET /api/v2/tokens/{token}/holders (first page). Share = top 10 balances ÷ (totalSupply − burn address − token contract balances).

  • PassTop 10 hold under 40%: 15
  • Partial40% to 70%: 7
  • FailOver 70%: 0
  • Could not verifyExplorer unavailable or no eligible holders listed: 0

6. Real activity weight 15

Data source: RPC: eth_getLogs for Transfer events of the token over the last 100,000 blocks. Mints and burns (to or from the zero address) and transfers where both sides are the deployer, the burn address or the token contract are excluded.

  • PassAt least 10 distinct non-deployer addresses and 20 counted transfers: 15
  • Partial3 or more distinct addresses: 8. 1–2 addresses: 4
  • FailOnly deployer self-transfers or mints: 0
  • Could not verifyRPC log query failed: 0

“Verified builders only” filter

Shows tokens where all three are true: the token’s source is verified, the deployer has at least one earlier contract with verified source, and the Deed Score is at least 60. It is set with ?builders=1 on the feed URL.

Known limits

  • “Could not verify” (unknown) means the RPC or explorer did not return the data, or it does not exist yet (for example a deployer with no history). It scores 0, the same number as a fail, but it is shown separately so you can tell the difference.
  • The transfer simulation is not a sell test. It simulates one wallet-to-wallet transfer. It does not route through a DEX, so it cannot catch traps that only trigger on swaps, time-delayed rules, owner actions taken later, or proxy upgrades.
  • The selector scan is a heuristic. Legitimate tokens often include pause or mint functions, and an obfuscated contract can hide them.
  • Deployer history only sees contracts created directly by the address (not through factories), within its latest 250 transactions. “Low score” history uses this server’s in-memory scans, which reset when it restarts.
  • Holder concentration uses the explorer’s first page of holders. Liquidity pools and exchange wallets count as holders.
  • Scores are cached for about 60 seconds. The feed covers only the last 30,000 blocks (no historical backfill) and keeps the newest 200 tokens.
  • Nothing is stored in a database. Your watchlist lives only in your browser.

Network in use

Network
Robinhood Chain (mainnet)
Status
Available
Chain ID
4663
RPC
https://rpc.mainnet.chain.robinhood.com
Explorer
https://robinhoodchain.blockscout.com
Explorer API
https://robinhoodchain.blockscout.com/api/v2
Parameters from
https://docs.robinhood.com/chain/connecting/ (read 2026-10-13; env vars can override)

Deedscan is independent and not affiliated with or endorsed by Robinhood. It only reads public data and never sends transactions.