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 analyze a program's on-chain statistics, transaction metrics, or user activity
- User needs to check popular DeFi platforms or view API usage
Authentication
All requests require an API key in the HTTP header:
CODEBLOCK0
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: INLINECODE1
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 - INLINECODE3 — retrieve SOL balance for a wallet
- INLINECODE4 — get name, symbol, decimals for a token mint
API Reference
Account
| Action | Key Params | Returns |
|---|
| INLINECODE5 | INLINECODE6 | Lamports, owner, executable flag |
| INLINECODE7 |
--address | Decoded account data |
|
account metadata |
--address | Label, icon, tags, domain, funder |
|
account metadata-multi |
--addresses | Batch metadata (comma-separated) |
|
account transfer |
--address [filters...] | SPL + SOL transfer history (supports activity-type, token, flow, time range filters) |
|
account defi |
--address [filters...] | DeFi protocol interactions (activity-type, from, platform, source, token, time range) |
|
account balance-change |
--address [filters...] | Historical balance changes (token, flow, amount, time range, remove-spam) |
|
account transactions |
--address [--before] [--limit] | Recent transactions list (cursor-based pagination) |
|
account portfolio |
--address [--exclude-low-score-tokens] | Token holdings with USD value |
|
account tokens |
--address --type [--page] [--page-size] [--hide-zero] | Associated token/NFT accounts (page-size: 10/20/30/40) |
|
account stake |
--address [--page] [--page-size] [--sort-by] [--sort-order] | Active stake accounts (page-size: 10/20/30/40) |
|
account reward-export |
--address [--time-from] [--time-to] | Staking reward history CSV (max 5000 items, max 1 req/min) |
|
account transfer-export |
--address [filters...] | Transfer history CSV (max 5000 items, max 1 req/min) |
|
account leaderboard |
[--sort-by] [--sort-order] [--page] [--page-size] | Top accounts by activity |
|
account defi-export |
--address [filters...] | DeFi activity CSV (max 5000 items, max 1 req/min) |
account metadata response fields:
INLINECODE36 , account_label, account_icon, account_tags, account_type, account_domain, funded_by, tx_hash, INLINECODE44
account transfer filter options:
- -
--activity-type: Transfer type filter (comma-separated). Options: ACTIVITYSPLTRANSFER, ACTIVITYSPLBURN, ACTIVITYSPLMINT, ACTIVITYSPLCREATEACCOUNT, ACTIVITYSPLCLOSEACCOUNT, ACTIVITYSPLTOKENWITHDRAWSTAKE, ACTIVITYSPLTOKENSPLITSTAKE, ACTIVITYSPLTOKENMERGESTAKE, ACTIVITYSPLVOTEWITHDRAW, ACTIVITYSPLSETOWNER_AUTHORITY - INLINECODE47 : Filter transfers for a specific token account in the wallet
- INLINECODE48 : Filter by source address(es) (max 5, comma-separated)
- INLINECODE49 : Exclude transfers from address(es) (max 5, comma-separated)
- INLINECODE50 : Filter by recipient address(es) (max 5, comma-separated)
- INLINECODE51 : Exclude transfers to address(es) (max 5, comma-separated)
- INLINECODE52 : Filter by token address(es) (max 5, comma-separated). Use
So11111111111111111111111111111111111111111 for native SOL - INLINECODE54 : Amount range filter (min max)
- INLINECODE55 : USD value range filter (min max)
- INLINECODE56 ,
--to-time: Unix timestamp range filter - INLINECODE58 : Exclude transfers with zero amount (boolean)
- INLINECODE59 : Transfer direction: in|out
- INLINECODE60 : 10, 20, 30, 40, 60, 100 (default: 10)
- INLINECODE61 : Sort order: asc|desc (default: desc)
Deprecated parameters: sort_by, block_time (use from_time/to_time instead)
account defi filter options:
- -
--activity-type: Activity type filter (comma-separated). Options: ACTIVITYTOKENSWAP, ACTIVITYAGGTOKENSWAP, ACTIVITYTOKENADDLIQ, ACTIVITYTOKENREMOVELIQ, ACTIVITYPOOLCREATE, ACTIVITYSPLTOKENSTAKE, ACTIVITYLSTSTAKE, ACTIVITYSPLTOKENUNSTAKE, ACTIVITYLSTUNSTAKE, ACTIVITYTOKENDEPOSITVAULT, ACTIVITYTOKENWITHDRAWVAULT, ACTIVITYSPLINITMINT, ACTIVITYORDERBOOKORDERPLACE, ACTIVITYBORROWING, ACTIVITYREPAYBORROWING, ACTIVITYLIQUIDATEBORROWING, ACTIVITYBRIDGEORDERIN, ACTIVITYBRIDGEORDEROUT - INLINECODE68 : Filter activities from a specific address
- INLINECODE69 : Filter by platform address(es) (comma-separated, max 5)
- INLINECODE70 : Filter by source address(es) (comma-separated, max 5)
- INLINECODE71 : Filter by token address
- INLINECODE72 ,
--to-time: Unix timestamp range filter - INLINECODE74 : 10, 20, 30, 40, 60, 100 (default: 10)
- INLINECODE75 : Sort field (default: blocktime, options: blocktime)
- INLINECODE76 : Sort order: asc|desc (default: desc)
Deprecated parameters: block_time (use from_time/to_time instead)
account balance-change filter options:
- -
--token-account: Filter by specific token account - INLINECODE82 : Filter by token address
- INLINECODE83 : Amount range (min max)
- INLINECODE84 : in|out
- INLINECODE85 : true|false
- INLINECODE86 ,
--to-time: Unix timestamp range - INLINECODE88 : 10, 20, 30, 40, 60, 100 (default: 10)
- INLINECODE89 : Sort field (default: blocktime, options: blocktime)
- INLINECODE90 : Sort order: asc|desc (default: desc)
Deprecated parameters: block_time (use from_time/to_time instead)
account transactions pagination:
- - Uses cursor-based pagination with
--before (transaction signature) - INLINECODE96 : 10, 20, 30, 40 (default: 10)
- No page/page_size parameters
account stake options:
- -
--sort-by: activestake|delegatedstake (default: active_stake) - INLINECODE99 : asc|desc
- INLINECODE100 : 10, 20, 30, 40 (default: 10)
account reward-export parameters:
- -
--time-from: Start time (Unix timestamp in seconds, default: 1 month before time-to) - INLINECODE103 : End time (Unix timestamp in seconds, default: current time)
account transfer-export filter options:
- -
--activity-type: Transfer type filter (comma-separated). Options: ACTIVITYSPLTRANSFER, ACTIVITYSPLBURN, ACTIVITYSPLMINT, ACTIVITYSPLCREATEACCOUNT, ACTIVITYSPLCLOSEACCOUNT, ACTIVITYSPLTOKENWITHDRAWSTAKE, ACTIVITYSPLTOKENSPLITSTAKE, ACTIVITYSPLTOKENMERGESTAKE, ACTIVITYSPLVOTEWITHDRAW, ACTIVITYSPLSETOWNER_AUTHORITY - INLINECODE106 : Filter by specific token account address
- INLINECODE107 : Filter from address
- INLINECODE108 : Filter to address
- INLINECODE109 : Filter by token address (use
So11111111111111111111111111111111111111111 for native SOL) - INLINECODE111 : Amount range (min max)
- INLINECODE112 ,
--to-time: Unix timestamp range - INLINECODE114 : Exclude zero amount transfers
- INLINECODE115 : Transfer direction: in|out
Deprecated parameters: block_time (use from_time/to_time instead)
account leaderboard options:
- -
--sort-by: solvalues|stakevalues|tokenvalues|totalvalues (default: total_values) - INLINECODE121 : asc|desc
- INLINECODE122 : 10, 20, 30, 40, 60, 100 (default: 10)
account defi-export filter options:
- -
--activity-type: Activity type filter (comma-separated). Options: ACTIVITYTOKENSWAP, ACTIVITYAGGTOKENSWAP, ACTIVITYTOKENADDLIQ, ACTIVITYTOKENREMOVELIQ, ACTIVITYPOOLCREATE, ACTIVITYSPLTOKENSTAKE, ACTIVITYLSTSTAKE, ACTIVITYSPLTOKENUNSTAKE, ACTIVITYLSTUNSTAKE, ACTIVITYTOKENDEPOSITVAULT, ACTIVITYTOKENWITHDRAWVAULT, ACTIVITYSPLINITMINT, ACTIVITYORDERBOOKORDERPLACE, ACTIVITYBORROWING, ACTIVITYREPAYBORROWING, ACTIVITYLIQUIDATEBORROWING, ACTIVITYBRIDGEORDERIN, ACTIVITYBRIDGEORDEROUT - INLINECODE125 : Filter activities from a specific address
- INLINECODE126 : Filter by platform address(es) (comma-separated, max 5)
- INLINECODE127 : Filter by source address(es) (comma-separated, max 5)
- INLINECODE128 : Filter by token address
- INLINECODE129 ,
--to-time: Unix timestamp range - INLINECODE131 : Sort field (default: blocktime, options: blocktime)
- INLINECODE132 : Sort order: asc|desc (default: desc)
Deprecated parameters: block_time (use from_time/to_time instead)
Token
| Action | Key Params | Returns |
|---|
| INLINECODE136 | INLINECODE137 | Name, symbol, decimals, supply |
| INLINECODE138 |
--addresses | Batch metadata |
|
token price ⚠️ |
--address [--from-time] [--to-time] |
DEPRECATED - Single token price history (use
token price-history instead) |
|
token price-multi ⚠️ |
--addresses [--from-time] [--to-time] |
DEPRECATED - Batch price history (use
token price-history instead) |
|
token price-latest |
--addresses | Latest price of multiple tokens (max 50, comma-separated) |
|
token price-history |
--addresses [--from-time] [--to-time] | Historical price of multiple tokens (max 50, comma-separated; time: YYYYMMDD) |
|
token holders |
--address [--page] [--page-size] [--from-amount] [--to-amount] | Top holder list with amounts (page-size: 10/20/30/40) |
|
token markets |
--token [--sort-by] [--program] [--page] [--page-size] | DEX markets: 1 token for all markets, 2 tokens for pair search |
|
token transfers |
--address [filters...] | Transfer history |
|
token defi |
--address [filters...] | DeFi activity |
|
token defi-export |
--address [filters...] | DeFi activity CSV |
|
token historical |
--address [--range] | Historical data (price, volume, holder, trader,...) for a token (range: 7 or 30 days, default: 7) |
|
token search |
--keyword [--search-mode] [--search-by] [--sort-by] [--sort-order] [--page] [--page-size] | Search tokens by keyword/address/name/symbol |
|
token trending |
[--limit] | Currently trending tokens |
|
token list |
[--page] [--page-size] [--sort-by] [--sort-order] | Full token list (sort: holder|market
cap|createdtime) |
|
token top | — | Top tokens by market cap |
|
token latest |
[--platform-id] [--page] [--page-size] | Newly listed tokens (page-size: 10/20/30/40/60/100) |
token price parameters ⚠️ DEPRECATED:
- -
--address: Token address (required) - INLINECODE173 : Start time in YYYYMMDD format (optional)
- INLINECODE174 : End time in YYYYMMDD format (optional)
token price-multi parameters ⚠️ DEPRECATED:
- -
--addresses: Token addresses, comma-separated (max 50, required) - INLINECODE177 : Start time in YYYYMMDD format (optional)
- INLINECODE178 : End time in YYYYMMDD format (optional)
token price-latest parameters:
- -
--addresses: Token addresses, comma-separated (max 50, required)
token price-history parameters:
- -
--addresses: Token addresses, comma-separated (max 50, required) - INLINECODE183 : Start time in YYYYMMDD format (optional)
- INLINECODE184 : End time in YYYYMMDD format (optional)
token holders parameters:
- -
--address: Token address (required) - INLINECODE187 : Minimum token holding amount (string format, optional)
- INLINECODE188 : Maximum token holding amount (string format, optional)
- INLINECODE189 : Page number (default: 1)
- INLINECODE190 : 10, 20, 30, 40 (default: 10)
token markets parameters:
- -
--token: Token address(es) - REQUIRED (1 token for all markets, 2 tokens for pair search, comma-separated) - INLINECODE193 : Sort field: volume|trade|tvl|trader
- INLINECODE194 : Filter by DEX program(s) (comma-separated, max 5)
- INLINECODE195 : Page number (default: 1)
- INLINECODE196 : 10, 20, 30, 40, 60, 100 (default: 10)
token transfers filter options:
- -
--activity-type: Transfer type filter (comma-separated). Options: ACTIVITYSPLTRANSFER, ACTIVITYSPLBURN, ACTIVITYSPLMINT, ACTIVITYSPLCREATEACCOUNT, ACTIVITYSPLCLOSEACCOUNT, etc. - INLINECODE199 : Filter from address(es) (max 5, comma-separated)
- INLINECODE200 : Exclude from address(es) (max 5, comma-separated)
- INLINECODE201 : Filter to address(es) (max 5, comma-separated)
- INLINECODE202 : Exclude to address(es) (max 5, comma-separated)
- INLINECODE203 : Amount range (min max)
- INLINECODE204 : USD value range (min max)
- INLINECODE205 : Exclude zero amount transfers (boolean flag)
- INLINECODE206 : 10, 20, 30, 40, 60, 100 (default: 10)
- INLINECODE207 : blocktime (default: blocktime)
- INLINECODE208 : asc|desc (default: desc)
token defi filter options:
- -
--activity-type: Activity type filter (comma-separated). Options: ACTIVITYTOKENSWAP, ACTIVITYAGGTOKENSWAP, ACTIVITYTOKENADDLIQ, ACTIVITYTOKENREMOVELIQ, ACTIVITYPOOLCREATE, etc. - INLINECODE211 : Filter activities from a specific address
- INLINECODE212 : Filter by platform address(es) (comma-separated, max 5)
- INLINECODE213 : Filter by source address(es) (comma-separated, max 5)
- INLINECODE214 : Filter by token address
- INLINECODE215 ,
--to-time: Unix timestamp range filter - INLINECODE217 : 10, 20, 30, 40, 60, 100 (default: 10)
- INLINECODE218 : blocktime (default: block_time)
- INLINECODE219 : asc|desc (default: desc)
token defi-export filter options:
- -
--activity-type: Activity type filter (comma-separated): ACTIVITYTOKENSWAP, ACTIVITYAGGTOKENSWAP, etc. - INLINECODE222 : Filter activities from a specific address
- INLINECODE223 : Filter by platform address(es) (comma-separated, max 5)
- INLINECODE224 : Filter by source address(es) (comma-separated, max 5)
- INLINECODE225 : Filter by token address
- INLINECODE226 ,
--to-time: Unix timestamp range filter - INLINECODE228 : blocktime (default: block_time)
- INLINECODE229 : asc|desc (default: desc)
token historical parameters:
- -
--address: Token address (required) - INLINECODE232 : 7 or 30 days (default: 7)
token search parameters:
- -
--keyword: Search term (required) - INLINECODE235 : combination|address|name|symbol (default: combination)
- INLINECODE236 : exact|fuzzy (default: exact)
- INLINECODE237 : Exclude unverified tokens (boolean flag)
- INLINECODE238 : reputation|marketcap|volume24h (default: reputation)
- INLINECODE239 : asc|desc (default: desc)
- INLINECODE240 ,
--page-size: 10, 20, 30, 40 (default: 10)
token latest platforms:
- -
--platform-id: jupiter, lifinity, meteora, orca, raydium, phoenix, sanctum, kamino, pumpfun, openbook, apepro, stabble, jupiterdca, jupiterlimitorder, solfi, zerofi, letsbonkfunlaunchpad, raydiumlaunchlab, believelaunchpad, moonshotlaunchpad, jupstudiolaunchpad, bags_launchpad
Transaction
| Action | Key Params | Returns |
|---|
| INLINECODE244 | INLINECODE245 | Full tx details (token and sol balance changes, IDL data, defi or transfer activities of each instructions) |
| INLINECODE246 |
--txs | Batch tx details (max 50 transactions) |
|
transaction last |
[--limit] [--filter] | Most recent transactions |
|
transaction actions |
--tx | Human-readable decoded actions (transfers, swap activities, nft activities...) |
|
transaction actions-multi |
--txs | Batch decoded actions (max 50 transactions) |
|
transaction fees | — | Network fees statistics (no parameters) |
transaction last parameters:
- -
--limit: Number of transactions to return (10, 20, 30, 40, 60, 100, default: 10) - INLINECODE257 : Filter type (exceptVote, all, default: exceptVote)
transaction detail parameters:
- -
--tx: Transaction signature (required, length: 30-100 characters)
transaction detail-multi parameters:
- -
--txs: Transaction signatures, comma-separated (required, max 50, each 30-100 characters)
transaction actions parameters:
- -
--tx: Transaction signature (required, length: 30-100 characters)
transaction actions-multi parameters:
- -
--txs: Transaction signatures, comma-separated (required, max 50, each 30-100 characters)
NFT
| Action | Key Params | Returns |
|---|
| INLINECODE266 | INLINECODE267 | Latest NFT activity feed (filter: created_time, page-size: 12/24/36) |
| INLINECODE268 |
[filters...] | NFT activities (all filters optional: from, to, source, activity-type, token, collection, currency-token, price, from-time, to-time) |
|
nft collections |
[--range] [--sort-by] [--sort-order] [--collection] [--page] [--page-size] | Top NFT collections (range: 1/7/30 days, sort: items/floor_price/volumes) |
|
nft items |
--collection [--sort-by] [--page] [--page-size] | Items inside a collection (sort: last
trade/listingprice, page-size: 12/24/36) |
nft activities parameters (all optional):
- -
--from, --to: Filter by address - INLINECODE277 : Filter by source address(es) (comma-separated, max 5)
- INLINECODE278 : Type of activity (comma-separated). Options: ACTIVITYNFTSOLD, ACTIVITYNFTLISTING, ACTIVITYNFTBIDDING, ACTIVITYNFTCANCELBID, ACTIVITYNFTCANCELLIST, ACTIVITYNFTREJECTBID, ACTIVITYNFTUPDATEPRICE, ACTIVITYNFTLISTAUCTION
- INLINECODE279 : Token address
- INLINECODE280 : Collection address
- INLINECODE281 : Currency token address
- INLINECODE282 : Price range filter (min max, requires currencytoken parameter)
- INLINECODE283 ,
--to-time: Unix timestamp range - INLINECODE285 : 10, 20, 30, 40, 60, 100 (default: 10)
- INLINECODE286 ⚠️ DEPRECATED: Use
--from-time/--to-time instead
nft collections parameters (all optional):
- -
--range: Days range (1, 7, 30, default: 1) - INLINECODE291 : Sort field (items, floor_price, volumes, default: volumes)
- INLINECODE292 : Sort order (asc, desc, default: desc)
- INLINECODE293 : Filter by collection ID
- INLINECODE294 : Page number (default: 1)
- INLINECODE295 : 10, 20, 30, 40 (default: 10)
nft items parameters:
- -
--collection: Collection address (required) - INLINECODE298 : Sort field (lasttrade, listingprice, default: last_trade)
- INLINECODE299 : Page number (default: 1)
- INLINECODE300 : 12, 24, 36 (default: 12)
Block
| Action | Key Params | Returns |
|---|
| INLINECODE301 | INLINECODE302 | Get the list of the latest blocks |
| INLINECODE303 |
--block | Get the details of a block |
|
block transactions |
--block [--page] [--page-size] [--exclude-vote] [--program] | Get the list of transactions of a block |
block last parameters:
- -
--limit: Number of blocks to return (10, 20, 30, 40, 60, 100, default: 10)
block detail parameters:
- -
--block: The slot index of a block (required, minimum: 0)
block transactions parameters:
- -
--block: The slot index of a block (required, minimum: 0) - INLINECODE313 : Page number for pagination (default: 1)
- INLINECODE314 : Number of items per page (10, 20, 30, 40, 60, 100, default: 10)
- INLINECODE315 : Excludes vote transactions from the results (boolean flag, default: false)
- INLINECODE316 : The program used to filter transactions that interact with it (optional, string)
Market
| Action | Key Params | Returns |
|---|
| INLINECODE317 | INLINECODE318 | All trading pools/markets (sort: createdtime\ | volumes24h\ | trades_24h) |
| INLINECODE319 |
--address | Get market/pool details by address |
|
market volume |
--address [--time] | Get historical market data and volume |
market list parameters:
- -
--page: Page number (default: 1) - INLINECODE325 : Number of items per page (10, 20, 30, 40, 60, 100, default: 10)
- INLINECODE326 : Program owner address (optional)
- INLINECODE327 : Token address involved in market (optional)
- INLINECODE328 : Sort field (createdtime, volumes24h, trades24h, default: volumes24h)
- INLINECODE329 : Sort order (asc, desc, default: desc)
market info parameters:
- -
--address: Market ID/address (required, minimum length: 30 characters)
market volume parameters:
- -
--address: Market ID/address (required, minimum length: 30 characters) - INLINECODE334 : Filter data by time range in YYYYMMDD format. Pass start and end date to filter by time range (e.g.,
--time 20240701 20240715). Accepts 1-2 values (optional)
Program
| Action | Key Params | Returns |
|---|
| INLINECODE336 | INLINECODE337 | Programs active in last 90 days (sort: numtxs\ | numtxssuccess\ | interactionvolume\ | successrate\ | activeusers_24h) |
| INLINECODE338 |
— | Popular DeFi platforms |
|
program analytics |
--address --range | Program-level analytics for any Solana program (range: 7 or 30 days, required) |
program list parameters:
- -
--sort-by: Sort field (numtxs, numtxssuccess, interactionvolume, successrate, activeusers24h, default: numtxs) - INLINECODE343 : Sort order (asc, desc)
- INLINECODE344 : Page number (default: 1)
- INLINECODE345 : 10, 20, 30, 40 (default: 10)
program analytics parameters:
- -
--address: Program address on Solana blockchain (required, minimum: 30 characters) - INLINECODE348 : Analytics time range in days (7 or 30, required)
Monitor
| Action | Key Params | Returns |
|---|
| INLINECODE349 | — | Your API key usage & rate limits |
Error Handling
| HTTP Code | Meaning | Agent Action |
|---|
| INLINECODE350 | Bad request / invalid address | Validate address format, retry |
| INLINECODE351 |
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
- - [ ] Step 1:
account metadata --address <ADDR> → confirm label and type - [ ] Step 2:
account portfolio --address <ADDR> → get token holdings - [ ] Step 3:
account transfer --address <ADDR> → review recent activity - [ ] Step 4:
account defi --address <ADDR> → check protocol interactions
Token Analysis Workflow
- - [ ] Step 1:
token meta --address <MINT> → confirm token identity - [ ] Step 2:
token price --address <MINT> → get current price - [ ] Step 3:
token holders --address <MINT> → check concentration risk - [ ] Step 4:
token markets --token <MINT> → find best liquidity pools
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, Solscan Pro API FAQs