Rug pull probability
get_rug_scoreRug 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. This is the verdict the DeFade website shows: call it, after get_token_scan, for every "is this safe", "is this a rug" or "should I buy" question, on every chain (on an EVM chain get_token_scan carries no score at all). When complete is false the score is partial: say so, and call again for the rest. 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 Solana, five on an EVM chain, because there the score reads every module first — check get_usage before scoring many EVM tokens.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain the token is deployed on: solana (default), ethereum, base, bsc, robinhood, arc, hyperevm, monad. Required for any 0x address, because the same contract address can exist on several EVM chains. Omit it for Solana. An unsupported value is rejected before any request is spent; EVM chains need a key on an All-Chains plan. | solana |
| address | Yes | 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. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| token | No | The address that was scanned (on get_token_scan, the full token metadata object instead). | |
| fusion | No | Cross-signal wallet correlation; wallets list is empty on non-Pro keys. | |
| pending | No | Modules still running when the score was taken; empty when it is complete. Call the tool again for the score with them in. | |
| signals | No | Each contributing signal: what fired, its weight and its explanation. | |
| verdict | No | PROBABLY SAFE (<25), SOME RISK (25+), ELEVATED RISK (45+), HIGH RISK (60+), EXTREME RISK (75+); or a state that overrides the bands: RUGGED / DEAD, ABANDONED / DEAD (failed after its market cap had once passed $5,000, or with no candles to say it never did), NEVER BONDED (a launchpad coin that never left its bonding curve — no pool ever existed), NEVER TOOK OFF (off any curve, its market cap never passed $5,000); rugScore is still returned as a number. | |
| complete | No | True when nothing is pending: every module the score reads is in it. | |
| coverage | No | "full" when the Pro signal set contributed, "free" when only the free signals did — a "free" score has seen less evidence. "partial" when a module was still running after the 25 s this tool waits (Bundle Detection on a token nobody has scanned can take a minute or more): the modules are named in pending and keep running, so call the tool again for the complete score. | |
| rugScore | No | Rug probability 0 (safe) to 100 (critical). HIGHER IS MORE DANGEROUS. | |
| poweredBy | No | Always "DeFade.org". | |
| timestamp | No | ISO time the response was assembled. | |
| scoreLabel | No | Null normally. "NEVER BONDED" or "NEVER TOOK OFF" when the human surfaces print that state instead of the percentage; rugScore is still the number. | |
| bundleSubScore | No | The bundle component of the score. | |
| proChecksLocked | No | How many Pro-only checks were withheld. |