Hermes Blockchain Oracle: On-Chain Solana Data for Hermes Agent
Connects Hermes Agent to Solana blockchain for natural language on-chain queries.
- Author
- gizdusum
- Stars
- 4
- Language
- Python
- License
- MIT
- Upstream updated
- 2026-05-17

Hermes Blockchain Oracle is a Model Context Protocol (MCP) server that connects Hermes Agent, an LLM runtime by Nous Research, to the Solana blockchain. Once wired up, an agent can query wallet balances, track whale movements, analyze tokens, explore NFTs, and monitor network health using natural language, eliminating the need for manual block explorer searches.
What It Does

Hermes Blockchain Oracle exposes seven tools that give Hermes Agent real-time access to Solana on-chain data. According to the official documentation and the project overview on Hermes Atlas, the concrete capabilities are:
- Real-time wallet balances and token portfolio tracking. Query any Solana wallet's SOL balance, token holdings, and portfolio value.
- Large-scale whale transfer detection. Detect large transfers on Solana in real-time with configurable movement thresholds (minimum SOL amount and minimum USD value).
- NFT metadata, collection details, and floor price information. List all NFTs in a wallet, including collections, floor prices, and metadata.
- Full transaction details by signature. Look up instructions, fees, and status for any transaction.
- Token metadata, total/circulating supply, decimals, and holder count. Get detailed information about any SPL token.
- Recent transaction history for any wallet. Fetch recent transactions with human-readable summaries.
- Network health monitoring. Get current Solana TPS, slot height, epoch info, and active validator count.
These capabilities are delivered through the following tools, as documented in the README:
| Tool | Description |
|---|---|
solana_wallet_info | Query any wallet's SOL balance, token holdings, and portfolio value |
solana_transaction | Look up full transaction details by signature, instructions, fees, status |
solana_token_info | Get token metadata, total/circulating supply, decimals, and holder count |
solana_recent_activity | Fetch recent transactions for any wallet with human-readable summaries |
solana_nft_portfolio | List all NFTs in a wallet, collections, floor prices, and metadata |
whale_detector | Detect large transfers on Solana in real-time, configurable thresholds |
solana_network_stats | Get current Solana network health, TPS, slot height, and epoch info |
The oracle functions as a bridge between conversational AI and the Solana blockchain. Users ask questions in plain English and receive rich, real-time on-chain data. The project overview on Hermes Atlas states that by integrating directly with Solana RPC nodes, it eliminates the need for manual block explorer searches.
Setup
1. Install
Install the package via pip:
pip install hermes-blockchain-oracle
Or install from source by cloning the repository:
git clone https://github.com/NousResearch/hermes-blockchain-oracle.git
cd hermes-blockchain-oracle
pip install -e .
2. Configure (Optional)
Set your preferred Solana RPC endpoint for best performance. The default is the public mainnet-beta endpoint:
export SOLANA_RPC_URL="https://api.mainnet-beta.solana.com"
Both sources note that for production use, you should consider a dedicated RPC provider like Helius, QuickNode, or Triton for higher rate limits and reliability.
3. Launch with Hermes Agent
Start Hermes Agent with the MCP flag pointing to the oracle:
hermes-agent --mcp blockchain=hermes-blockchain-oracle
That is the entire setup. Once the agent starts, it has full Solana blockchain awareness.
Configuration Reference
The following environment variables control the oracle's behavior. The table below is reproduced from the official README.
| Environment Variable | Default | Description |
|---|---|---|
SOLANA_RPC_URL | https://api.mainnet-beta.solana.com | Solana RPC endpoint |
ORACLE_PORT | 8420 | Port for the MCP server |
WHALE_THRESHOLD_SOL | 1000 | Minimum SOL transfer to trigger whale alerts |
WHALE_THRESHOLD_USD | 100000 | Minimum USD value to trigger whale alerts |
CACHE_TTL_SECONDS | 30 | Cache duration for repeated queries |
LOG_LEVEL | INFO | Logging verbosity (DEBUG, INFO, WARN, ERROR) |
SOLANA_RPC_URL determines which Solana RPC node the oracle queries. The default points to the public Solana mainnet-beta endpoint, but for production workloads a dedicated provider is recommended. ORACLE_PORT sets the port on which the MCP server listens. WHALE_THRESHOLD_SOL and WHALE_THRESHOLD_USD together define what constitutes a whale transfer; both thresholds must be met or exceeded for an alert to fire. CACHE_TTL_SECONDS controls how long the oracle caches responses to repeated queries, reducing RPC load. LOG_LEVEL sets the verbosity of the server's log output.
How It Works
Both sources describe the architecture in detail. The Model Context Protocol (MCP) is a standardized interface that allows LLM agents to discover and invoke external tools. The integration follows a five-step flow:
-
Registration. When Hermes Agent starts with
--mcp blockchain=hermes-blockchain-oracle, the oracle registers its seven tools with the agent, including full JSON schemas describing each tool's parameters and return types. -
Discovery. Hermes Agent understands what tools are available and what they can do. When a user asks a blockchain-related question, the LLM autonomously decides which tool or tools to call.
-
Invocation. The agent constructs a structured tool call (for example,
solana_wallet_info(address="GsBd49...")) and sends it to the oracle server via the MCP transport layer. -
Execution. The oracle queries the Solana RPC, processes the raw data, and returns a structured response.
-
Synthesis. Hermes Agent incorporates the on-chain data into a natural language response for the user.
The architecture diagram from the README shows the full stack:
┌─────────────────────────────────────────────────────────┐
│ USER │
│ "Check this wallet..." │
└──────────────────────┬──────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ HERMES AGENT │
│ (Nous Research LLM Runtime) │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Model Context Protocol (MCP) │ │
│ │ Tool Discovery · Schema Negotiation │ │
│ │ Request Routing · Response Formatting │ │
│ └──────────────────────┬──────────────────────────┘ │
└──────────────────────────┼──────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ HERMES BLOCKCHAIN ORACLE │
│ (This MCP Server) │
│ │
│ ┌───────────┐ ┌───────────┐ ┌───────────────────┐ │
│ │ Wallet │ │ Token │ │ Transaction │ │
│ │ Tools │ │ Tools │ │ Tools │ │
│ └─────┬─────┘ └─────┬─────┘ └────────┬──────────┘ │
│ ┌─────┴─────┐ ┌─────┴─────┐ ┌────────┴──────────┐ │
│ │ NFT │ │ Whale │ │ Network │ │
│ │ Tools │ │ Detector │ │ Stats │ │
│ └─────┬─────┘ └─────┬─────┘ └────────┬──────────┘ │
│ └──────────────┼────────────────┘ │
└────────────────────────┼────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ SOLANA BLOCKCHAIN │
│ RPC Nodes · Mainnet-Beta · On-Chain Programs │
└─────────────────────────────────────────────────────────┘
The documentation emphasizes that this architecture makes the oracle stateless, composable, and independently deployable. You can upgrade the oracle without touching the agent, or swap in a different blockchain oracle entirely.
Requirements and Limitations
Based on the sources, the following requirements and limitations apply:
- Python version. The badge in the README indicates Python 3.10+ is required.
- Solana mainnet-beta. The default RPC endpoint points to mainnet-beta. The sources do not mention devnet or testnet support, though you could point
SOLANA_RPC_URLat a different endpoint at your own risk. - Network access. The oracle must have outbound access to a Solana RPC node. Without internet connectivity to an RPC endpoint, the tools will fail.
- Rate limits. The public Solana RPC endpoint has rate limits. For production use, the documentation recommends a dedicated RPC provider.
- Whale detection is real-time but polling-based. The whale detector checks for large transfers in real-time, but the exact polling mechanism is not detailed in the sources. The
CACHE_TTL_SECONDSsetting of 30 seconds suggests a polling interval or cache refresh cycle. - No multi-chain support. The oracle is Solana-only. The sources do not mention any other blockchain.
- Experimental status. The project is licensed under MIT and carries no warranty. The README invites contributions for bug fixes and new tools, implying it is under active development.
Troubleshooting
The sources do not document specific failure modes or error messages. However, based on the configuration and architecture described, you can infer common issues and their fixes:
- RPC connection failure. If the oracle cannot reach the Solana RPC node, all tools will fail. Verify that
SOLANA_RPC_URLis set correctly and that the endpoint is reachable from your network. Test with curl:curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"getHealth"}' $SOLANA_RPC_URL. - Rate limiting. If you see timeouts or "429 Too Many Requests" errors, switch to a dedicated RPC provider with higher rate limits.
- Port conflict. If the MCP server fails to start, check that port 8420 (or the port set via
ORACLE_PORT) is not already in use. Change the port withexport ORACLE_PORT=8421. - Hermes Agent not recognizing the oracle. Ensure the
--mcpflag is formatted exactly asblockchain=hermes-blockchain-oracle. If the package is installed in a different Python environment, Hermes Agent may not find it. Install the oracle in the same environment as Hermes Agent. - Cache returning stale data. If you suspect cached responses, reduce
CACHE_TTL_SECONDSor set it to 0 to disable caching entirely. - Whale alerts not firing. Check that both
WHALE_THRESHOLD_SOLandWHALE_THRESHOLD_USDare set to values that match the transfers you expect to detect. Both thresholds must be met.
For debugging, the sources recommend running the server standalone:
python -m hermes_blockchain_oracle --debug
This starts the MCP server in debug mode, which sets LOG_LEVEL to DEBUG and prints detailed logs to the console.
Sources & References
This page was researched from 2 independent sources, combined and verified for completeness.
- 1.gizdusum/hermes-blockchain-oracleBlog · primary source
- 2.gizdusum/hermes-blockchain-oracle READMEOfficial documentation
The #1 AI Newsletter
The most important ai updates, guides, and fixes — one weekly email.
No spam, unsubscribe anytime. Privacy policy