Skip to main content
Glama

DeFade — Multi-Chain Memecoin Analyzer

Holder distribution

get_holders
Read-onlyIdempotent

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.

Input Schema

TableJSON 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

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

Schema Changelog

Changes observed during successful MCP inspections.

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

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources