# Solscan

> |

- **Type:** Skill
- **Install:** `agentstack add skill-vo1ganin-crypto-claude-skills-solscan`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Vo1ganin](https://agentstack.voostack.com/s/vo1ganin)
- **Installs:** 0
- **Category:** [Data & Analytics](https://agentstack.voostack.com/c/data-and-analytics)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Vo1ganin](https://github.com/Vo1ganin)
- **Source:** https://github.com/Vo1ganin/crypto-claude-skills/tree/main/skills/solscan

## Install

```sh
agentstack add skill-vo1ganin-crypto-claude-skills-solscan
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Solscan Pro API Skill

You have access to the Solscan Pro API v2 for Solana data.

Read reference files when you need depth:
- `references/endpoints.md` — full endpoint catalog with all parameters
- `references/limits.md` — CU model, rate limits, page_size gotchas
- `references/batch-patterns.md` — MCP vs script decision, multi-endpoints, export endpoints
- `references/examples/` — ready-to-run Python scripts for common batch tasks

---

## 🚨 Rule #1: scripts for batch, MCP for exploration

The #1 way this API gets wasted is calling MCP tools in a loop. Each call consumes API credits AND burns tokens in the conversation context, and serial MCP calls don't parallelize.

| Task size | Tool |
|-----------|------|
| 1–10 API calls, exploratory | MCP tools directly |
| 10–30 calls | Script preferred, especially if same shape of request repeats |
| > 30 calls | **Always** write a script |
| Any batch where responses are parsed, aggregated, or filtered | **Always** a script |

When writing a script: `async aiohttp + asyncio.Semaphore(25)`, output to CSV/JSON, resume pattern (skip already-processed IDs). See `references/examples/` for working templates.

## 🚨 Rule #2: use multi-endpoints and exports

Solscan charges 100 CU per request flatly, so **batch endpoints are 50× cheaper** than per-item loops:

| Instead of | Use |
|------------|-----|
| 50 × `transaction/detail` (5000 CU) | 1 × `transaction/detail/multi` (100 CU) |
| 50 × `token/meta` | 1 × `token/meta/multi` |
| 50 × `account/metadata` | 1 × `account/metadata/multi` |
| Paginating `account/defi/activities` past 10k rows | `account/defi/activities/export` |
| Paginating `account/transfer` for full history | `account/transfer/export` |

**Before writing a loop, check if a multi-endpoint exists** (see `references/endpoints.md`).

## 🚨 Rule #3: page_size is DISCRETE

Allowed values: `10, 20, 30, 40, 60, 100`.

- `page_size=50` → **fails** silently or returns error
- `page_size=100` → works, use this for batch
- `page_size=200+` → fails

Default is often `20` — always set `100` for batch work.

---

## Tool reference (MCP)

| MCP tool | Endpoint | When to use |
|----------|----------|-------------|
| `solscan_account_info` | `account/detail` | SOL balance, account type, owner |
| `solscan_account_tokens` | `account/token-accounts` | SPL balances |
| `solscan_account_transfers` | `account/transfer` | Transfer history (single wallet exploration) |
| `solscan_account_transactions` | `account/transactions` | Raw tx list |
| `solscan_account_defi_activities` | `account/defi/activities` | Swaps/liquidity/staking |
| `solscan_transaction` | `transaction/detail` | One tx |
| `solscan_token_info` | `token/meta` | Token metadata |
| `solscan_token_holders` | `token/holders` | Top holders (paginated) |
| `solscan_token_price` | `token/price` | Price history |
| `solscan_token_markets` | `token/markets` | DEX pools |
| `solscan_token_transfers` | `token/transfer` | Recent transfers across wallets |
| `solscan_nft_info` | `nft/info` | NFT metadata |
| `solscan_nft_activities` | `nft/activities` | Sales/transfers |
| `solscan_search` | `search` | Find by name/partial addr |

For batch work not covered by MCP (multi-endpoints, exports): use direct HTTP with the same key. See `references/examples/`.

---

## Step-by-step workflow

**Step 1 — Identify input type**
- Wallet address (base58, 32–44 chars) → start with `solscan_account_info` → `solscan_account_tokens`
- Token mint → `solscan_token_info`
- Tx signature (~88 chars base58) → `solscan_transaction`
- Token name/symbol → `solscan_search` first to get mint
- NFT mint → `solscan_nft_info`

**Step 2 — Assess size**
If the request involves > 10 items (N wallets, N tokens, N signatures) → go to `references/batch-patterns.md` and write a script. Don't loop MCP calls.

**Step 3 — Apply Rules 1–3 above**
- Exploration: MCP directly
- Batch: script with `page_size=100`, async semaphore=25, multi-endpoints where possible
- Bulk history: export endpoints + `datafile/download`

**Step 4 — Present results**
- SOL: divide lamports by 1e9
- Tokens: divide raw amount by 10^decimals
- Address shortening: `So11...1112` (first 4 + last 4)
- Link format: `https://solscan.io/account/` or `https://solscan.io/tx/`

---

## Address formats

- Base58 strings, 32–44 chars for addresses, ~88 chars for tx signatures
- No `0x` prefix
- Well-known:
  - SOL (wrapped): `So11111111111111111111111111111111111111112`
  - USDC: `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`
  - USDT: `Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB`
  - BONK: `DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263`
  - WIF: `EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm`
  - JUP: `JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN`
  - RAY: `4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R`

---

## Time parameters

All Solscan endpoints use **unix timestamps in seconds**.

- Last 24h: `from_time = now - 86400`
- Last 7d: `from_time = now - 604800`
- Last 30d: `from_time = now - 2592000`

Historical depth (see `references/limits.md`):
- Transfers: 3 years
- Balance Change: 6 months
- DeFi Activities: 6 months

---

## Error handling

- **401** → key wrong/expired. Check `SOLSCAN_API_KEY` env var
- **429** → rate limit. Back off (see `references/limits.md` — Tier 2 is 1000/min, above that you need exponential backoff or lower concurrency)
- **404 / empty `data`** → address may not exist or no activity in filter range. Widen time window, verify via `solscan_search`
- **Invalid `page_size`** → must be 10, 20, 30, 40, 60, or 100

Check consumption with `monitor/usage` endpoint if the user suspects CU drain.

---

## Reference files

- **`references/endpoints.md`** — all 50 endpoints grouped, parameters, enum values
- **`references/limits.md`** — CU model, rate limits, monthly quotas, page_size trap, history depth
- **`references/batch-patterns.md`** — when to script vs MCP, async template, multi endpoints, export workflow
- **`references/examples/fetch_defi_activities.py`** — fetch defi for N wallets (async)
- **`references/examples/batch_tx_details.py`** — 50x CU savings via `transaction/detail/multi`
- **`references/examples/export_full_history.py`** — export + poll + download for bulk

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Vo1ganin](https://github.com/Vo1ganin)
- **Source:** [Vo1ganin/crypto-claude-skills](https://github.com/Vo1ganin/crypto-claude-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-vo1ganin-crypto-claude-skills-solscan
- Seller: https://agentstack.voostack.com/s/vo1ganin
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
