Solscan Pro Skill
Empowers AI agents to retrieve professional-grade Solana on-chain data across
accounts, tokens, NFTs, transactions, blocks, markets, and programs.
When to Use This Skill
- User asks about a Solana wallet address, balance, portfolio, or stake
- User wants token price, holders, markets, or trending tokens
- User needs to inspect a transaction signature or decode instructions
- User asks about NFT collections, items, or recent NFT activity
- User wants DeFi activity, transfer history, or reward exports
- User wants to check program analytics or popular platforms
Prerequisites
Authentication
Private operations require API credentials and an Omni seed:
All requests require an API key in the HTTP header:
Configuration
API Credentials (Required for Private Operations)
export SOLSCAN_API_KEY=YOUR_SOLSCAN_API_KEY
Or use .env file (recommended for security):
cd exploring-solana-with-solscan
cp .env.example .env
# Edit .env with your credentials
nano .env
token: <YOUR_SOLSCAN_API_KEY>
Base URL: https://pro-api.solscan.io/v2.0
Tools
Tool 1 — Direct API CLI (Precise Data)
Use when: you need exact, structured on-chain data for a specific address,
signature, block, or mint.
Syntax: python3 scripts/solscan.py <resource> <action> [--param value]
Tool 2 — MCP Natural Language Tools
Use when: answering general exploratory questions or when the user does not
provide a specific address.
Available MCP tools:
search_transaction_by_signature — look up a transaction by its signature
get_account_balance — retrieve SOL balance for a wallet
get_token_metadata — get name, symbol, decimals for a token mint
API Reference
Account
| Action |
Key Params |
Returns |
account detail |
--address |
Lamports, owner, executable flag |
account transfers |
--address |
SPL + SOL transfer history |
account defi |
--address |
DeFi protocol interactions |
account balance-change |
--address |
Historical SOL balance changes |
account transactions |
--address |
Recent transactions list |
account portfolio |
--address |
Token holdings with USD value |
account tokens |
--address |
Associated token accounts |
account stake |
--address |
Active stake accounts |
account reward-export |
--address |
Staking reward history CSV |
account transfer-export |
--address |
Transfer history CSV |
account metadata |
--address |
Label, icon, tags, domain, funder |
account metadata-multi |
--addresses |
Batch metadata (comma-separated) |
account leaderboard |
— |
Top accounts by activity |
account defi-export |
--address |
DeFi activity CSV |
account metadata response fields: account_address, account_label,
account_icon, account_tags, account_type, account_domain,
funded_by, tx_hash, block_time
Token
| Action |
Key Params |
Returns |
token meta |
--address |
Name, symbol, decimals, supply |
token meta-multi |
--addresses |
Batch metadata |
token price |
--address |
Current USD price |
token price-multi |
--addresses |
Batch prices |
token holders |
--address |
Top holder list with amounts |
token markets |
--address |
DEX markets trading this token |
token transfers |
--address |
Transfer history |
token defi |
--address |
DeFi activity |
token defi-export |
--address |
DeFi activity CSV |
token historical |
--address --type line |
Price history chart data |
token search |
--query |
Search by keyword/name |
token trending |
— |
Currently trending tokens |
token list |
— |
Full token list |
token top |
— |
Top tokens by market cap |
token latest |
— |
Newly listed tokens |
Transaction
| Action |
Key Params |
Returns |
transaction detail |
--signature |
Full tx details |
transaction detail-multi |
--signatures |
Batch tx details |
transaction last |
— |
Most recent transactions |
transaction actions |
--signature |
Human-readable decoded actions |
transaction actions-multi |
--signatures |
Batch decoded actions |
transaction fees |
--signature |
Fee breakdown |
NFT
| Action |
Key Params |
Returns |
nft news |
— |
Latest NFT activity feed |
nft activities |
--address |
NFT transfer/sale history |
nft collections |
— |
Top NFT collections |
nft items |
--address |
Items inside a collection |
Block
| Action |
Key Params |
Returns |
block last |
— |
Most recent blocks |
block detail |
--block |
Block metadata by slot number |
block transactions |
--block |
All transactions in a block |
Market
| Action |
Key Params |
Returns |
market list |
— |
All trading pools/markets |
market info |
— |
General market overview |
market volume |
— |
24h volume data |
Program
| Action |
Key Params |
Returns |
program list |
— |
All indexed programs |
program popular |
— |
Most-used programs |
program analytics |
--address |
Usage stats for a program |
Monitor
| Action |
Key Params |
Returns |
monitor usage |
— |
Your API key usage & rate limits |
Error Handling
| HTTP Code |
Meaning |
Agent Action |
400 |
Bad request / invalid address |
Validate address format, retry |
401 |
Authentication failed |
Check token header is set correctly |
429 |
Rate limit exceeded |
Wait and retry with backoff |
500 |
Internal server error |
Retry once; report if persistent |
All error responses include success: false, code, and message fields.
Example Workflows
Wallet Research Workflow
Token Analysis Workflow
Evaluations
| Query |
Expected Behavior |
"What tokens does wallet ABC123 hold?" |
Calls account portfolio --address ABC123, returns token list with USD values |
| "What is the current price of BONK?" |
Calls token meta to resolve mint, then token price, returns USD price |
"Decode transaction XYZ..." |
Calls transaction actions --signature XYZ, returns human-readable action list |
| "Is this a known wallet?" |
Calls account metadata --address, returns label/tags/domain if available |
Resources: Solscan Pro API Docs
1---2name: exploring-solana-with-solscan3description: Use this skill to query Solana blockchain data via the Solscan Pro API. Triggers: look up wallet address, check token price, analyze NFT collection, inspect transaction, explore DeFi activities, get account metadata/label/tags, fetch block info, monitor API usage, search token by keyword.4---56# Solscan Pro Skill78Empowers AI agents to retrieve professional-grade Solana on-chain data across9accounts, tokens, NFTs, transactions, blocks, markets, and programs.1011## When to Use This Skill1213- User asks about a Solana wallet address, balance, portfolio, or stake14- User wants token price, holders, markets, or trending tokens15- User needs to inspect a transaction signature or decode instructions16- User asks about NFT collections, items, or recent NFT activity17- User wants DeFi activity, transfer history, or reward exports18- User wants to check program analytics or popular platforms1920## Prerequisites2122## Authentication2324Private operations require API credentials and an Omni seed:25- `SOLSCAN_API_KEY`262728All requests require an API key in the HTTP header:2930## Configuration3132### API Credentials (Required for Private Operations)3334```bash35export SOLSCAN_API_KEY=YOUR_SOLSCAN_API_KEY36```37**Or use `.env` file** (recommended for security):38```bash39cd exploring-solana-with-solscan40cp .env.example .env41# Edit .env with your credentials42nano .env43```4445```http46token: <YOUR_SOLSCAN_API_KEY>47```4849Base URL: `https://pro-api.solscan.io/v2.0`5051---5253## Tools5455### Tool 1 — Direct API CLI (Precise Data)5657**Use when**: you need exact, structured on-chain data for a specific address,58signature, block, or mint.5960**Syntax**: `python3 scripts/solscan.py <resource> <action> [--param value]`6162### Tool 2 — MCP Natural Language Tools6364**Use when**: answering general exploratory questions or when the user does not65provide a specific address.6667Available MCP tools:68- `search_transaction_by_signature` — look up a transaction by its signature69- `get_account_balance` — retrieve SOL balance for a wallet70- `get_token_metadata` — get name, symbol, decimals for a token mint7172---7374## API Reference7576### Account7778| Action | Key Params | Returns |79|---|---|---|80| `account detail` | `--address` | Lamports, owner, executable flag |81| `account transfers` | `--address` | SPL + SOL transfer history |82| `account defi` | `--address` | DeFi protocol interactions |83| `account balance-change` | `--address` | Historical SOL balance changes |84| `account transactions` | `--address` | Recent transactions list |85| `account portfolio` | `--address` | Token holdings with USD value |86| `account tokens` | `--address` | Associated token accounts |87| `account stake` | `--address` | Active stake accounts |88| `account reward-export` | `--address` | Staking reward history CSV |89| `account transfer-export` | `--address` | Transfer history CSV |90| `account metadata` | `--address` | Label, icon, tags, domain, funder |91| `account metadata-multi` | `--addresses` | Batch metadata (comma-separated) |92| `account leaderboard` | — | Top accounts by activity |93| `account defi-export` | `--address` | DeFi activity CSV |9495> **`account metadata` response fields**: `account_address`, `account_label`,96> `account_icon`, `account_tags`, `account_type`, `account_domain`,97> `funded_by`, `tx_hash`, `block_time`9899### Token100101| Action | Key Params | Returns |102|---|---|---|103| `token meta` | `--address` | Name, symbol, decimals, supply |104| `token meta-multi` | `--addresses` | Batch metadata |105| `token price` | `--address` | Current USD price |106| `token price-multi` | `--addresses` | Batch prices |107| `token holders` | `--address` | Top holder list with amounts |108| `token markets` | `--address` | DEX markets trading this token |109| `token transfers` | `--address` | Transfer history |110| `token defi` | `--address` | DeFi activity |111| `token defi-export` | `--address` | DeFi activity CSV |112| `token historical` | `--address --type line` | Price history chart data |113| `token search` | `--query` | Search by keyword/name |114| `token trending` | — | Currently trending tokens |115| `token list` | — | Full token list |116| `token top` | — | Top tokens by market cap |117| `token latest` | — | Newly listed tokens |118119### Transaction120121| Action | Key Params | Returns |122|---|---|---|123| `transaction detail` | `--signature` | Full tx details |124| `transaction detail-multi` | `--signatures` | Batch tx details |125| `transaction last` | — | Most recent transactions |126| `transaction actions` | `--signature` | Human-readable decoded actions |127| `transaction actions-multi` | `--signatures` | Batch decoded actions |128| `transaction fees` | `--signature` | Fee breakdown |129130### NFT131132| Action | Key Params | Returns |133|---|---|---|134| `nft news` | — | Latest NFT activity feed |135| `nft activities` | `--address` | NFT transfer/sale history |136| `nft collections` | — | Top NFT collections |137| `nft items` | `--address` | Items inside a collection |138139### Block140141| Action | Key Params | Returns |142|---|---|---|143| `block last` | — | Most recent blocks |144| `block detail` | `--block` | Block metadata by slot number |145| `block transactions` | `--block` | All transactions in a block |146147### Market148149| Action | Key Params | Returns |150|---|---|---|151| `market list` | — | All trading pools/markets |152| `market info` | — | General market overview |153| `market volume` | — | 24h volume data |154155### Program156157| Action | Key Params | Returns |158|---|---|---|159| `program list` | — | All indexed programs |160| `program popular` | — | Most-used programs |161| `program analytics` | `--address` | Usage stats for a program |162163### Monitor164165| Action | Key Params | Returns |166|---|---|---|167| `monitor usage` | — | Your API key usage & rate limits |168169---170171## Error Handling172173| HTTP Code | Meaning | Agent Action |174|---|---|---|175| `400` | Bad request / invalid address | Validate address format, retry |176| `401` | Authentication failed | Check `token` header is set correctly |177| `429` | Rate limit exceeded | Wait and retry with backoff |178| `500` | Internal server error | Retry once; report if persistent |179180All error responses include `success: false`, `code`, and `message` fields.181182---183184## Example Workflows185186### Wallet Research Workflow187- [ ] Step 1: `account metadata --address <ADDR>` → confirm label and type188- [ ] Step 2: `account portfolio --address <ADDR>` → get token holdings189- [ ] Step 3: `account transfers --address <ADDR>` → review recent activity190- [ ] Step 4: `account defi --address <ADDR>` → check protocol interactions191192### Token Analysis Workflow193- [ ] Step 1: `token meta --address <MINT>` → confirm token identity194- [ ] Step 2: `token price --address <MINT>` → get current price195- [ ] Step 3: `token holders --address <MINT>` → check concentration risk196- [ ] Step 4: `token markets --address <MINT>` → find best liquidity pools197198---199200## Evaluations201202| Query | Expected Behavior |203|---|---|204| "What tokens does wallet `ABC123` hold?" | Calls `account portfolio --address ABC123`, returns token list with USD values |205| "What is the current price of BONK?" | Calls `token meta` to resolve mint, then `token price`, returns USD price |206| "Decode transaction `XYZ...`" | Calls `transaction actions --signature XYZ`, returns human-readable action list |207| "Is this a known wallet?" | Calls `account metadata --address`, returns label/tags/domain if available |208209---210211*Resources: [Solscan Pro API Docs](https://pro-api.solscan.io/pro-api-docs/v2.0)*