Skip to main content
Glama

DeFade — Multi-Chain Memecoin Analyzer

Rug pull probability

get_rug_score
Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
chainNoChain 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.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

TableJSON Schema
NameRequiredDescriptionDefault
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.
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema 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)."
  2. Changed3 schema 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"
      +]
  3. Changed9 schema 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"
      +]
  4. Changed1 schema 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"
      +}
  5. 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."
  6. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. Beyond that, the description adds the inverted score direction relative to get_token_scan, discloses the cost ('one API unit on any chain'), and states the boundary that it names signals but does not list wallets — useful context an agent cannot get from the schema.

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?

Front-loads the return semantics and the danger direction, then the usage gate, then the exclusions, then arguments. Every clause carries routing or safety information; nothing is 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?

An output schema exists, so return values need not be detailed, yet the description still summarizes the verdict/score/signals shape accurately. Combined with the routing rules, cost note and sibling pointers, an agent has everything needed to select and invoke this 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%, and the schema's own descriptions already explain chain enum behavior, EVM ambiguity, address formats and rejection rules in depth. The description only restates 'Arguments: address and chain; one API unit on any chain', adding a cost note rather than new semantic meaning, so baseline 3 applies.

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?

States a specific verb+resource (rug pull probability for one token) and immediately defines the output semantics: a 0-100 score where higher means more dangerous, plus a verdict label and driving signals. It explicitly distinguishes itself from the sibling get_token_scan by noting the opposite scoring direction.

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?

Gives an explicit trigger condition ('ONLY when the user explicitly asks for a rug probability or rug likelihood') and routes the adjacent case ('is this safe'/'should I buy') to get_token_scan. It also names get_wallet_links, get_dev_tracker and get_launch_bundles for the related question of who is behind the risk.

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