Skip to main content
Glama

DeFade — Multi-Chain Memecoin Analyzer

Scan a token

get_token_scan
Read-onlyIdempotent

Run a full DeFade scan on one token contract. On Solana: token metadata, holder distribution, creator history (wallet age, previous token launches) and the headline risk verdict. On an EVM chain: the contract and market read only (token metadata with the owner and the mint, blacklist, whitelist and proxy flags, market, pairs and warnings), with no holders, creator or score; call get_rug_score there for the verdict. Start here for any "is this token safe", "is this a rug pull" or "should I buy this" question, then call get_rug_score for the verdict: the safety score here weighs only holders, creator and authorities. On Solana 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.

Input Schema

NameRequiredDescriptionDefault
chainNoChain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm, monad. 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

NameRequiredDescriptionDefault
riskNoSolana only. The SAFETY score: score (0-100, 100 is clean), rating, color, flags. Opposite direction from get_rug_score. Absent on EVM chains, where get_rug_score is the score.
tokenNoToken metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea, based.bid …; DEX or Unknown when none) and whose mayhem is set on a pump.fun coin launched in Mayhem mode (agent, program, mintedToAgent, endsAt; null on any other coin and once 26 hours old, absent when the curve could not be read). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, ownerLaunchpad (the owner by name when it is a launch protocol's contract that owns the token only to launch it, such as Doppler's Airlock, flap.sh's Portal or four.meme's TokenManager, or a label the contract gives no powers: the owners the rug score does not count), ownerLaunchpadKind (protocol, curve, controller or label), mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid.
marketNoEVM only: the main pair — priceUsd, marketCap, fdv, liquidityUsd, volume24h, priceChange, pairCreatedAt, dex. A nad.fun token still on its curve is priced from the curve: source "curve" and curve. Null when no pair was found.
creatorNoSolana only. Deployer wallet: address, walletAgeDays, solBalance, totalTransactions, tokenCreations, recentTokens, riskLevel.
holdersNoSolana only. Same body as get_holders: totalHolderCount, holderCountCapped, totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, vesting, leftover, mayhemAgent, bundles.
successNoSolana: whether the scan completed.
warningsNoEVM only: what the contract and market read flagged, each level (critical, warning or info), code and message.
launchpadNoEVM only: the launchpad the token launched on, as the DeFade page names it: name (four.meme, flap.sh, Genius, Clanker, Zora, Virtuals, Pangea, Stockereum.fun, Pons, nad.fun, LiquidLaunch …), curve (its bonding curve, null when the launchpad has none), protocol, and onCurve and bondingProgress (0-100) for a token still on its curve. Null when no launchpad DeFade names, or the lookup did not answer in time.
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.
analyzedAtNoSolana: ISO time of the scan itself.
scanWindowNoThe window scanCount covers: "24h".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / holders / description
      Previous value: -"Solana only. Same body as get_holders: totalHolderCount, holderCountCapped, totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, bundles."New value: +"Solana only. Same body as get_holders: totalHolderCount, holderCountCapped, totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, vesting, leftover, mayhemAgent, bundles."
    • changedOutput schema / properties / token / description
      Previous value: -"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea, based.bid …; DEX or Unknown when none). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, ownerLaunchpad (the owner by name when it is a launch protocol's contract that owns the token only to launch it, such as Doppler's Airlock, flap.sh's Portal or four.meme's TokenManager, or a label the contract gives no powers: the owners the rug score does not count), ownerLaunchpadKind (protocol, curve, controller or label), mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."New value: +"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea, based.bid …; DEX or Unknown when none) and whose mayhem is set on a pump.fun coin launched in Mayhem mode (agent, program, mintedToAgent, endsAt; null on any other coin and once 26 hours old, absent when the curve could not be read). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, ownerLaunchpad (the owner by name when it is a launch protocol's contract that owns the token only to launch it, such as Doppler's Airlock, flap.sh's Portal or four.meme's TokenManager, or a label the contract gives no powers: the owners the rug score does not count), ownerLaunchpadKind (protocol, curve, controller or label), mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."
  2. Changed1 schema field changed
    • changedOutput schema / properties / token / description
      Previous value: -"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea …; DEX or Unknown when none). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, ownerLaunchpad (the owner by name when it is a launch protocol's contract that owns the token only to launch it, such as Doppler's Airlock, flap.sh's Portal or four.meme's TokenManager, or a label the contract gives no powers: the owners the rug score does not count), ownerLaunchpadKind (protocol, curve, controller or label), mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."New value: +"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea, based.bid …; DEX or Unknown when none). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, ownerLaunchpad (the owner by name when it is a launch protocol's contract that owns the token only to launch it, such as Doppler's Airlock, flap.sh's Portal or four.meme's TokenManager, or a label the contract gives no powers: the owners the rug score does not count), ownerLaunchpadKind (protocol, curve, controller or label), mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."
  3. Changed1 schema field changed
    • changedOutput schema / properties / token / description
      Previous value: -"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea …; DEX or Unknown when none). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."New value: +"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea …; DEX or Unknown when none). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, ownerLaunchpad (the owner by name when it is a launch protocol's contract that owns the token only to launch it, such as Doppler's Airlock, flap.sh's Portal or four.meme's TokenManager, or a label the contract gives no powers: the owners the rug score does not count), ownerLaunchpadKind (protocol, curve, controller or label), mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."
  4. Changed5 schema fields changed
    • changedInput schema / properties / chain / description
      Previous 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."New value: +"Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm, monad. 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",
      -  "bsc",
      -  "robinhood",
      -  "arc",
      -  "hyperevm"
      -]New value: +[
      +  "solana",
      +  "ethereum",
      +  "base",
      +  "bsc",
      +  "robinhood",
      +  "arc",
      +  "hyperevm",
      +  "monad"
      +]
    • addedOutput schema / properties / launchpad
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "EVM only: the launchpad the token launched on, as the DeFade page names it: name (four.meme, flap.sh, Genius, Clanker, Zora, Virtuals, Pangea, Stockereum.fun, Pons, nad.fun, LiquidLaunch …), curve (its bonding curve, null when the launchpad has none), protocol, and onCurve and bondingProgress (0-100) for a token still on its curve. Null when no launchpad DeFade names, or the lookup did not answer in time.",
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / market / description
      Previous value: -"EVM only: the main pair — priceUsd, marketCap, fdv, liquidityUsd, volume24h, priceChange, pairCreatedAt, dex. Null when no pair was found."New value: +"EVM only: the main pair — priceUsd, marketCap, fdv, liquidityUsd, volume24h, priceChange, pairCreatedAt, dex. A nad.fun token still on its curve is priced from the curve: source \"curve\" and curve. Null when no pair was found."
    • changedOutput schema / properties / token / description
      Previous value: -"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity. EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."New value: +"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity, and timeline, whose launchPlatform names the launchpad (pump.fun, bonk.fun, Jupiter Studio, boop.fun, MetaDAO, Pangea …; DEX or Unknown when none). EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."
  5. Changed1 schema field changed
    • changedOutput schema / properties / holders / description
      Previous value: -"Solana only. Same body as get_holders: totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, bundles."New value: +"Solana only. Same body as get_holders: totalHolderCount, holderCountCapped, totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, bundles."
  6. Changed8 schema fields changed
    • changedOutput schema / properties / analyzedAt / description
      Previous value: -"ISO time of the scan itself."New value: +"Solana: ISO time of the scan itself."
    • changedOutput schema / properties / creator / description
      Previous value: -"Deployer wallet: address, walletAgeDays, solBalance, totalTransactions, tokenCreations, recentTokens, riskLevel."New value: +"Solana only. Deployer wallet: address, walletAgeDays, solBalance, totalTransactions, tokenCreations, recentTokens, riskLevel."
    • changedOutput schema / properties / holders / description
      Previous value: -"Same body as get_holders: totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, bundles."New value: +"Solana only. Same body as get_holders: totalHolders, topHolders, concentration, protocolHoldings, lockedSupply, deferredUnlock, bundles."
    • addedOutput schema / properties / market
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "EVM only: the main pair — priceUsd, marketCap, fdv, liquidityUsd, volume24h, priceChange, pairCreatedAt, dex. Null when no pair was found.",
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / risk / description
      Previous value: -"The SAFETY score: score (0-100, 100 is clean), rating, color, flags. Opposite direction from get_rug_score."New value: +"Solana only. The SAFETY score: score (0-100, 100 is clean), rating, color, flags. Opposite direction from get_rug_score. Absent on EVM chains, where get_rug_score is the score."
    • changedOutput schema / properties / success / description
      Previous value: -"Whether the scan completed."New value: +"Solana: whether the scan completed."
    • changedOutput schema / properties / token / description
      Previous value: -"Token metadata: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity."New value: +"Token metadata. Solana: name, symbol, mint, supply, decimals, creator, mintAuthority, freezeAuthority, marketCap, liquidity. EVM: name, symbol, decimals, totalSupply, owner, ownerRenounced, mintable, hasBlacklist, hasWhitelist, isProxy, dexPaid."
    • addedOutput schema / properties / warnings
      Added value: +{
      +  "description": "EVM only: what the contract and market read flagged, each level (critical, warning or info), code and message.",
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
  7. Changed2 schema 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"
      +]
  8. Changed2 schema 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\"."
  9. Changed2 schema 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"
      +  ]
      +}
  10. Changed9 schema 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"
      +]
  11. Changed1 schema 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"
      +}
  12. Changed2 schema 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."
  13. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world, but the description adds substantial context: per-chain return composition, the fact that the safety score weighs only holders/creator/authorities, the inverted-scoring distinction vs get_rug_score, and the 'one API unit' cost with the All-Chains plan requirement for EVM.

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

Conciseness4/5

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

It is front-loaded and dense with useful routing, but it is long and references get_rug_score three times with overlapping explanation, which is somewhat redundant. Still, nearly every sentence carries actionable meaning.

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 two-param, read-only scan tool with an output schema present, the description covers scope, per-chain return differences, scoring semantics, and follow-up tools. An agent has everything needed to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents address and chain with examples and enum guidance. The description only restates 'Arguments: address and chain; one API unit on any chain,' adding little beyond the schema. Baseline 3 is appropriate.

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?

The description opens with a specific verb+resource ('Run a full DeFade scan on one token contract') and then divides behavior by chain (Solana vs EVM), making clear exactly what the tool does and how it differs from siblings like get_holders and get_rug_score.

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?

It explicitly states when to start here ('is this token safe', 'is this a rug pull'), names the follow-up/alternative tools (get_rug_score for the verdict, get_token_price for price, get_usage for quota), and lists exclusions ('not for a single module in isolation'). Routing is unambiguous.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources