Install any skill in seconds. Free to start, no credit card required.
Get Started Free →CLI for crypto portfolio tracking, market data, CEX history, and transaction lookups. Use when the user asks about crypto prices, wallet balances, portfolio values, Coinbase/Binance holdings, Polymarket predictions, or transaction details.
.claude/skills/sundial-org-onchain/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 179% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 96% | 0% |
CLI for crypto portfolio tracking, market data, and CEX history.
Before using most features, users must configure their API keys:
bashonchain setup
This interactive wizard helps configure:
Without setup: Only onchain price and onchain markets work (using free CoinGecko tier).
Verify setup: Run onchain test to check which providers are configured and working.
Agent note: If a command fails with "not configured" or "API key required", guide the user to run onchain setup first, then onchain test to verify.
onchain <command>bashonchain price <token> # Token price (btc, eth, sol, etc.) onchain markets # Market overview with trending onchain search <query> # Search tokens by name or symbol onchain gas # Current gas prices (Ethereum default) onchain gas --chain polygon # Gas prices for other EVM chains
bashonchain balance [address] # Token balances (auto-detects EVM/Solana) onchain balance --chain polygon # Filter by chain onchain history [address] # Transaction history onchain portfolio [address] # Full portfolio with DeFi positions
bashonchain tx <hash> # Lookup transaction details (auto-detects chain) onchain tx <hash> --chain base # Specify chain explicitly onchain tx <explorer-url> # Paste block explorer URL directly
Supports EVM chains (Ethereum, Polygon, Base, Arbitrum, Optimism, BSC, Avalanche, Fantom) and Solana. Accepts raw hashes or explorer URLs (etherscan.io, basescan.org, solscan.io, etc.).
Transaction Details
✓ Status: SUCCESS
Hash: 0xd757...5f31
Chain: Base
Block: 41,310,593
Time: Jan 26, 2026, 01:55 PM (4h ago)
Addresses
From: 0xc4e7263dd870a29f1cfe438d1a7db48547b16888
To: 0xab98b760e5ad88521a97c0f87a3f6eef8c42641d
Value & Fee
Value: 0 ETH
Fee: 3.62e-7 ETH
Gas: 96,893 / 249,604 (39%)
Method
ID: 0x6a761202
🔗 https://basescan.org/tx/0xd757...This output contains all available transaction data. The CLI queries Etherscan/Solscan APIs directly - there is no additional data available from other sources.
bashonchain coinbase balance # Coinbase balances onchain coinbase history # Coinbase trade history onchain binance balance # Binance balances onchain binance history # Binance trade history
bashonchain polymarket tags # List all available tags/categories onchain polymarket tags --popular # Show popular tags by market count onchain polymarket trending # Trending markets (respects config filters) onchain polymarket trending --all # Show all markets (ignore config filters) onchain polymarket trending --exclude sports,nfl # Exclude specific tags onchain polymarket trending --include crypto,ai # Only show specific tags onchain polymarket search <query> # Search markets (respects config filters) onchain polymarket view <slug> # View market details onchain polymarket sentiment <topic> # Analyze market sentiment for a topic
Sentiment analysis: Analyzes prediction markets to determine bullish/bearish expectations:
bashonchain polymarket sentiment fed # Fed rate expectations onchain polymarket sentiment bitcoin # Bitcoin market sentiment onchain polymarket sentiment ai # AI-related predictions onchain polymarket sentiment trump # Political sentiment onchain polymarket sentiment fed --json # JSON output for agents
Tag filtering: Configure default excludes in ~/.config/onchain/config.json5:
json5{ "polymarket": { "excludeTags": ["sports", "nfl", "nba", "mlb"], "includeTags": [] // empty = all non-excluded } }
bashonchain setup # Interactive setup wizard onchain config # View current config onchain config wallet add <name> <address> onchain config wallet set-default <name>
--json - Output as JSON (agent-friendly)--plain - Disable colors and emoji--timeout <ms> - Request timeoutConfig file: ~/.config/onchain/config.json5
| Feature | API Key | Get Key | |---------|---------|---------| | EVM wallets | DEBANK_API_KEY | DeBank | | Solana wallets | HELIUS_API_KEY | Helius | | Coinbase CEX | COINBASE_API_KEY + COINBASE_API_SECRET | Coinbase | | Binance CEX | BINANCE_API_KEY + BINANCE_API_SECRET | Binance |
| Feature | API Key | Notes | |---------|---------|-------| | Market data | COINGECKO_API_KEY | Free tier works, Pro for higher limits | | Market fallback | COINMARKETCAP_API_KEY | Alternative market data source | | EVM tx lookup | ETHERSCAN_API_KEY | For onchain tx on EVM chains | | Solana tx lookup | SOLSCAN_API_KEY | For onchain tx on Solana |
bashonchain price btc
bashonchain balance 0x1234...5678
bashonchain portfolio main # Uses saved wallet named "main"
bashonchain polymarket trending -n 5 # Top 5 (respects config filters) onchain polymarket trending --all # All markets, ignore config onchain polymarket trending --exclude sports # Filter out sports on-the-fly
bashonchain tx 0xd757e7e4cdb424e22319cbf63bbcfcd4b26c93ebef31d1458ab7d5e986375f31 onchain tx https://basescan.org/tx/0x... # Or paste explorer URL
bashonchain search pepe # Find tokens matching "pepe" onchain search "shiba inu" -l 5 # Limit to 5 results
bashonchain gas # Ethereum gas prices onchain gas --chain polygon # Polygon gas prices onchain gas --json # JSON output
bashonchain --json price eth | jq '.priceUsd'
Ethereum, BNB Chain, Polygon, Arbitrum, Optimism, Avalanche, Base, zkSync Era, Linea, Scroll, Blast, Mantle, Gnosis, Fantom, Celo, and more.
Full Solana mainnet support including SPL tokens and NFTs.
This CLI is designed for agent use. Key patterns:
--json for programmatic accessonchain setup, reference by namebash# Get portfolio value VALUE=$(onchain --json portfolio main | jq -r '.totalValueUsd') # Get price with change onchain --json price btc | jq '{price: .priceUsd, change24h: .priceChange24h}' # Check if market is bullish CHANGE=$(onchain --json markets | jq '.marketCapChange24h') # Get transaction details as JSON TX=$(onchain --json tx 0x... --chain base) echo $TX | jq '{status: .status, from: .from, to: .to, method: .methodId}'
IMPORTANT: Trust the CLI output. The onchain tx command queries Etherscan (EVM) or Solscan (Solana) APIs directly and returns all available data.
DO NOT:
cast or other CLI tools as "fallbacks"DO:
onchain tx <hash> or onchain tx <explorer-url>--json for structured data parsingExample interpretation:
bashonchain tx 0x... --chain base
If output shows Status: SUCCESS, From: 0x..., To: 0x..., Method ID: 0x6a761202 - that's a successful contract interaction. The method ID 0x6a761202 is execTransaction (Gnosis Safe). No additional lookups needed.
Other measured skills in the registry, with their headline benchmark lift.