Skip to main content
Glama
DeFadeLtd

DeFade

Official

DeFade SDK

npm CI license defade-sdk MCP server

Official JavaScript/TypeScript client for the DeFade API — rug pull risk scores and on-chain behavioral forensics for tokens on Solana, Ethereum, Base and Robinhood Chain: launch-block bundle detection, multi-hop funding-origin tracing, deployer history, insider networks, sniper bots, smart-money flow, liquidity verification.

DeFade answers a different question than contract scanners. Not "does this token's code look wrong?" but "did the wallets behind this launch behave like ruggers?" — 99.9% of confirmed Solana rugs had mint authority revoked and 72.9% had locked LP, so token state alone no longer separates safe from staged.

  • Zero dependencies. Node 18+ (uses global fetch). CJS and ESM.

  • Thin by design. Responses are the API's JSON, unmodified. client.get() reaches any endpoint the SDK hasn't wrapped yet.

  • Also an MCP server — Claude and ChatGPT can run real scans through the same API. See below.

Install

npm install defade

Get an API key at defade.org/developers (keys start with df_).

Related MCP server: MemeOracle

Quickstart

import DeFade from 'defade';

const client = new DeFade({ apiKey: process.env.DEFADE_API_KEY });

// Full multi-module scan — returns a SAFETY score (100 = clean)
const scan = await client.analyze('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN');

// Rug pull probability (100 = dangerous) with the evidence behind it
const risk = await client.rugScore('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN');

// Any endpoint takes ?chain= — omitted means solana
const eth = await client.holders('0x6982508145454ce325ddbe47a25d4ec3d2311933', { chain: 'ethereum' });
WARNING

The two scores point in opposite directions. analyze() returns a safety score — 100 is clean. rugScore() returns a rug pull probability — 100 is dangerous. Reading a 90 safety score as "90% chance of rug" produces exactly the wrong answer. Every method's JSDoc restates this.

Endpoints

All token methods take (address, { chain? }) and return the API's parsed JSON.

Group

Methods

Scan & scores

analyze, rugScore

Token state

tokenPrice, holders, liquidity, socials

Launch forensics

bundles, bundlesPro, historicalBundles, snipers, devTracker, feeFingerprint

Wallet networks

insiderNetwork, fundingOrigin, fundingGraph, sybilCluster

Money flow

whales, smartMoney, copyTraders, kol

Cross-token

holderOverlap(mints[]), trending

Account

usage

Escape hatch

get(path, params) — any /v1 path

The API describes itself at GET https://api.defade.org/v1 — endpoint list, plans, unit costs, rate limits and supported chains, always current. From code: await DeFade.discover().

Chains

solana (default), ethereum, base, robinhood. Pass { chain: 'base' } on any token method. EVM chains require an All-Chains plan; a few EVM modules that walk funding graphs cost more units than a standard request — the discovery document lists which, and defade.org/developers has current pricing.

Errors

Every failure throws DeFadeError with .status (HTTP status, 0 for network/timeout) and .body (the API's error JSON when present). Rate-limited calls throw with status 429; client.usage() shows your remaining units and limits. Full scans can take tens of seconds on fresh tokens — the default timeout is 120s, configurable via timeoutMs.

import DeFade, { DeFadeError } from 'defade';

try {
  await client.analyze(mint);
} catch (e) {
  if (e instanceof DeFadeError && e.status === 429) {
    // back off; e.body has details
  }
}

MCP connector: scan from Claude & ChatGPT

The same API is exposed as a remote MCP server, so AI assistants can run real scans in-conversation instead of recalling stale training data:

  • URL: https://api.defade.org/mcp (transport: streamable-http)

  • Auth: x-api-key header, or ?api_key=YOUR_KEY for clients that can't set headers

  • Registry: published as org.defade/defade in the official MCP Registry

Add it to Claude Code:

claude mcp add --transport http defade "https://api.defade.org/mcp?api_key=YOUR_KEY"

In Claude or ChatGPT, add a custom connector with the URL above. Tool calls are metered against your key exactly like REST calls. Full instructions: defade.org/api-docs#mcp.

stdio transport (Claude Desktop, local clients)

This package also ships defade-mcp, a local stdio MCP server that proxies to the hosted endpoint — for clients that only launch local commands:

{
  "mcpServers": {
    "defade": {
      "command": "npx",
      "args": ["-y", "defade-mcp"],
      "env": { "DEFADE_API_KEY": "df_your_key" }
    }
  }
}

Keyless runs still handshake and list tools; scan tools then reply with instructions to get a key. DEFADE_MCP_URL overrides the upstream endpoint for testing.

License

MIT © DeFade Ltd. This SDK is open source; the DeFade API it talks to is a hosted commercial service with a free tier.

Available Tools

15 tools
get_dev_trackerDev wallet trackingA
Read-onlyIdempotent

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, fully exited on a fresh token is a warning, and transferred out to fresh wallets is the single strongest rug signal DeFade tracks. Not for wallets other than the creator (get_whales, get_wallet_links) or for the creator's earlier tokens. Arguments: address and chain; one API unit on any chain.

ParametersJSON 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

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 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.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safe read-only nature is covered. The description adds meaningful context beyond annotations: the interpretive meaning of the results and the cost ('one API unit on any chain'). No contradiction with annotations exists.

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?

The description is compact and front-loaded with the core function, followed by interpretation, exclusions, and cost. Every sentence contributes essential guidance; the only minor redundancy is repeating 'address and chain' when the schema already lists them, but the API unit detail justifies that sentence.

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 selecting and invoking the tool correctly, the description plus schema cover everything needed: purpose, interpretation, exclusions, parameter formats, defaults, and cost. An output schema exists, so return values need not be described. There are no significant gaps.

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 thoroughly documents address and chain, including formats and chain requirements. The description adds only the note about one API unit, which is cost-related rather than parameter semantics. 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 names a specific verb and resource: analyzing what the token's creator did with their supply, covering retained share, sales vs transfers, and transfer destinations. It explicitly differentiates itself from siblings like get_whales and get_wallet_links by stating it is not for non-creator wallets or the creator's earlier tokens.

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 clear when-to-use and when-not-to-use guidance: it is for the creator's behavior on the current token, not for other wallets or earlier tokens, with named alternatives. It also explains how to interpret the output (neutral holding, warning on full exit, strongest rug signal for fresh-wallet transfers), helping an agent decide when this tool is the right choice.

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

get_fee_fingerprintShared fee-setting fingerprintA
Read-onlyIdempotent

Wallets whose transactions pin an identical compute-unit price or Jito tip — one operator's bot settings showing up across every wallet it drives. This is a shared-CONFIGURATION link, not a timing one: 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. Solana only. Do not call it for EVM addresses — pass chain solana or omit chain — and do not read a match as proof of coordinated buying; it is corroboration only. Arguments: address only in practice — chain must be solana or omitted, and an EVM chain is rejected with an error before any request is spent. One API unit.

ParametersJSON 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

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.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, and open-world behavior. The description adds useful behavioral context: matches can occur days apart, EVM chains are rejected before any request is spent, and this is corroboration only. However, the claim that EVM chains are rejected conflicts with the schema's EVM enum and plan note, making that particular behavioral disclosure unreliable.

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?

The description is front-loaded with the concept, then gives usage and invocation constraints. It is a bit repetitive around the Solana-only and not-proof-of-bundling caveats, but the warnings are important enough that the redundancy is minor.

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

Completeness3/5

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

The tool is simple with only two parameters and one required, and an output schema exists, so the description does not need to explain return values. It covers purpose, usage, caveats, and cost, but the unresolved contradiction about EVM support between the description and the schema means an agent still cannot confidently invoke it for all advertised chain values.

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

Parameters2/5

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

Schema coverage is 100%, so the baseline is 3, but the description narrows chain handling to 'solana or omitted' and says EVM chains are rejected, directly contradicting the schema's chain enum and its note about EVM chains requiring an All-Chains plan. This conflicting guidance makes it harder, not easier, for an agent to correctly set the chain parameter.

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 states a specific verb and resource: it identifies wallets that pin identical compute-unit prices or Jito tips, i.e. a shared fee-setting fingerprint. It also explicitly distinguishes this from a timing link and positions it as corroboration for get_lookalike_clusters, so an agent can tell what this tool uniquely does.

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 says exactly when to use it: corroborate get_lookalike_clusters and catch operators who re-entered through fresh wallets. It also gives explicit negative guidance: do not call for EVM addresses, do not read a match as proof of coordinated buying, and pass chain solana or omit it.

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

get_funding_sourcesFunding provenanceA
Read-onlyIdempotent

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 graph (that is get_wallet_links) or group look-alike behaviour (get_lookalike_clusters). Not for the creator's own activity (get_dev_tracker) or launch-window buying (get_launch_bundles, get_launch_snipers). 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, 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

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.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the read-only/idempotent annotations, the description reveals important behavior: it walks funding chains back, tiers sources by KYC status, answers provenance only, and charges 5 API units on EVM chains due to paid indexers. This is valuable operational context not present in annotations or 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?

The description is information-dense but every sentence earns its place: core behavior, use case, exclusions with sibling names, and cost implications. It is well front-loaded and avoids 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 tool with a complete input schema and an output schema present, the description covers the remaining contextual needs: what problem it solves, what it intentionally does not do, when to use alternatives, and cost behavior. Nothing essential is missing.

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 coverage is 100%, so the description does not need to re-explain address and chain formats. It does add the cost implication tied to EVM chains, which is useful, but the parameter meaning itself is fully carried by the input schema.

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 and resource: 'Multi-hop tracing of where the money behind this token's key wallets actually came from.' It clearly differentiates from siblings by explicitly naming get_wallet_links, get_lookalike_clusters, get_dev_tracker, get_launch_bundles, and get_launch_snipers as what this tool is not.

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 gives a concrete use case: testing whether several 'unrelated' holders share one funding source. It also names exclusions and alternatives explicitly, so an agent knows when not to select this tool and which sibling to pick instead.

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

get_holdersHolder distributionA
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.

ParametersJSON 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

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.

TDQS

A4.6/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, so the safety profile is covered. The description adds valuable behavioral context beyond that: addresses are classified (liquidity pools, burn addresses, lockers, exchange wallets, contracts are filtered out), the return comes in a single response with no pagination, and the API unit cost is one on any chain. This exceeds the baseline for a read-only tool, though it stops short of detailing the exact response format.

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?

The description is dense but efficient: first sentence defines the tool and its classification behavior, second sentence explains the output shape and use case, third sentence routes to alternatives, and the final sentence covers arguments and cost. It is slightly long, but every clause earns its place and the most important distinguishing behavior is front-loaded.

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-parameter read-only tool with a full output schema present and 100% parameter documentation, the description covers everything needed to select and invoke correctly: purpose, exclusions, sibling routing, chain/address matching rules, response shape, and cost. The output schema covers return details, so the description doesn't need to. No gaps.

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?

Schema coverage is 100%, so the schema already documents both parameters thoroughly. The description adds meaningful cross-parameter context: the address parameter is tied to chain selection ('Set chain to match the address'), and it reinforces that pool/pair/wallet/deployer addresses are not accepted. This supplements rather than repeats the schema.

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 states a specific verb and resource ('Holder distribution for one token') and distinguishes itself from several siblings by naming what it is not: get_whales, get_wallet_links, get_lookalike_clusters, and get_liquidity. The phrase 'so the top-holder list reflects actual holders' clarifies the core value proposition, making the tool's purpose unmistakable.

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?

The description gives explicit when-to-use guidance ('Use it to answer how concentrated the supply is and whether a few wallets could collapse the chart') and explicit when-not-to-use guidance with named alternatives ('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)'). This is exactly the kind of routing information an agent needs.

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

get_launch_bundlesLaunch-window bundlesA
Read-onlyIdempotent

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, 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

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.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark this read-only, idempotent, and non-destructive. The description adds meaningful behavioral context beyond those: bundles are counted on peak net exposure rather than raw buy count, wallets that flipped are excluded, and heavy bundling that is still held is a rug predictor. It also discloses API-unit cost. This is rich, non-obvious behavioral disclosure with no contradiction.

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?

The description is one focused paragraph that front-loads the core definition, explains why the metric matters, gives explicit use and non-use cases, and closes with arguments and cost. Every sentence earns its place without repetition or 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?

Given the output schema exists, annotations cover safety, and the schema covers both parameters at 100%, the description is complete. It adds the missing contextual layer: when to use it, when not to, what the signal means, and what it costs. No important gap remains for an agent selecting and invoking this tool.

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 both the chain enum/descriptions and the address format guidance are already fully detailed in the input schema. The tool description only names 'address and chain' and adds an API-unit cost note, which is useful but not needed for parameter semantics. 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 states a specific verb and resource: 'bundle detection for one token'. It also explains the methodology (coordinated buys plus delayed sweeps, accounted on peak net exposure) and explicitly distinguishes itself from sibling tools like get_launch_snipers, get_lookalike_clusters, and get_dev_tracker. No ambiguity about what this tool does.

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 gives an explicit use case: any 'was this launch bundled' question. It then states what it is not for, naming concrete alternatives for lone fast buyers, post-launch clusters, and creator selling. It also adds cost context with 'one API unit on any chain', which helps an agent decide when to invoke it.

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

get_launch_snipersFirst-block snipersA
Read-onlyIdempotent

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, 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

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.

TDQS

A4.7/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the read-only/idempotent hints: partial results when reachedGenesis is false, caching duration differences (10 minutes vs 2 hours), a 30-row cap with totalEarlyBuyers holding the full count, and the explicit handling of migration-crank MEV bots. These details are valuable and not present in 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?

Every sentence carries operational value: scope, window, row limits, exclusion behavior, caching caveats, use case, alternatives, and cost. The description is front-loaded with the core purpose and then layers constraints and guidance in a logical order without repetition or 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?

The tool is fully contextualized: it explains what the result means, how to interpret a partial result, when to use alternatives, what arguments are needed, and the API cost. With an output schema present and rich annotations, this description leaves no important gap for an agent invoking the tool 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 baseline is 3; the schema already thoroughly documents the address and chain parameters, including formats, defaults, and rejection behavior. The description only restates 'Arguments: address and chain' without adding new parameter-level semantics, so it does not justify a higher score.

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 clearly identifies the resource (bots that bought in the first block/seconds of a token launch) and the specific information returned (whether they are connected to the deployer). It further distinguishes itself from siblings by explicitly naming get_launch_bundles and get_wallet_links as the tools for different cases, so an agent can tell this tool apart without inspecting schemas.

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?

The description states the intended use: 'Use it to tell an organic launch from a pre-arranged one.' It also gives explicit exclusions: 'Not for coordinated multi-wallet launch buying (get_launch_bundles) or the deployer's funding of other wallets (get_wallet_links).' This gives clear when-to-use versus when-not-to-use guidance, including named alternatives.

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

get_liquidityLiquidity analysisA
Read-onlyIdempotent

Liquidity pool analysis for one token, including burn and lock verification and pool depth. Use it to answer whether liquidity is locked, how deep it is, and whether the position could be pulled. Not for price, market cap or volume (get_token_price) or holder concentration (get_holders). A token with no pool returns empty liquidity data, which is itself a warning on a token that is trading. Arguments: address and chain; one API unit on any chain.

ParametersJSON 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

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: BURNED, LOCKED, UNLOCKED, NO LP FOUND.
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.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already signal readOnly and non-destructive behavior. The description adds valuable edge-case behavior: a token with no pool returns empty liquidity data, which is itself a warning. It also notes the API cost of one unit on any chain. This goes beyond what annotations alone provide, though it stops short of describing exact response structure or rate limits.

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?

The description is compact and front-loaded with the core purpose, followed by usage boundaries and a key edge case. Every sentence earns its place, and there is no redundant restating of the title or schema.

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-parameter, read-only analysis tool with a rich schema and output schema present, the description fully covers purpose, alternatives, common failure mode, and cost. An agent has enough context to select and invoke this tool 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 baseline is 3. The schema already explains chain enum values, defaults, address formats, and validation rules. The description only restates that the arguments are address and chain and adds a cost hint, which does not materially expand parameter semantics.

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 and resource: "Liquidity pool analysis for one token, including burn and lock verification and pool depth." It clearly distinguishes this tool from likely confusable siblings by naming get_token_price and get_holders and stating what it is not for.

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 use the tool: to answer whether liquidity is locked, how deep it is, and whether the position could be pulled. It also names alternatives for price/market cap/volume and holder concentration, giving clear exclusions.

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

get_lookalike_clustersBehavioural sybil clustersA
Read-onlyIdempotent

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 on Solana. Not for proven transfer or funding links (get_wallet_links) 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, 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

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.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/idempotent hints, and the description adds meaningful context beyond them: the EVM cost multiplier (5 API units vs 1), the All-Chains plan key requirement for EVM chains, and the guarantee that unsupported values are rejected before any request is spent. This is exactly the cost/auth/validation context the rubric credits.

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?

Approximately 100 words covering definition, differentiation, usage, exclusions, and cost—appropriately sized for the tool's complexity and front-loaded with the core concept. Minor redundancy: get_wallet_links differentiation appears twice ('That behavioral inference is what separates it...' and 'Not for proven transfer or funding links (get_wallet_links)').

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?

With a rich output schema, detailed param schema, and safety annotations in place, the description completes the picture: what the tool infers, when to prefer it, what to corroborate with, what it is not for, and the cost/plan caveats. No critical gap remains 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.

Parameters3/5

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

Schema coverage is 100%, with both address and chain fully documented (formats, examples, defaults, rejection cases), so the baseline is 3. The description adds only marginal value—'Arguments: address and chain' and the cost implication of choosing an EVM chain—over what the schema already states.

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, vivid definition—clusters of wallets behaving as a single actor via buyssized and timed alike, even without transfer/funding trails—and explicitly separatees itself from get_wallet_links which only reports proven links. The verb+resource (identify behavioral sybil clusters around a token) is unambigous and distinguishes the tool from its siblings.

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 explicit when-to-use conditions ('when supply looks distributed across many small wallets and the insider graph comes back clean'), a corroboration suggestion (get_fee_fingerprint on Solana), and explicit when-not-to-use exclusions naming the alternatives (get_wallet_links for proven links, get_launch_bundles for launch-window coordination). Nothing is left to inference.

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

get_rug_scoreRug pull probabilityA
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.

ParametersJSON 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

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 RUGGED.
coverageNoWhich inputs were available; a score without liquidity or holder data is weaker and says so.
rugScoreNoRug probability 0 (safe) to 100 (critical). HIGHER IS MORE DANGEROUS.
poweredByNoAlways "DeFade.org".
timestampNoISO time the response was assembled.
bundleSubScoreNoThe bundle component of the score.
proChecksLockedNoHow many Pro-only checks were withheld.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark readOnly, idempotent, openWworld, and non-destructive, so the safety profile is covered. The description adds valuable context beyond annotations: the score direction (higher = more dangerous), what the verdict/signals do and do not include (no wallet list), and a cost/unit hint ('one API unit on any chain'). No contradiction with annotations.

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?

Four sentences, each earning its place: core result, directional contrast, explicit routing to siblings, and a brief argument/cost note. The key scope and danger direction are front-loaded. Slightly long but no wasted words; could be trimmed by merging the argument sentence, yet it remains tight.

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

Completeness4/5

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

Given the rich input schema, present output schema, and annotations, the description covers what the tool returns (score, label, signals), what it does not return (wallet evidence), when to use it, and cost. The only minor gap is that it does not describe pagination or additional output details, but the output schema and the explicit 'does not list wallets' caveat keep it complete enough for correct invocation.

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 already gives thorough details for address (format, length, example, invalid input warnings) and chain (enum, default, why it is required for EVM). The description merely says 'Arguments: address and chain' and adds an API cost note, which is useful but does not add semantic meaning 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 names a specific verb and resource ('Rug pull probability for one token') and gives the precise output shape: a 0-100 score with direction (HIGHER MEANS MORE DANGEROUS), a verdict label, and the driving signals. It also explicitly differentiates from the get_token_scan safety score, so an agent can tell them apart without opening the schema.

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 states exactly when to call ('ONLY when the user explicitly asks for a rug probability or rug likelihood') and explicitly routes all general safety/buy questions to get_token_scan. It also names alternatives for the wallet evidence use case (get_wallet_links, get_dev_tracker, get_launch_bundles), giving clear when/when-not and alternative guidance.

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

get_smart_moneySmart moneyA
Read-onlyIdempotent

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, 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

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.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: it is computed live from the current holder set, cached for about five minutes, and the 'verified' tag has a defined win-rate threshold. No contradiction with annotations.

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?

The description is dense but efficient: definition, freshness, usage, exclusions, and cost all in a compact paragraph. The trailing 'Arguments: address and chain; one API unit on any chain' is slightly redundant with the schema, but every other sentence earns its place.

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 read-only, 2-parameter tool with full schema coverage and an output schema, the description is complete: it covers purpose, freshness, threshold logic, when to use when not to, and cost. Return-value details are delegated to the output schema, which is appropriate.

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 baseline is 3; the schema already documents address format, chain enum, defaults, and validation rules. The description only names the arguments ('address and chain') and the API cost, adding no meaning beyond the schema.

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 precise definition: wallets with a track record of profitable entries that are holding or trading this token, classified from historical win rates. It also specifies the 'verified' threshold (50% win rate), which sharpens the concept beyond the tool name. It distinguishes itself from siblings by explicitly stating what it is not (risk assessment, wallet size).

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 gives an explicit use case: 'Use it for the bullish side of a scan: who informed is in, and when they got in.' It names the sibling for the excluded use case (get_whales for wallet size) and states that informed presence never offsets a rug signal, so an agent won't misuse it for risk decisions.

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

get_token_priceToken priceA
Read-onlyIdempotent

Current market data for one token — price, market cap, liquidity, volume and recent OHLCV candles — aggregated from DEX market sources and cached for about a minute, so figures are near-live but not a tick-by-tick trading feed. A token with no liquidity pool returns empty market data rather than an error. Use it for the market context around a risk verdict. Not for risk of any kind — market data carries no forensic signal — and not for long price history beyond the recent candles. Arguments: address and chain; one API unit on any chain.

ParametersJSON 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

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.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations: the near-live cached nature ('cached for about a minute, so figures are near-live but not a tick-by-tick trading feed') and the empty-data behavior for tokens with no liquidity pool ('returns empty market data rather than an error'). This is genuinely useful for an agent deciding whether to call this tool.

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?

The description is compact, information-dense, and logically ordered: what it returns, freshness, edge behavior, usage context, exclusions, and cost. Every sentence earns its place, and the most decision-relevant facts (what data, non-live nature) are front-loaded. No filler or repetition of schema fields.

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?

Given the annotations cover read-only/idempotent safety, the schema covers parameters, and the output schema presumably defines the return shape, the description covers all remaining operational context: freshness, empty-result behavior, use cases, exclusions, and cost. An agent has everything needed to invoke it correctly and avoid the risk-specific siblings.

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?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds value by giving context about the market-data aggregation source and by connecting the parameters to usage context ('Arguments: address and chain; one API unit on any chain'), but most parameter semantics are already in the schema. A 4 reflects that the description doesn't materially extend param meaning but does reinforce the cost implication.

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 precise verb-resource pairing ('Current market data for one token') and enumerates the exact fields returned (price, market cap, liquidity, volume, recent OHLCV candles). It clearly distinguishes this tool from siblings like get_liquidity or get_rug_score by stating what it is not: not a risk signal and not a long price history feed.

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?

Explicit when-to-use guidance is given: 'Use it for the market context around a risk verdict.' It also provides explicit when-not-to-use guidance: 'Not for risk of any kind — market data carries no forensic signal — and not for long price history beyond the recent candles.' With sibling tools like get_rug_score and get_token_scan, this exclusion is essential and it is clearly stated.

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

get_token_scanScan a tokenA
Read-onlyIdempotent

Run a full DeFade scan on one token contract: token metadata, holder distribution, creator info 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, 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

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".
scanCountNoScans of this token in the last 24h.
timestampNoISO time the response was assembled.
analyzedAtNoISO time of the scan itself.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive safety. The description adds valuable behavioral context beyond that: the safety-score orientation ('risk.score as a SAFETY score where 100 is clean and low numbers are dangerous'), the rating label, and cost semantics ('one API unit on any chain'). This materially changes how the agent should interpret results and plan calls.

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?

The description is front-loaded with the core action, then adds usage guidance, score semantics, exclusions, and cost in a compact sequence. Every sentence carries distinct information and nothing is redundant or 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?

Given the output schema exists, the description covers the non-obvious aspects: when to choose this tool, how to interpret risk.score, what it is not for, and API cost. Combined with the rich parameter schema and annotations, nothing critical is missing for an agent to correctly invoke this tool.

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 already documents chain enum and address formats in detail. The description only restates 'Arguments: address and chain' without adding new parameter meaning, so the 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?

The description states a specific verb and resource: 'Run a full DeFade scan on one token contract' and enumerates what is included (metadata, holder distribution, creator info, risk verdict). It also distinguishes itself from siblings by naming get_rug_score for the inverse question and listing exclusions like get_token_price and get_usage.

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 tells the agent to 'Start here for any "is this token safe", "is this a rug pull" or "should I buy this" question,' then gives precise when-not-to-use cases: single modules, price/market-cap queries, and quota checks, each with the alternative tool named.

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

get_usageAPI usageA
Read-onlyIdempotent

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.
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 convey read-only, idempotent, and non-destructive behavior. The description adds context that the tool reports on the API key itself, not an address, and explains its diagnostic value for quota failures. This exceeds the annotation baseline without contradicting it.

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 short sentences: the first delivers the core function, the second gives usage triggers, the third clarifies the boundary versus siblings. No filler words, with the most important information front-loaded.

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 parameterless, read-only tool with an output schema and comprehensive annotations, the description covers purpose, scope, and usage conditions. Nothing an agent needs to invoke it correctly is missing.

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 the schema already covers everything. The description confirms this with 'Takes no arguments,' adding no unnecessary detail while reinforcing the schema's emptiness.

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 states a specific verb ('Report') and resource ('calling API key's plan, rate limits and monthly allowance'), immediately distinguishing it from all sibling token-focused tools. The explicit exclusion of token functionality ('Not for anything about a token') further eliminates ambiguity.

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?

The description gives explicit trigger conditions: 'Use it when a call fails on quota, or when the user asks what their DeFade plan includes.' It also states what it is not for ('Not for anything about a token') and clarifies the contrast with every other tool in the suite.

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

get_whalesWhale activityA
Read-onlyIdempotent

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. 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, 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

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 (KOL, 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.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses a 15-minute cache lag, the empty-state behavior with largestHumanPct, and the summary outputs including dangerous/active whale counts and a risk verdict. This adds substantial behavioral context the annotations do not provide.

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?

Every sentence earns its place: definition, row contents, cache behavior, empty state, usage guidance, exclusions, and arguments/cost. The description is dense but well-organized and front-loads the core definition before routing and parameters.

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?

The description covers what the tool returns, how results are scoped, caching constraints, empty-state behavior, when to use it, when not to use it, and parameter notes. Combined with the output schema and annotations, an agent has everything needed to select and invoke the tool 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 already documents address format, chain enum, and validation behavior in detail. The description only mentions 'address and chain' and adds the API-unit cost note, which is useful but not a meaningful semantic expansion over the schema.

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 states a specific, well-defined resource: wallets holding at least 1% of supply after removing pools, lockers, treasuries, and custodial accounts. It clearly differentiates the tool from siblings like get_holders, get_smart_money, and get_dev_tracker by stating what it is not for.

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 says to use it after get_holders when the question is about who can dump and whether they are already dumping. It also names the alternatives it is not for, giving the agent clear routing guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 15 tool updatesv0.1.0
    • First observedget_dev_tracker
    • First observedget_fee_fingerprint
    • First observedget_funding_sources
    • First observedget_holders
    • First observedget_launch_bundles
    • First observedget_launch_snipers
    • First observedget_liquidity
    • First observedget_lookalike_clusters
    • First observedget_rug_score
    • First observedget_smart_money
    • First observedget_token_price
    • First observedget_token_scan
    • First observedget_usage
    • First observedget_wallet_links
    • First observedget_whales

TDQS

A4.4/5.0
Disambiguation4/5

Most tools are cleanly separated by their focus, and the cross-references are unusually helpful. The forensic family is still subtle: get_wallet_links, get_funding_sources, get_lookalike_clusters, and get_fee_fingerprint all address 'who is really behind this token' from different angles, which could cause misselection without careful reading.

Naming Consistency5/5

Every tool follows the get_ prefix with snake_case and a concrete resource or concept name. The pattern is completely uniform, and names like holders, whales, liquidity, dev_tracker, and fee_fingerprint accurately suggest their subject.

Tool Count5/5

Fifteen tools sits at the upper end of the ideal range, but each endpoint earns its place by covering a distinct analytical question: aggregate risk, rug probability, holder distribution, whale activity, liquidity, launch behavior, wallet connections, smart money, dev behavior, market data, and usage. There is no clear redundancy.

Completeness4/5

The tool surface is broad and covers the core token-risk workflow end to end: scan, rug score, holders, liquidity, launch forensics, wallet links, smart money, dev tracking, price, and usage. Minor gaps remain, such as no tool for a creator's historical tokens or longer price history, but agents can generally work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DeFadeLtd/defade-sdk'

If you have feedback or need assistance with the MCP directory API, please join our Discord server