wallet-analysis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited wallet-analysis (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A bulleted imperative like {match} tells the agent to never reveal, disclose, or mention something to the user. Used adversarially it can instruct the agent to hide its tool calls or lie about what it did — stripping the transparency a user relies on to trust the agent.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Build Solana-first wallet analysis features with Zerion's normalized wallet API. Use this skill when the user wants portfolio views, token balances, interpreted transactions, charts, or wallet-level PnL for Solana addresses, while still supporting the same flows across Zerion's broader multichain surface.
Zerion is especially useful when you need:
Prefer these auth modes in this order:
Use Zerion API directly when the user is building a product integration.
export ZERION_API_KEY="zk_dev_..."
curl -u "$ZERION_API_KEY:" \
"https://api.zerion.io/v1/wallets/8BH9pjtgyZDC4iAQH5ZiYDZ1MDWC98xki2V8NzqqKW3K/portfolio"For explicit headers, use HTTP Basic auth with base64("${ZERION_API_KEY}:").
If the user does not want to provision an API key, Zerion documents x402 as a pay-per-request path for AI workflows. Zerion's official agent repo also documents Solana-backed x402, so a Solana wallet can be used instead of an API key when the runtime supports x402 payment handshakes.
export SOLANA_PRIVATE_KEY="5C1y..."
export ZERION_X402_PREFER_SOLANA=trueUse x402 when:
If the user is in Claude Code, Cursor, or another MCP-native client, Zerion API provides a hosted MCP endpoint:
https://developers.zerion.io/mcpTreat MCP as an alternate interface, not a different product. The same wallet-analysis surface is available there, and Zerion's official AI docs/repo describe API key and x402 auth paths for AI workflows. Prefer direct REST API examples when the user is asking for app code.
Start with Solana unless the user asks for another chain. Zerion's wallet-analysis endpoints support Solana addresses and the same normalized object model used across the rest of the API.
| User intent | Endpoint / Tool |
|---|---|
| Solana wallet overview | GET /v1/wallets/{address}/portfolio or MCP wallet-portfolio |
| Solana token balances | GET /v1/wallets/{address}/positions/ or MCP wallet-positions |
| Solana recent activity | GET /v1/wallets/{address}/transactions/ or MCP wallet-transactions |
| Solana wallet PnL | GET /v1/wallets/{address}/pnl or MCP wallet-pnl |
| Solana portfolio chart | GET /v1/wallets/{address}/charts/{period} |
| Supported chains | GET /v1/chains/ or MCP chains-list |
portfolio first to get total value and high-level composition.positions next for token-level breakdown.transactions for interpreted wallet activity.pnl when the user needs performance, realized gains, or net invested amounts.charts when the user needs historical portfolio value in the UI.curl -u "$ZERION_API_KEY:" \
"https://api.zerion.io/v1/wallets/${ADDRESS}/portfolio?currency=usd"Use this first for Solana wallet dashboards, watchlists, and summary cards.
curl -u "$ZERION_API_KEY:" \
"https://api.zerion.io/v1/wallets/${ADDRESS}/positions/?filter[positions]=no_filter"Use filter[positions]=only_simple when the user only wants token balances.
curl -u "$ZERION_API_KEY:" \
"https://api.zerion.io/v1/wallets/${ADDRESS}/transactions/?page[size]=10¤cy=usd"Use this for interpreted Solana activity such as swaps, transfers, and approvals.
curl -u "$ZERION_API_KEY:" \
"https://api.zerion.io/v1/wallets/${ADDRESS}/pnl?currency=usd"Use this when the user asks for realized gain, unrealized gain, net invested, or cost basis.
curl -u "$ZERION_API_KEY:" \
"https://api.zerion.io/v1/wallets/${ADDRESS}/charts/month?currency=usd"Use this for portfolio trend charts and timeline visualizations.
Cause: Missing or invalid API key in Basic auth. Fix: Use curl -u "$ZERION_API_KEY:" ... or encode ZERION_API_KEY: into the Authorization: Basic ... header.
Cause: x402 path selected but the runtime has not completed the payment handshake. Fix: Use a client/runtime that supports x402 and fund the Solana wallet with the required balance.
Cause: Zerion docs note some Solana assets can need a short bootstrap period. Fix: Retry with bounded polling instead of assuming the wallet is empty.
Cause: Zerion's current docs still list protocol-position support on Solana as a temporary limitation for the wallet positions surface. Fix: Be explicit that token balances are available, but DeFi protocol position coverage may be incomplete for Solana right now.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.