Solana wallet PnL, win rate, bot/smart-money flags, portfolio, trending tokens. Pay per call (x402).
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.
Free health check. Does not spend USDC. Confirms the MCP server is up and does not read a wallet.
This tool takes no arguments.
Free health check. Does not spend USDC. Confirms the MCP server is up and does not read a wallet.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Free demo. Try free, then pay per call. Pass one Solana token mint and get a real rug-check: riskScore, riskLevel, a one-line verdict, the top risk flags, liquidity, market cap, age, and pump.fun status. Uses free public data only. Cached 60 seconds per mint and rate-limited to 20 calls a minute per client. The paid routes return every flag, the full on-chain checks, and wallet intelligence.
| Argument | Type | Description |
|---|---|---|
| mint* | string | Solana token mint in base58 (32 to 44 characters). Invalid mints return HTTP 400. This route is free. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mint"
],
"properties": {
"mint": {
"type": "string",
"description": "Solana token mint in base58 (32 to 44 characters). Invalid mints return HTTP 400. This route is free."
}
},
"additionalProperties": false
}Call this when you need the Solana memecoins traders are watching and a rug-check before you buy, swap, or recommend one. The list includes liquidity, market cap, pair age, 5m/1h/24h price and volume, buy/sell ratio, pump.fun bonding or graduation, and links to pump.fun, DexScreener, and Solscan. Each token has a one-line verdict, riskScore (0 clean to 100), riskLevel (low, medium, high, or unknown), and a risk breakdown with evidence and confidence: top-10 share, mint and freeze authority, LP lock percent, and sniper or bundle share of early supply. riskLevel is unknown when the holder, authority, LP, and sniper checks are all unread, and maxRisk leaves those tokens out. Holder percent falls back to the public RugCheck report at medium confidence when the public RPC cannot list the largest accounts. A successful RPC holder read is kept. Holder-concentration change over 5m/1h/24h is filled when this process has seen the mint before. A check that cannot be read says so, uses low confidence, and is not flagged. On-chain safety flags are plain-English sentences that fire when the top 10 holders own 50% or more, mint or freeze authority is still active, LP is unlocked, or snipers and bundled wallets took 20% or more of early supply. Market flags are short codes: low_liquidity, thin_volume, newly_launched, extreme_move, wash_suspect, paid_boost. Thin, new, and wash-like books are ranked down. The summary block counts tokens by risk level and names the top movers. limit is an integer from 1 to 25 and defaults to 15. minLiquidity is an optional USD floor. maxRisk is low, medium, high, or an integer from 0 to 100. Costs $0.005 USDC (5000 base units) via x402. The same price is charged for HTTP GET /token/trending. An unpaid HTTP call returns 402 even when the query is missing or invalid. A signed call with invalid arguments is rejected before settlement and is not charged. A successful result can set cached, stale, and cacheAgeMs. stale true means a previous result was served while a refresh runs or the upstream failed. You are charged only when the tool result is not an error.
| Argument | Type | Description |
|---|---|---|
| limit |
Use this when you need a wallet's first SOL funder and whether other wallets look like the same operator. Find a wallet's first SOL funder, flag wallets that share that funder or a CEX deposit address, and return a cluster id with plain-language sybil risk reasons. Labeled exchange hot wallets are not used as a cluster. Optional peers compares up to 8 other wallets. Costs $0.009 USDC (9000 base units) via x402. The same price is charged for HTTP GET /wallet/funding. An unpaid HTTP call returns 402 even when the query is missing or invalid. A signed call with invalid arguments is rejected before settlement and is not charged. A successful result can set cached, stale, and cacheAgeMs. stale true means a previous result was served while a refresh runs or the upstream failed. You are charged only when the tool result is not an error.
| Argument | Type | Description |
|---|---|---|
| peers | string | Comma-separated peer wallets, up to 8. Do not repeat the primary address. |
| address* | string | Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"peers": {
"type": "string",
"description": "Comma-separated peer wallets, up to 8. Do not repeat the primary address."
},
"address": {
"type": "string",
"description": "Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM"
}
},
"additionalProperties": false
}Free teaser. Call this before any paid wallet tool. Returns SOL balance, last active time, how many transactions landed in the last 24 hours, and a dormant or recently-active label. Does not spend USDC. Pass one base58 Solana address. Invalid addresses return an error and do not ask for payment. Upgrade to wallet_quick for a copy-trade screen, wallet_profile for priced holdings, or wallet_funding for the first SOL funder and cluster.
| Argument | Type | Description |
|---|---|---|
| address* | string | Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM"
}
},
"additionalProperties": false
}Use this when you need priced holdings and windowed PnL for one Solana wallet. Holdings valued in USD, a short plain-language summary, windowed realized and unrealized PnL, win rate, and evidence-backed labels such as active memecoin trader. Includes copyTradeScore and copyTradeGrade: copy-return after a 3s delay and a 3.6% round trip, win rate, sample-size shrinkage, and bot or insider penalties. The score is null when no close lasted at least 3 seconds. txLimit is an integer from 5 to 25 and defaults to 20. Call free wallet_preview first if you only need SOL balance and last-active time, or wallet_quick for a cheaper copy-trade screen. Costs $0.009 USDC (9000 base units) via x402. The same price is charged for HTTP GET /wallet/profile. An unpaid HTTP call returns 402 even when the query is missing or invalid. A signed call with invalid arguments is rejected before settlement and is not charged. A successful result can set cached, stale, and cacheAgeMs. stale true means a previous result was served while a refresh runs or the upstream failed. You are charged only when the tool result is not an error.
| Argument | Type | Description |
|---|---|---|
| address* | string | Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM |
| txLimit | any | Recent signatures to inspect. Integer from 5 to 25, or a numeric string. Default 20. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM"
},
"txLimit": {
"anyOf": [
{
"type": "integer",
"maximum": 25,
"minimum": 5
},
{
"type": "string",
"pattern": "^\\d+$"
}
],
"description": "Recent signatures to inspect. Integer from 5 to 25, or a numeric string. Default 20."
}
},
"additionalProperties": false
}Use this for a cheap copy-trade screen before paying for a full profile. Cheap copy-trade screen for one wallet: windowed realized PnL, win rate, closed trades, last active time, bot, exchange, net-winner and dormant flags, plus copyTradeScore and copyTradeGrade (copy-return after a 3s delay and a 3.6% round trip, win rate, sample-size shrinkage, bot and insider penalties). Free teaser at /wallet/preview; full report at /wallet/profile. Costs $0.002 USDC (2000 base units) via x402. The same price is charged for HTTP GET /wallet/quick. An unpaid HTTP call returns 402 even when the query is missing or invalid. A signed call with invalid arguments is rejected before settlement and is not charged. A successful result can set cached, stale, and cacheAgeMs. stale true means a previous result was served while a refresh runs or the upstream failed. You are charged only when the tool result is not an error.
| Argument | Type | Description |
|---|---|---|
| address* | string | Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "Solana wallet address in base58 (32 to 44 characters). Example: HD1ryR3dYSXBVNGfJZydbpmnChiE1wrAQkupWWtHt4pM"
}
},
"additionalProperties": false
}Quick screen (windowed realized PnL, win rate, copyTradeScore, copyTradeGrade, bot, exchange, net-winner and dormant flags) for up to 10 Solana wallets in one paid call, ranked by realized PnL. Pass addresses comma-separated. Costs $0.015 USDC (15000 base units) via x402. The same price is charged for HTTP GET /wallet/quick/batch. An unpaid HTTP call returns 402 even when the query is missing or invalid. A signed call with invalid arguments is rejected before settlement and is not charged. A successful result can set cached, stale, and cacheAgeMs. stale true means a previous result was served while a refresh runs or the upstream failed. You are charged only when the tool result is not an error.
| Argument | Type | Description |
|---|---|---|
| addresses* | string | 1 to 10 comma-separated base58 Solana wallet addresses. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"addresses"
],
"properties": {
"addresses": {
"type": "string",
"description": "1 to 10 comma-separated base58 Solana wallet addresses."
}
},
"additionalProperties": false
}| any |
| How many tokens to return. Integer from 1 to 25, or a numeric string. Default 15. |
| maxRisk | any | Optional maximum risk. low, medium, high, or an integer from 0 to 100. |
| minLiquidity | any | Optional minimum pool liquidity in USD. Tokens with unknown liquidity are left out. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"anyOf": [
{
"type": "integer",
"maximum": 25,
"minimum": 1
},
{
"type": "string",
"pattern": "^\\d+$"
}
],
"description": "How many tokens to return. Integer from 1 to 25, or a numeric string. Default 15."
},
"maxRisk": {
"anyOf": [
{
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
{
"type": "integer",
"maximum": 100,
"minimum": 0
},
{
"type": "string"
}
],
"description": "Optional maximum risk. low, medium, high, or an integer from 0 to 100."
},
"minLiquidity": {
"anyOf": [
{
"type": "number",
"maximum": 1000000000000,
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$"
}
],
"description": "Optional minimum pool liquidity in USD. Tokens with unknown liquidity are left out."
}
},
"additionalProperties": false
}