OptionalBlockchainVersion 0.2.0

Solana Blockchain Skill: Query Wallets, Tokens, Txs, and NFTs in USD

Query Solana wallets, tokens, txs, and NFTs in USD.

Written by Neura Market from the official Hermes Agent documentation for Solana. Commands, paths, and version numbers are reproduced from the source unchanged.

Read the official documentation

The Solana Blockchain Skill for Hermes Agent turns plain English questions about Solana into structured on-chain answers. You ask for a wallet balance, a token's price, or a transaction's outcome, and the skill returns data enriched with USD values from CoinGecko. It is a good fit when you need quick, dependency-free lookups without standing up your own indexer or paying for a data API. The entire helper script runs on Python's standard library, so it works almost anywhere Python does.

What it does

This skill exposes eight commands through a single Python script. You can pull a wallet's full portfolio with SOL and SPL token balances priced in USD, inspect a specific transaction by signature, get token metadata and top holders, list recent activity, detect large SOL transfers, check network health, and look up prices by mint or symbol. Every command talks to the Solana RPC endpoint, and most enrich the response with live prices from CoinGecko's free API. No API key is required for either service.

The script lives at ~/.hermes/skills/blockchain/solana/scripts/solana_client.py and is invoked from the command line. The default RPC endpoint is https://api.mainnet-beta.solana.com, which you can override by setting the SOLANA_RPC_URL environment variable.

Before you start

The only prerequisite is Python. The helper script uses urllib, json, and argparse, all part of the standard library, so there are no external packages to install. You will need network access to the Solana RPC endpoint and to CoinGecko's API for price data.

CoinGecko's free tier is rate-limited to roughly 10 to 30 requests per minute. Each token price lookup consumes one request, so a wallet with many tokens may not get prices for all of them. If speed matters more than USD values, pass the --no-prices flag to skip CoinGecko entirely and rely on RPC data alone.

The public Solana RPC also has rate limits. For production use, the source recommends setting SOLANA_RPC_URL to a private endpoint from a provider like Helius, QuickNode, or Triton.

Quick reference

The full command surface, as documented in the source:

python solana_client.py wallet   <address> [--limit N] [--all] [--no-prices]
python solana_client.py tx       <signature>
python solana_client.py token    <mint_address>
python solana_client.py activity <address> [--limit N]
python solana_client.py nft      <address>
python solana_client.py whales   [--min-sol N]
python solana_client.py stats
python solana_client.py price    <mint_or_symbol>

Setup check

Before relying on the skill, verify that Python is available, optionally set a private RPC for better rate limits, and confirm connectivity with the stats command.

python --version

# Optional: set a private RPC for better rate limits
export SOLANA_RPC_URL="https://api.mainnet-beta.solana.com"

# Confirm connectivity
python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py stats

The stats command should return current network information. If it errors, check your network connection and the RPC endpoint.

Wallet portfolio

The wallet command returns the SOL balance, SPL token holdings with USD values, NFT count, and a portfolio total. Tokens are sorted by value, dust is filtered out, and well-known tokens are labeled by name (BONK, JUP, USDC, and others).

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py \
  wallet 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM

Flags:

  • --limit N, show top N tokens (default: 20)
  • --all, show all tokens, no dust filter, no limit
  • --no-prices, skip CoinGecko price lookups (faster, RPC-only)

Output includes: SOL balance plus USD value, a token list with prices sorted by value, dust count, an NFT summary, and the total portfolio value in USD.

Transaction details

The tx command inspects a full transaction by its base58 signature and shows balance changes in both SOL and USD.

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py \
  tx 5j7s8K...your_signature_here

Output: slot, timestamp, fee, status, balance changes (SOL + USD), and program invocations.

Token info

The token command returns SPL token metadata, current price, market cap, supply, decimals, mint and freeze authorities, and the top 5 holders.

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py \
  token DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263

Output: name, symbol, decimals, supply, price, market cap, and top 5 holders with percentages.

Recent activity

The activity command lists recent transactions for an address. The default is the last 10, with a maximum of 25.

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py \
  activity 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM --limit 25

NFT portfolio

The nft command lists NFTs owned by a wallet using a heuristic: SPL tokens with amount equal to 1 and decimals equal to 0.

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py \
  nft 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM

Note: Compressed NFTs (cNFTs) are not detected by this heuristic.

Whale detector

The whales command scans the most recent block for large SOL transfers and reports them with USD values.

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py \
  whales --min-sol 500

Note: this scans the latest block only, so it is a point-in-time snapshot, not a historical search.

Network stats

The stats command gives live Solana network health: current slot, epoch, TPS, supply, validator version, SOL price, and market cap.

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py stats

Price lookup

The price command is a quick price check for any token by mint address or known symbol.

python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py price BONK
python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py price JUP
python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py price SOL
python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py price DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263

Known symbols: SOL, USDC, USDT, BONK, JUP, WETH, JTO, mSOL, stSOL, PYTH, HNT, RNDR, WEN, W, TNSR, DRIFT, bSOL, JLP, WIF, MEW, BOME, PENGU.

When not to use it

The source does not list explicit alternatives, but the limitations below suggest when this skill is not the right tool. If you need historical transaction data beyond a couple of days, or if you require reliable detection of compressed NFTs, you will need a different approach, such as a dedicated indexer or a specialized NFT API.

Limits and gotchas

The source lists several pitfalls worth knowing before you rely on this skill in production.

  • CoinGecko rate-limits, the free tier allows roughly 10 to 30 requests per minute. Price lookups use one request per token. Wallets with many tokens may not get prices for all of them. Use --no-prices for speed.
  • Public RPC rate-limits, Solana mainnet public RPC limits requests. For production use, set SOLANA_RPC_URL to a private endpoint (Helius, QuickNode, Triton).
  • NFT detection is heuristic, amount=1 plus decimals=0. Compressed NFTs (cNFTs) and Token-2022 NFTs will not appear.
  • Whale detector scans latest block only, not historical. Results vary by the moment you query.
  • Transaction history, public RPC keeps about 2 days. Older transactions may not be available.
  • Token names, about 25 well-known tokens are labeled by name. Others show abbreviated mint addresses. Use the token command for full info.
  • Retry on 429, both RPC and CoinGecko calls retry up to 2 times with exponential backoff on rate-limit errors.

Verification

Run the stats command to confirm the skill is working. It should print the current Solana slot, TPS, and SOL price.

# Should print current Solana slot, TPS, and SOL price
python ~/.hermes/skills/blockchain/solana/scripts/solana_client.py stats

What pairs with this

The source does not list related skills, but this skill fits naturally into a broader blockchain toolkit. If you are already using Hermes Agent for other on-chain tasks, this skill complements any workflow that needs Solana data without external dependencies. For deeper analysis, you might combine it with other skills that handle Ethereum or general Web3 queries, though the source does not specify them.

More Blockchain skills