Solana token/wallet rug-risk scoring. Free scan; $2 SOL unlocks full wallet report. No signup.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Grade one Solana token mint for rug risk: 0-100 safety score, A-F grade and itemised flags. Free. Checks mint/freeze authority, Token-2022 traps (transfer fee, hook, permanent delegate, pause), mutable metadata, pump.fun curve status, top-holder concentration (wallets vs pools), liquidity, pair age, FDV/liquidity, volume/liquidity, buy/sell imbalance. Does NOT check LP locks. Use it before buying one token; to grade everything a wallet holds use wallet_sweep instead. Unknown or unlisted mints still return on-chain checks with found=false. Errors (isError=true): malformed mint. Live data from Solana RPC + DexScreener, typically 1-4 s.
Token mint address (base58, 32-44 chars), e.g. DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 (BONK). Not a wallet or pair address.
Grade one Solana token mint for rug risk: 0-100 safety score, A-F grade and itemised flags. Free. Checks mint/freeze authority, Token-2022 traps (transfer fee, hook, permanent delegate, pause), mutable metadata, pump.fun curve status, top-holder concentration (wallets vs pools), liquidity, pair age, FDV/liquidity, volume/liquidity, buy/sell imbalance. Does NOT check LP locks. Use it before buying one token; to grade everything a wallet holds use wallet_sweep instead. Unknown or unlisted mints still return on-chain checks with found=false. Errors (isError=true): malformed mint. Live data from Solana RPC + DexScreener, typically 1-4 s.
| Argument | Type | Description |
|---|---|---|
| mint* | string | Token mint address (base58, 32-44 chars), e.g. DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 (BONK). Not a wallet or pair address. |
{
"type": "object",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Token mint address (base58, 32-44 chars), e.g. DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 (BONK). Not a wallet or pair address."
}
},
"additionalProperties": false
}Grade every token a Solana wallet holds for rug risk in one call (up to 40 holdings). Free: totals plus the 3 riskiest holdings. Paid ($1 in SOL, one time per wallet): every holding itemised. This one tool covers the whole paid flow: an unpaid result includes payment.pay_to and payment.amount_sol; send exactly that amount (the amount identifies the wallet), then call wallet_sweep again with the same address and it returns status=full once the payment is seen on chain (usually within 30 s). Use solsnap_scan for a single token. Errors (isError=true): malformed address. Empty wallets return tokens_held=0.
| Argument | Type | Description |
|---|---|---|
| address* | string | Wallet (owner) address, base58 32-44 chars. Not a token mint. |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Wallet (owner) address, base58 32-44 chars. Not a token mint."
}
},
"additionalProperties": false
}Optional helper: returns only the SOL amount and address that unlock the full wallet_sweep report for one wallet (the same details wallet_sweep already includes when unpaid). Send the exact amount; then call wallet_sweep again. Errors (isError=true): malformed address.
| Argument | Type | Description |
|---|---|---|
| address* | string | Wallet address the report is for |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Wallet address the report is for"
}
},
"additionalProperties": false
}Legacy alias of wallet_sweep kept for older clients: returns status=full with every holding once the wallet's payment has settled, otherwise status=not_paid with payment details. Prefer wallet_sweep. Errors (isError=true): malformed address.
| Argument | Type | Description |
|---|---|---|
| address* | string | Wallet address the report was requested for |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Wallet address the report was requested for"
}
},
"additionalProperties": false
}