Skip to main content
Glama

DeFade — Multi-Chain Memecoin Analyzer

Server Details

Rug pull risk and on-chain forensics for tokens on Solana and six EVM chains.

Ownership verified
Status
Healthy
Uptime
100.0% over 41 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.7/5.0

Scored across 15 tools

Disambiguation5/5

The suite is well-factored into distinct forensic sub-questions: proven links, behavioral clusters, funding provenance, and shared bot config are each handled by a separate tool, as are launch bundles vs. snipers and holders vs. whales. The aggregate get_token_scan is explicitly positioned as an entry point before module-level drill-downs, so an agent can reliably choose the right tool.

Naming Consistency5/5

Every tool uses the same snake_case get_<noun_phrase> convention (get_holders, get_liquidity, get_launch_bundles, get_token_scan). There are no mixed verb styles or casing inconsistencies.

Tool Count5/5

Fifteen tools is at the upper end of the typical 3–15 range but is justified for a multi-chain token analyzer with many independent forensic modules. Each tool covers a distinct analysis dimension rather than duplicating another, and the operational get_usage tool is a necessary utility.

Completeness4/5

The surface is deep across market data, liquidity, holder distribution, creator behavior, funding, launch coordination, and risk scoring, with an aggregate scan and drill-downs. The main minor gap is an explicit contract-level audit tool (e.g., mint/freeze authority, honeypot/tax checks) that some memecoin safety questions might expect, though get_rug_score and get_token_scan may partially cover it.

Available Tools

15 tools
get_dev_trackerDev wallet tracking
Read-onlyIdempotent
Inspect

What the token's creator has done with their supply: the share they still hold, what left through sales versus transfers, and where the transfers went. Read the state carefully: still holding is neutral, a dev who simply sold out is statusColor gray — the standard launch pattern, not a rug — fully exited on a fresh token is a warning, and transferred out to fresh wallets (red) is the single strongest rug signal DeFade tracks. The creator is the wallet that created the mint on Solana and the contract deployer on EVM chains; creatorSource says how it was identified, and creatorInferred true means it may be a launchpad authority rather than a person, so weigh the verdict accordingly. Not for wallets other than the creator (get_whales, get_wallet_links); the creator's earlier launches are already served by get_token_scan's creator block (tokenCreations, recentTokens). Arguments: address and chain — the deployer is read from the contract creation on that chain, so a 0x address needs its chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
statusNoOne-line verdict: STILL HOLDING, PARTIAL EXIT, FULLY EXITED, TRANSFERRED OUT, SOLD & TRANSFERRED, DISTRIBUTED, LOCKED and similar.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
recentSellsNoTransactions behind each bucket, newest first, capped.
statusColorNogreen, yellow, gray or red. A dev selling out is gray: the standard launch pattern, not a rug.
lastActivityNoUnix seconds of the dev's most recent move of this token.
creatorSourceNoHow the dev wallet was identified; creatorInferred is true when it may be a launchpad authority rather than a person.
totalMintedPctNoGenesis allocation as percent of supply; totalBoughtPct, totalSoldPct, totalTransferredPct, totalLockedPct, totalLiquidityPct, totalBurnedPct (supply the dev destroyed: not a transfer, not scored) alongside.
currentHoldingPctNoPercent of supply the dev holds now.
transferRecipientsNoDistinct wallets that received a transfer.
transferRecipientAnalysisNoWhat large recipients did with the tokens: address, amountPct, stillHeldPct, verdict.
get_fee_fingerprintShared fee-setting fingerprint
Read-onlyIdempotent
Inspect

Wallets whose transactions pin an identical fee setting — compute-unit price or Jito tip on Solana, priority fee or legacy gas price on EVM chains — one operator's bot settings showing up across every wallet it drives. This is the shared-CONFIGURATION member of the "who is really behind this token" family (proven transfers: get_wallet_links; funding origin: get_funding_sources; behavioural twins: get_lookalike_clusters), not a timing link: it never proves bundling, and two wallets can match days apart. Use it to corroborate get_lookalike_clusters, and to catch the operator who sold their launch wallets and re-entered through fresh ones; read a match as corroboration, never as proof of coordinated buying. Groups are strongest first; pending true means no bundle scan has run for this token yet, so nothing has looked rather than nothing was found. Arguments: address and chain; one API unit on any chain, because it reads what the bundle scan already computed.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statsNoWallets seen, how many carried a readable fee setting, how many were linked, how many set none.
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
groupsNoOne entry per fee setting shared by two or more wallets, strongest first: wallets, supplyPct bought, confidence.
pendingNoTrue when no bundle scan has run for this token yet: nothing has looked, not nothing was found.
excludedNoFee values suppressed as client defaults, with the wallet count each covered.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
computedAtNoWhen this result was read.
get_funding_sourcesFunding provenance
Read-onlyIdempotent
Inspect

Multi-hop tracing of where the money behind this token's key wallets actually came from, walking each funding chain back and tiering the source by whether it is a KYC'd exchange. Use it to test whether several "unrelated" holders share one funding source. It answers provenance only — money in, one dimension: it does not build the wallet-to-wallet transfer graph (get_wallet_links), group look-alike behaviour (get_lookalike_clusters), or match shared bot fee settings (get_fee_fingerprint). Read coveragePct before the origins: it is the share of supply that could be attributed, the remainder (unknownCount wallets) could not be traced and is not evidence either way, and dexPct and bridgedPct are real states rather than attributions. Results are cached for 30 minutes (computedAt, fromCache). Not for the creator's own activity (get_dev_tracker) or launch-window buying (get_launch_bundles, get_launch_snipers). Arguments: address and chain — a 0x address needs its chain; on an EVM chain this call costs 5 API units instead of 1, because the trace runs against paid indexers, so check get_usage before running it across many tokens.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
riskNoVerdict with label and severity.
tiersNoThe same supply grouped by certainty tier, as { tier, share }.
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
originsNoWhere holder supply was funded from, as { name, share }, biggest first.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
computedAtNoWhen this was computed; fromCache says whether it was served from a stored result.
coveragePctNoShare of supply attributed to an origin; dexPct and bridgedPct are real states but not attribution.
walletCountNoWallets resolved, with resolvedCount and unknownCount.
get_holdersHolder distribution
Read-onlyIdempotent
Inspect

Holder distribution for one token, with liquidity pools, burn addresses, lockers, exchange wallets and contracts classified out, so the top-holder list reflects actual holders. Returns the classified top holders with each wallet's supply share in a single response — no pagination. Use it to answer how concentrated the supply is and whether a few wallets could collapse the chart. Not for what large holders are doing right now (get_whales), whether holders are secretly one actor (get_wallet_links or get_lookalike_clusters), or pool depth and locks (get_liquidity). Arguments: address and chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
bundlesNoShallow bundle detection over the real wallets: detected, bundlePct, groups.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
topHoldersNoTop 20 accounts: rank, address, walletAddress, amount, percentage, solBalance, isProtocol, protocolLabel.
lockedSupplyNopct plus a lockers array naming each escrow.
totalHoldersNoHolder count, estimated from the top accounts.
concentrationNotop5, top10, top20 as percent of supply, counting real wallets only.
deferredUnlockNoSupply that unlocks back to the deployer later: pct, unlockDate, cancelablePct. Null when none.
protocolHoldingsNoWhat was excluded: count and totalPct.
get_launch_bundlesLaunch-window bundles
Read-onlyIdempotent
Inspect

Bundle detection for one token: coordinated buys in the launch window plus delayed sweeps, accounted on peak net exposure rather than raw buy count, so wallets that bought and flipped are not counted as holders. Heavy bundling that is still held is one of the strongest rug predictors. Use it for any "was this launch bundled" question. Not for lone fast buyers with no coordination (get_launch_snipers), clusters that formed after launch (get_lookalike_clusters), or the creator's own selling (get_dev_tracker). Arguments: address and chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
bundlesNoEach bundle: its wallets, what they spent, what they still hold, how they were funded.
summaryNoTotals across detected bundles, accounted on peak net exposure.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
hiddenBundleCountNoBundles the shallow detector does not see.
get_launch_snipersFirst-block snipers
Read-onlyIdempotent
Inspect

Bots that bought in the first block or first seconds of this token's launch, and whether they are connected to the deployer. The window is the first 120 seconds after the first transaction; at most 30 rows are returned and totalEarlyBuyers carries the full count. Migration-crank MEV bots are excluded and named rather than silently dropped. Check reachedGenesis: when false the walk did not reach the true first transaction, the result is partial, and it is cached for only 10 minutes instead of 2 hours. Use it to tell an organic launch from a pre-arranged one. Not for coordinated multi-wallet launch buying (get_launch_bundles) or the deployer's funding of other wallets (get_wallet_links). Arguments: address and chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statsNoCohort totals for the window.
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
snipersNoWallets that bought inside the launch window, capped at 30 rows.
poweredByNoAlways "DeFade.org".
terminalsNoTrading terminals the launch cohort came through; activeTerminals is who trades it now.
timestampNoISO time the response was assembled.
reachedGenesisNoWhether the walk reached the true first transaction. When false, partial is true and small snipers may be missing.
totalEarlyBuyersNoHow many were found in total; windowSeconds and firstTxTime describe the window.
migrationCrankersExcludedNoMigration-crank MEV bots filtered out as infrastructure, named.
get_liquidityLiquidity analysis
Read-onlyIdempotent
Inspect

Liquidity pool analysis for one token: which DEX holds the deepest pool, its depth in USD, and whether the LP tokens are burned, locked or still in someone's hands. lpStatus is the verdict — LP BURNED, LP LOCKED, LP UNLOCKED, PARTIALLY BURNED, LP NOT LOCKABLE, BONDING CURVE (still on a launchpad curve, no pool yet) or NO LP FOUND, with combinations spelled out — and lpBurnPct, lpLockPct and poolLocks carry the evidence. Use it to answer whether liquidity is locked, how deep it is, and whether the position could be pulled: LP UNLOCKED means it can be pulled at any time. Cached for about two minutes. A token with no pool returns empty liquidity data, which is itself a warning on a token that is trading. Not for price or volume (get_token_price), market cap (get_token_scan) or holder concentration (get_holders). Arguments: address and chain — pools live per chain, so a 0x address needs the chain it trades on, and a Base pool is not found under ethereum; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dexNoWhich DEX holds the deepest pool.
riskNoLiquidity risk label; lpEvidence carries the on-chain evidence behind it.
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
lpStatusNoHeadline pool verdict: LP BURNED, LP LOCKED, LP UNLOCKED, PARTIALLY BURNED, LP NOT LOCKABLE, BONDING CURVE, NO LP FOUND, or a spelled-out combination.
lpBurnPctNoPercent of LP tokens burned; lpLockPct is the percent locked.
poolLocksNoPer-pool lock detail with lpLockable and an lpNote in words.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
totalLiquidityUsdNoCombined USD depth across pools; pools lists them and poolCount counts them.
get_lookalike_clustersBehavioural sybil clusters
Read-onlyIdempotent
Inspect

Clusters of wallets around one token that behave as a single actor — buys sized and timed alike so demand looks organic — even when no transfer or funding trail connects them. That behavioural inference is what separates it from get_wallet_links, which only reports proven links. Use it when supply looks distributed across many small wallets and the insider graph comes back clean; corroborate with get_fee_fingerprint. Not for proven transfer links (get_wallet_links), the funding source behind the wallets (get_funding_sources), or launch-window coordination (get_launch_bundles). Arguments: address and chain; on an EVM chain this call costs 5 API units instead of 1, because the trace runs against paid indexers.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
riskNoVerdict for the token with label and severity.
bandsNoWallet clusters banded by how strongly they look like one operator.
statsNoTotals across the bands: wallets clustered and the supply they hold.
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
computedAtNoWhen this was computed; fromCache says whether it was served from a stored result.
get_rug_scoreRug pull probability
Read-onlyIdempotent
Inspect

Rug pull probability for one token: a 0-100 score where HIGHER MEANS MORE DANGEROUS, a verdict label, and the individual signals that drove it. This is the opposite direction from get_token_scan's safety score. Call this tool ONLY when the user explicitly asks for a rug probability or rug likelihood; every general "is this safe" or "should I buy" question goes to get_token_scan instead. Not for the evidence behind the number — it names the signals but does not list the wallets; for who is behind the risk call get_wallet_links, get_dev_tracker or get_launch_bundles. Arguments: address and chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
fusionNoCross-signal wallet correlation; wallets list is empty on non-Pro keys.
signalsNoEach contributing signal: what fired, its weight and its explanation.
verdictNoPROBABLY SAFE (<25), SOME RISK (25+), ELEVATED RISK (45+), HIGH RISK (60+), EXTREME RISK (75+); or a state that overrides the bands: RUGGED / DEAD, ABANDONED / DEAD, NEVER BONDED (a launchpad coin that never left its bonding curve — no pool ever existed; rugScore is still returned as a number).
coverageNo"full" when the Pro signal set contributed, "free" when only the free signals did — a "free" score has seen less evidence. ("partial" only appears on the raw API when a caller declines to wait; this tool always waits for the complete answer.)
rugScoreNoRug probability 0 (safe) to 100 (critical). HIGHER IS MORE DANGEROUS.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
scoreLabelNoNull normally. "NEVER BONDED" when the human surfaces print that state instead of the percentage; rugScore is still the number.
bundleSubScoreNoThe bundle component of the score.
proChecksLockedNoHow many Pro-only checks were withheld.
get_smart_moneySmart money
Read-onlyIdempotent
Inspect

Wallets with a track record of profitable entries that are holding or trading this token, classified from their historical trade win rates — a "verified" smart-money tag requires a known win rate of 50% or better. Computed live from the current holder set and cached for about five minutes. Use it for the bullish side of a scan: who informed is in, and when they got in. Not for risk assessment — informed wallets present never offsets a rug signal, and a clean result is not a buy signal — and not for wallet size (get_whales). Arguments: address and chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
summaryNoanalyzed, smartMoneyCount, verifiedCount, experiencedCount, activeTraderCount, retailCount, smartMoneyPct, avgWinRate, signal.
walletsNoProfiled holders, each classified smart money, verified, experienced, active trader or retail, with win rate.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
activeBuysNoOther tokens the smart wallets are currently buying.
get_token_priceToken price
Read-onlyIdempotent
Inspect

Price history for one token as OHLCV candles, plus the latest price, the window's high and low with their timestamps, and the percent change across the window — prices in USD (the *Usd fields), volume as the market source quotes it. Aggregated from DEX market sources and cached for about a minute. Intervals with no trades are omitted rather than zero-filled, so consecutive candles can sit more than one step apart. The optional timeframe argument sets the candle size and with it how far back the window reaches: 15m (the default) covers about the last 2.5 days, 1H about 10 days, 4H about 40 days and 1D up to a year of daily candles, back to the token's first trade if it is younger; there is no start or end argument, the size fixes the window. Use 1D for "what did it peak at", "how far is it down from the top" or any price history question; use the default for the market context around a risk verdict. A token with no liquidity pool returns candles: [] and totalCandles: 0 rather than an error. Not for risk of any kind — market data carries no forensic signal — and not for pool depth or lock status (get_liquidity) or market cap (get_token_scan's token block). Arguments: address, chain and timeframe — a 0x address needs its chain; one API unit on any chain regardless of timeframe.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.
timeframeNoCandle size, which also sets the window: 1m ≈ last 4 hours, 5m ≈ 20 hours, 15m ≈ 2.5 days (default), 30m ≈ 5 days, 1H ≈ 10 days, 4H ≈ 40 days, 1D ≈ up to 365 days. A token younger than the window returns candles from its first trade. Any other value is rejected before a request is spent.15m

Output Schema

ParametersJSON Schema
NameRequiredDescription
highNoWindow high as priceUsd plus ts; low is the same shape.
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
candlesNoOHLCV candles, oldest first: ts (ms), open, high, low, close, volume and *Usd values.
currentNoLatest close as current.priceUsd.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
priceChangeNoPercent change from the first candle to the last. Null when it cannot be computed.
totalCandlesNoNumber of candles; a token with no chart data answers 0.
get_token_scanScan a token
Read-onlyIdempotent
Inspect

Run a full DeFade scan on one token contract: token metadata, holder distribution, creator history (wallet age, previous token launches) and the headline risk verdict. Start here for any "is this token safe", "is this a rug pull" or "should I buy this" question. Returns risk.score as a SAFETY score where 100 is clean and low numbers are dangerous, with a rating label. For the inverse — a rug pull probability where high means dangerous — call get_rug_score. Not for a single module in isolation (call that module's tool directly), price or market-cap questions (get_token_price), or checking the caller's own quota (get_usage). Arguments: address and chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
riskNoThe SAFETY score: score (0-100, 100 is clean), rating, color, flags. Opposite direction from get_rug_score.
tokenNoToken metadata: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity.
creatorNoDeployer wallet: address, walletAgeDays, solBalance, totalTransactions, tokenCreations, recentTokens, riskLevel.
holdersNoSame body as get_holders: totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, bundles.
successNoWhether the scan completed.
poweredByNoAlways "DeFade.org".
scanCountNoHow many times this token was scanned in the last 24 hours, on every DeFade surface (web, app, extension, Telegram, API) by every user, including this scan (scanWindow "24h").
timestampNoISO time the response was assembled.
analyzedAtNoISO time of the scan itself.
scanWindowNoThe window scanCount covers: "24h".
get_usageAPI usageA
Read-onlyIdempotent
Inspect

Report the calling API key's plan, rate limits and how much of its monthly allowance is left. Takes no arguments. Use it when a call fails on quota, or when the user asks what their DeFade plan includes. Not for anything about a token — every other tool takes an address; this one reports on the key itself.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
tierNoThe tier this key is on. web_mcp is the connector key included with a DeFade Pro web subscription; its allowance is the plan's monthly scans, reported in plan/limits.perMonth.
unitsNoHow metering works: one request is one unit except the heaviest EVM modules, listed in heavyOnEvm with heavyCost.
usageNotoday, total, thisPeriod, remainingThisPeriod, periodResetsAt.
limitsNoperMinute, perDay, perMonth; perMonth is null on grandfathered keys.
creditsNoOverage: balance, overageEnabled, costPerRequest.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds useful context: the operation targets the calling key's own usage, requires no arguments, and is the right call for quota failures. No side effects are concealed, and nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: what it reports, when to use it, and what it is not for. The information is front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with an output schema, the description fully covers purpose, invocation context, scope, and exclusions. The output schema handles return-value details, leaving no meaningful gap for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so baseline is 4. The description reinforces this by explicitly saying 'Takes no arguments,' which prevents an agent from trying to pass a token address despite the sibling tools all taking an address.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb ('Report') and resource ('the calling API key's plan, rate limits and monthly allowance left'). It clearly distinguishes from sibling token-focused tools by stating this tool reports on the key itself, not a token or address.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: on quota failure or when the user asks about their DeFade plan. It also provides an exclusion: not for anything about a token, and notes every other tool takes an address while this one takes none. This gives clear routing versus siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_whalesWhale activity
Read-onlyIdempotent
Inspect

Wallets holding at least 1% of supply once pools, lockers, treasuries and custodial accounts are removed. Each row carries the balance, share of supply, any attribution label (known KOL, dev-linked stash, exchange), the 24-hour transaction count and recent buys and sells; the summary counts dangerous and active whales and gives a whale-risk verdict. One response, no pagination; cached for 15 minutes, so activity figures can lag by that much. A token with nothing above the threshold returns an empty list and largestHumanPct, so the empty state is explainable rather than silent. Use it after get_holders when the question is about who can dump and whether they are already dumping. Not for the full ranked holder list (get_holders), historically profitable wallets (get_smart_money), or the creator's own wallet (get_dev_tracker). Arguments: address and chain; one API unit on any chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan.solana
addressYesThe token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected.

Output Schema

ParametersJSON Schema
NameRequiredDescription
tokenNoThe address that was scanned (on get_token_scan, the full token metadata object instead).
whalesNoEach whale: address, balance, percentage of supply, attribution label (notable wallet, dev-linked, exchange), txCount24h, recent buys and sells.
summaryNototalWhales, totalWhalePct, dangerWhales, activeWhales, whaleRisk, whaleThreshold, largestHumanPct, protocol and Streamflow-lock totals.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
terminalUsageNoWhich trading terminals the whale cohort trades through (Pro keys).
protocolAccountsNoPools, lockers, treasuries and custodial accounts held out of the whale list, named.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget_fee_fingerprint2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Only solana: this tool has no implementation on other chains, and any other value is refused before a request is spent. Omit it for solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
  2. 13 tool updates
    • Changedget_dev_tracker2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_funding_sources2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_holders2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_launch_bundles2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_launch_snipers2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_liquidity2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_lookalike_clusters2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_rug_score2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_smart_money2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_token_price2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_token_scan2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_wallet_links2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
    • Changedget_whales2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana",
        +  "ethereum",
        +  "base",
        +  "bsc",
        +  "robinhood",
        +  "arc",
        +  "hyperevm"
        +]
  3. 1 tool update
    • Changedget_rug_score1 field changed
      • changedOutput schema / properties / coverage / description
        Previous value: -"\"full\" when the Pro signal set contributed, \"free\" when only the free signals did — a \"free\" score has seen less evidence."New value: +"\"full\" when the Pro signal set contributed, \"free\" when only the free signals did — a \"free\" score has seen less evidence. (\"partial\" only appears on the raw API when a caller declines to wait; this tool always waits for the complete answer.)"
  4. 1 tool update
    • Changedget_token_scan2 fields changed
      • changedOutput schema / properties / scanCount / description
        Previous value: -"How many times DeFade has scanned this token: the lifetime figure the rug database shows when the token has a row there (scanWindow \"all\"), otherwise the last 24h (scanWindow \"24h\")."New value: +"How many times this token was scanned in the last 24 hours, on every DeFade surface (web, app, extension, Telegram, API) by every user, including this scan (scanWindow \"24h\")."
      • changedOutput schema / properties / scanWindow / description
        Previous value: -"\"all\" when scanCount is the lifetime rug-database figure, \"24h\" when it is the last 24 hours only."New value: +"The window scanCount covers: \"24h\"."
  5. 1 tool update
    • Changedget_dev_tracker1 field changed
      • changedOutput schema / properties / totalMintedPct / description
        Previous value: -"Genesis allocation as percent of supply; totalBoughtPct, totalSoldPct, totalTransferredPct, totalLockedPct, totalLiquidityPct alongside."New value: +"Genesis allocation as percent of supply; totalBoughtPct, totalSoldPct, totalTransferredPct, totalLockedPct, totalLiquidityPct, totalBurnedPct (supply the dev destroyed: not a transfer, not scored) alongside."
  6. 1 tool update
    • Changedget_rug_score2 fields changed
      • addedOutput schema / properties / scoreLabel
        Added value: +{
        +  "description": "Null normally. \"NEVER BONDED\" when the human surfaces print that state instead of the percentage; rugScore is still the number.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / properties / verdict / description
        Previous value: -"PROBABLY SAFE (<25), SOME RISK (25+), ELEVATED RISK (45+), HIGH RISK (60+), EXTREME RISK (75+), or RUGGED."New value: +"PROBABLY SAFE (<25), SOME RISK (25+), ELEVATED RISK (45+), HIGH RISK (60+), EXTREME RISK (75+); or a state that overrides the bands: RUGGED / DEAD, ABANDONED / DEAD, NEVER BONDED (a launchpad coin that never left its bonding curve — no pool ever existed; rugScore is still returned as a number)."
  7. 1 tool update
    • Changedget_whales1 field changed
      • changedOutput schema / properties / whales / description
        Previous value: -"Each whale: address, balance, percentage of supply, attribution label (KOL, dev-linked, exchange), txCount24h, recent buys and sells."New value: +"Each whale: address, balance, percentage of supply, attribution label (notable wallet, dev-linked, exchange), txCount24h, recent buys and sells."
  8. 1 tool update
    • Changedget_token_scan2 fields changed
      • changedOutput schema / properties / scanCount / description
        Previous value: -"Scans of this token in the last 24h."New value: +"How many times DeFade has scanned this token: the lifetime figure the rug database shows when the token has a row there (scanWindow \"all\"), otherwise the last 24h (scanWindow \"24h\")."
      • addedOutput schema / properties / scanWindow
        Added value: +{
        +  "description": "\"all\" when scanCount is the lifetime rug-database figure, \"24h\" when it is the last 24 hours only.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
  9. 1 tool update
    • Changedget_liquidity1 field changed
      • changedOutput schema / properties / lpStatus / description
        Previous value: -"Headline pool verdict: BURNED, LOCKED, UNLOCKED, NO LP FOUND."New value: +"Headline pool verdict: LP BURNED, LP LOCKED, LP UNLOCKED, PARTIALLY BURNED, LP NOT LOCKABLE, BONDING CURVE, NO LP FOUND, or a spelled-out combination."
  10. 1 tool update
    • Changedget_fee_fingerprint2 fields changed
      • changedInput schema / properties / chain / description
        Previous value: -"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."New value: +"Only solana: this tool has no implementation on other chains, and any other value is refused before a request is spent. Omit it for solana."
      • changedInput schema / properties / chain / enum
        Previous value: -[
        -  "solana",
        -  "ethereum",
        -  "base",
        -  "robinhood"
        -]New value: +[
        +  "solana"
        +]
  11. 1 tool update
    • Changedget_token_price1 field changed
      • addedInput schema / properties / timeframe
        Added value: +{
        +  "default": "15m",
        +  "description": "Candle size, which also sets the window: 1m ≈ last 4 hours, 5m ≈ 20 hours, 15m ≈ 2.5 days (default), 30m ≈ 5 days, 1H ≈ 10 days, 4H ≈ 40 days, 1D ≈ up to 365 days. A token younger than the window returns candles from its first trade. Any other value is rejected before a request is spent.",
        +  "enum": [
        +    "1m",
        +    "5m",
        +    "15m",
        +    "30m",
        +    "1H",
        +    "4H",
        +    "1D"
        +  ],
        +  "type": "string"
        +}
  12. 1 tool update
    • Changedget_usage1 field changed
      • changedOutput schema / properties / tier / description
        Previous value: -"The tier this key is on."New value: +"The tier this key is on. web_mcp is the connector key included with a DeFade Pro web subscription; its allowance is the plan's monthly scans, reported in plan/limits.perMonth."
  13. 1 tool update
    • Changedget_rug_score3 fields changed
      • removedOutput schema / properties / coverage / additionalProperties
        Removed value: -true
      • changedOutput schema / properties / coverage / description
        Previous value: -"Which inputs were available; a score without liquidity or holder data is weaker and says so."New value: +"\"full\" when the Pro signal set contributed, \"free\" when only the free signals did — a \"free\" score has seen less evidence."
      • changedOutput schema / properties / coverage / type
        Previous value: -[
        -  "object",
        -  "null"
        -]New value: +[
        +  "string",
        +  "null"
        +]
  14. 15 tool updates
    • Changedget_dev_tracker11 fields changed
      • changedOutput schema / properties / creatorSource / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / currentHoldingPct / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / lastActivity / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / recentSells / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / status / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / statusColor / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / totalMintedPct / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / transferRecipientAnalysis / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / transferRecipients / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
    • Changedget_fee_fingerprint7 fields changed
      • changedOutput schema / properties / computedAt / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / excluded / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / groups / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / pending / type
        Previous value: -"boolean"New value: +[
        +  "boolean",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / stats / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_funding_sources8 fields changed
      • changedOutput schema / properties / computedAt / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / coveragePct / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / origins / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / risk / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / tiers / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / walletCount / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
    • Changedget_holders9 fields changed
      • changedOutput schema / properties / bundles / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / concentration / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / deferredUnlock / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / lockedSupply / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / protocolHoldings / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / topHolders / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / totalHolders / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
    • Changedget_launch_bundles5 fields changed
      • changedOutput schema / properties / bundles / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / hiddenBundleCount / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / summary / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_launch_snipers8 fields changed
      • changedOutput schema / properties / migrationCrankersExcluded / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / reachedGenesis / type
        Previous value: -"boolean"New value: +[
        +  "boolean",
        +  "null"
        +]
      • changedOutput schema / properties / snipers / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / stats / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / terminals / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / totalEarlyBuyers / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
    • Changedget_liquidity8 fields changed
      • changedOutput schema / properties / dex / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / lpBurnPct / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / lpStatus / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / poolLocks / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / risk / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / totalLiquidityUsd / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
    • Changedget_lookalike_clusters6 fields changed
      • changedOutput schema / properties / bands / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / computedAt / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / risk / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / stats / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_rug_score9 fields changed
      • changedOutput schema / properties / bundleSubScore / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / coverage / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / fusion / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / proChecksLocked / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / rugScore / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / signals / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / verdict / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
    • Changedget_smart_money5 fields changed
      • changedOutput schema / properties / activeBuys / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / summary / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / wallets / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
    • Changedget_token_price7 fields changed
      • changedOutput schema / properties / candles / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / current / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / high / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / priceChange / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / totalCandles / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
    • Changedget_token_scan9 fields changed
      • changedOutput schema / properties / analyzedAt / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / creator / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / holders / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / risk / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / scanCount / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / success / type
        Previous value: -"boolean"New value: +[
        +  "boolean",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / token / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
    • Changedget_usage5 fields changed
      • changedOutput schema / properties / credits / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / limits / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / tier / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / units / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / usage / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
    • Changedget_wallet_links8 fields changed
      • changedOutput schema / properties / connections / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / insiderCount / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / locked / type
        Previous value: -"boolean"New value: +[
        +  "boolean",
        +  "null"
        +]
      • changedOutput schema / properties / nodes / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / totalTransfers / type
        Previous value: -"number"New value: +[
        +  "number",
        +  "null"
        +]
      • changedOutput schema / properties / walletConnections / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
    • Changedget_whales6 fields changed
      • changedOutput schema / properties / poweredBy / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / protocolAccounts / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
      • changedOutput schema / properties / summary / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / terminalUsage / type
        Previous value: -"object"New value: +[
        +  "object",
        +  "null"
        +]
      • changedOutput schema / properties / timestamp / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "null"
        +]
      • changedOutput schema / properties / whales / type
        Previous value: -"array"New value: +[
        +  "array",
        +  "null"
        +]
  15. 10 tool updates
    • Removedget_bundles
    • Removedget_funding_origin
    • Addedget_funding_sources
    • Removedget_insider_network
    • Addedget_launch_bundles
    • Addedget_launch_snipers
    • Addedget_lookalike_clusters
    • Removedget_snipers
    • Removedget_sybil_cluster
    • Addedget_wallet_links
  16. 15 tool updates
    • Changedget_bundles1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "bundles": {
        +      "description": "Each bundle: its wallets, what they spent, what they still hold, how they were funded.",
        +      "type": "array"
        +    },
        +    "hiddenBundleCount": {
        +      "description": "Bundles the shallow detector does not see.",
        +      "type": "number"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "summary": {
        +      "additionalProperties": true,
        +      "description": "Totals across detected bundles, accounted on peak net exposure.",
        +      "type": "object"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_dev_tracker1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "creatorSource": {
        +      "description": "How the dev wallet was identified; creatorInferred is true when it may be a launchpad authority rather than a person.",
        +      "type": "string"
        +    },
        +    "currentHoldingPct": {
        +      "description": "Percent of supply the dev holds now.",
        +      "type": "number"
        +    },
        +    "lastActivity": {
        +      "description": "Unix seconds of the dev's most recent move of this token.",
        +      "type": "number"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "recentSells": {
        +      "description": "Transactions behind each bucket, newest first, capped.",
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "One-line verdict: STILL HOLDING, PARTIAL EXIT, FULLY EXITED, TRANSFERRED OUT, SOLD & TRANSFERRED, DISTRIBUTED, LOCKED and similar.",
        +      "type": "string"
        +    },
        +    "statusColor": {
        +      "description": "green, yellow, gray or red. A dev selling out is gray: the standard launch pattern, not a rug.",
        +      "type": "string"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "totalMintedPct": {
        +      "description": "Genesis allocation as percent of supply; totalBoughtPct, totalSoldPct, totalTransferredPct, totalLockedPct, totalLiquidityPct alongside.",
        +      "type": "number"
        +    },
        +    "transferRecipientAnalysis": {
        +      "description": "What large recipients did with the tokens: address, amountPct, stillHeldPct, verdict.",
        +      "type": "array"
        +    },
        +    "transferRecipients": {
        +      "description": "Distinct wallets that received a transfer.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_fee_fingerprint1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "computedAt": {
        +      "description": "When this result was read.",
        +      "type": "string"
        +    },
        +    "excluded": {
        +      "description": "Fee values suppressed as client defaults, with the wallet count each covered.",
        +      "type": "array"
        +    },
        +    "groups": {
        +      "description": "One entry per fee setting shared by two or more wallets, strongest first: wallets, supplyPct bought, confidence.",
        +      "type": "array"
        +    },
        +    "pending": {
        +      "description": "True when no bundle scan has run for this token yet: nothing has looked, not nothing was found.",
        +      "type": "boolean"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "stats": {
        +      "additionalProperties": true,
        +      "description": "Wallets seen, how many carried a readable fee setting, how many were linked, how many set none.",
        +      "type": "object"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_funding_origin1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "computedAt": {
        +      "description": "When this was computed; fromCache says whether it was served from a stored result.",
        +      "type": "string"
        +    },
        +    "coveragePct": {
        +      "description": "Share of supply attributed to an origin; dexPct and bridgedPct are real states but not attribution.",
        +      "type": "number"
        +    },
        +    "origins": {
        +      "description": "Where holder supply was funded from, as { name, share }, biggest first.",
        +      "type": "array"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "risk": {
        +      "additionalProperties": true,
        +      "description": "Verdict with label and severity.",
        +      "type": "object"
        +    },
        +    "tiers": {
        +      "description": "The same supply grouped by certainty tier, as { tier, share }.",
        +      "type": "array"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "walletCount": {
        +      "description": "Wallets resolved, with resolvedCount and unknownCount.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_holders1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "bundles": {
        +      "additionalProperties": true,
        +      "description": "Shallow bundle detection over the real wallets: detected, bundlePct, groups.",
        +      "type": "object"
        +    },
        +    "concentration": {
        +      "additionalProperties": true,
        +      "description": "top5, top10, top20 as percent of supply, counting real wallets only.",
        +      "type": "object"
        +    },
        +    "deferredUnlock": {
        +      "additionalProperties": true,
        +      "description": "Supply that unlocks back to the deployer later: pct, unlockDate, cancelablePct. Null when none.",
        +      "type": "object"
        +    },
        +    "lockedSupply": {
        +      "additionalProperties": true,
        +      "description": "pct plus a lockers array naming each escrow.",
        +      "type": "object"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "protocolHoldings": {
        +      "additionalProperties": true,
        +      "description": "What was excluded: count and totalPct.",
        +      "type": "object"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "topHolders": {
        +      "description": "Top 20 accounts: rank, address, walletAddress, amount, percentage, solBalance, isProtocol, protocolLabel.",
        +      "type": "array"
        +    },
        +    "totalHolders": {
        +      "description": "Holder count, estimated from the top accounts.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_insider_network1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "connections": {
        +      "description": "Wallet-to-wallet transfers that tie the cohort together; connectionsTotal is the count before truncation.",
        +      "type": "array"
        +    },
        +    "insiderCount": {
        +      "description": "Wallets in the connected cohort; insiderHoldingPct is the supply they hold.",
        +      "type": "number"
        +    },
        +    "locked": {
        +      "description": "True on non-Pro keys, in which case only reason, upgradeUrl and message are present.",
        +      "type": "boolean"
        +    },
        +    "nodes": {
        +      "description": "Graph nodes; clusters groups them.",
        +      "type": "array"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "totalTransfers": {
        +      "description": "Transfers behind the graph, moving transferredPct of supply.",
        +      "type": "number"
        +    },
        +    "walletConnections": {
        +      "additionalProperties": true,
        +      "description": "Per-wallet connection counts.",
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_liquidity1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "dex": {
        +      "description": "Which DEX holds the deepest pool.",
        +      "type": "string"
        +    },
        +    "lpBurnPct": {
        +      "description": "Percent of LP tokens burned; lpLockPct is the percent locked.",
        +      "type": "number"
        +    },
        +    "lpStatus": {
        +      "description": "Headline pool verdict: BURNED, LOCKED, UNLOCKED, NO LP FOUND.",
        +      "type": "string"
        +    },
        +    "poolLocks": {
        +      "description": "Per-pool lock detail with lpLockable and an lpNote in words.",
        +      "type": "array"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "risk": {
        +      "description": "Liquidity risk label; lpEvidence carries the on-chain evidence behind it.",
        +      "type": "string"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "totalLiquidityUsd": {
        +      "description": "Combined USD depth across pools; pools lists them and poolCount counts them.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_rug_score1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "bundleSubScore": {
        +      "description": "The bundle component of the score.",
        +      "type": "number"
        +    },
        +    "coverage": {
        +      "additionalProperties": true,
        +      "description": "Which inputs were available; a score without liquidity or holder data is weaker and says so.",
        +      "type": "object"
        +    },
        +    "fusion": {
        +      "additionalProperties": true,
        +      "description": "Cross-signal wallet correlation; wallets list is empty on non-Pro keys.",
        +      "type": "object"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "proChecksLocked": {
        +      "description": "How many Pro-only checks were withheld.",
        +      "type": "number"
        +    },
        +    "rugScore": {
        +      "description": "Rug probability 0 (safe) to 100 (critical). HIGHER IS MORE DANGEROUS.",
        +      "type": "number"
        +    },
        +    "signals": {
        +      "description": "Each contributing signal: what fired, its weight and its explanation.",
        +      "type": "array"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "verdict": {
        +      "description": "PROBABLY SAFE (<25), SOME RISK (25+), ELEVATED RISK (45+), HIGH RISK (60+), EXTREME RISK (75+), or RUGGED.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_smart_money1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "activeBuys": {
        +      "description": "Other tokens the smart wallets are currently buying.",
        +      "type": "array"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "summary": {
        +      "additionalProperties": true,
        +      "description": "analyzed, smartMoneyCount, verifiedCount, experiencedCount, activeTraderCount, retailCount, smartMoneyPct, avgWinRate, signal.",
        +      "type": "object"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "wallets": {
        +      "description": "Profiled holders, each classified smart money, verified, experienced, active trader or retail, with win rate.",
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_snipers1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "migrationCrankersExcluded": {
        +      "description": "Migration-crank MEV bots filtered out as infrastructure, named.",
        +      "type": "array"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "reachedGenesis": {
        +      "description": "Whether the walk reached the true first transaction. When false, partial is true and small snipers may be missing.",
        +      "type": "boolean"
        +    },
        +    "snipers": {
        +      "description": "Wallets that bought inside the launch window, capped at 30 rows.",
        +      "type": "array"
        +    },
        +    "stats": {
        +      "additionalProperties": true,
        +      "description": "Cohort totals for the window.",
        +      "type": "object"
        +    },
        +    "terminals": {
        +      "additionalProperties": true,
        +      "description": "Trading terminals the launch cohort came through; activeTerminals is who trades it now.",
        +      "type": "object"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "totalEarlyBuyers": {
        +      "description": "How many were found in total; windowSeconds and firstTxTime describe the window.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_sybil_cluster1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "bands": {
        +      "description": "Wallet clusters banded by how strongly they look like one operator.",
        +      "type": "array"
        +    },
        +    "computedAt": {
        +      "description": "When this was computed; fromCache says whether it was served from a stored result.",
        +      "type": "string"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "risk": {
        +      "additionalProperties": true,
        +      "description": "Verdict for the token with label and severity.",
        +      "type": "object"
        +    },
        +    "stats": {
        +      "additionalProperties": true,
        +      "description": "Totals across the bands: wallets clustered and the supply they hold.",
        +      "type": "object"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_token_price1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "candles": {
        +      "description": "OHLCV candles, oldest first: ts (ms), open, high, low, close, volume and *Usd values.",
        +      "type": "array"
        +    },
        +    "current": {
        +      "additionalProperties": true,
        +      "description": "Latest close as current.priceUsd.",
        +      "type": "object"
        +    },
        +    "high": {
        +      "additionalProperties": true,
        +      "description": "Window high as priceUsd plus ts; low is the same shape.",
        +      "type": "object"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "priceChange": {
        +      "description": "Percent change from the first candle to the last. Null when it cannot be computed.",
        +      "type": "number"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "totalCandles": {
        +      "description": "Number of candles; a token with no chart data answers 0.",
        +      "type": "number"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_token_scan1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "analyzedAt": {
        +      "description": "ISO time of the scan itself.",
        +      "type": "string"
        +    },
        +    "creator": {
        +      "additionalProperties": true,
        +      "description": "Deployer wallet: address, walletAgeDays, solBalance, totalTransactions, tokenCreations, recentTokens, riskLevel.",
        +      "type": "object"
        +    },
        +    "holders": {
        +      "additionalProperties": true,
        +      "description": "Same body as get_holders: totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, bundles.",
        +      "type": "object"
        +    },
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "risk": {
        +      "additionalProperties": true,
        +      "description": "The SAFETY score: score (0-100, 100 is clean), rating, color, flags. Opposite direction from get_rug_score.",
        +      "type": "object"
        +    },
        +    "scanCount": {
        +      "description": "Scans of this token in the last 24h.",
        +      "type": "number"
        +    },
        +    "success": {
        +      "description": "Whether the scan completed.",
        +      "type": "boolean"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "additionalProperties": true,
        +      "description": "Token metadata: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity.",
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_usage1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "credits": {
        +      "additionalProperties": true,
        +      "description": "Overage: balance, overageEnabled, costPerRequest.",
        +      "type": "object"
        +    },
        +    "limits": {
        +      "additionalProperties": true,
        +      "description": "perMinute, perDay, perMonth; perMonth is null on grandfathered keys.",
        +      "type": "object"
        +    },
        +    "tier": {
        +      "description": "The tier this key is on.",
        +      "type": "string"
        +    },
        +    "units": {
        +      "additionalProperties": true,
        +      "description": "How metering works: one request is one unit except the heaviest EVM modules, listed in heavyOnEvm with heavyCost.",
        +      "type": "object"
        +    },
        +    "usage": {
        +      "additionalProperties": true,
        +      "description": "today, total, thisPeriod, remainingThisPeriod, periodResetsAt.",
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_whales1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "poweredBy": {
        +      "description": "Always \"DeFade.org\".",
        +      "type": "string"
        +    },
        +    "protocolAccounts": {
        +      "description": "Pools, lockers, treasuries and custodial accounts held out of the whale list, named.",
        +      "type": "array"
        +    },
        +    "summary": {
        +      "additionalProperties": true,
        +      "description": "totalWhales, totalWhalePct, dangerWhales, activeWhales, whaleRisk, whaleThreshold, largestHumanPct, protocol and Streamflow-lock totals.",
        +      "type": "object"
        +    },
        +    "terminalUsage": {
        +      "additionalProperties": true,
        +      "description": "Which trading terminals the whale cohort trades through (Pro keys).",
        +      "type": "object"
        +    },
        +    "timestamp": {
        +      "description": "ISO time the response was assembled.",
        +      "type": "string"
        +    },
        +    "token": {
        +      "description": "The address that was scanned (on get_token_scan, the full token metadata object instead)."
        +    },
        +    "whales": {
        +      "description": "Each whale: address, balance, percentage of supply, attribution label (KOL, dev-linked, exchange), txCount24h, recent buys and sells.",
        +      "type": "array"
        +    }
        +  },
        +  "type": "object"
        +}
  17. 14 tool updates
    • Changedget_bundles2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_dev_tracker2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_fee_fingerprint2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_funding_origin2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_holders2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_insider_network2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_liquidity2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_rug_score2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_smart_money2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_snipers2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_sybil_cluster2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_token_price2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_token_scan2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
    • Changedget_whales2 fields changed
      • changedInput schema / properties / address / description
        Previous value: -"Token contract address. A base58 mint for Solana, or 0x-prefixed for EVM chains. Set `chain` to match — a 0x address alone cannot say which EVM chain it lives on."New value: +"The token's own contract address, exactly as an explorer shows it. Solana: the base58 mint, 32-44 characters (e.g. 6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN). EVM: 0x followed by 40 hex characters, case-insensitive (e.g. 0x6982508145454ce325ddbe47a25d4ec3d2311933). Never a pool, pair, wallet or deployer address — those come back as not found. Set `chain` to match the address: a 0x address alone cannot say which EVM chain it lives on, and a Solana mint sent with an EVM chain is rejected."
      • changedInput schema / properties / chain / description
        Previous value: -"Which chain the address lives on. Defaults to solana."New value: +"Chain the token is deployed on: solana (default), ethereum, base, robinhood. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan."
  18. 4 tool updates
    • Removedget_api_usage
    • Addedget_token_scan
    • Addedget_usage
    • Removedscan_token
  19. 2 tool updates
    • Removedcheck_api_usage
    • Addedget_api_usage
  20. 2 tool updates
    • Addedget_bundles
    • Removedget_bundles_pro

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Rug pull risk scores and on-chain forensics for memecoins on Solana, Ethereum, Base and Robinhood Chain - launch-bundle detection, funding-origin tracing, deployer history, insider networks and whale flow. 15 read-only tools.
    15
    17 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Provides on-chain forensic checks for evaluating transaction risks, including token verification, rug-pull detection, and fund tracing, using public blockchain endpoints.
    12
    39 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources