onchain

SKILL.md

Onchain CLI

CLI for crypto portfolio tracking, market data, and CEX history.

First-Time Setup (Required)

Before using most features, users must configure their API keys:

onchain setup

This interactive wizard helps configure:

  • Zerion - Unified EVM + Solana portfolio, balances, and history (recommended — replaces DeBank + Helius for most features)
  • Coinbase/Binance - For CEX balances and trade history
  • DeBank - For EVM wallet data (fallback if no Zerion key)
  • Helius - For Solana wallet data (fallback if no Zerion key)

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.

Invocation

onchain <command>

Commands

Market Data

onchain 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

Wallet Data

onchain balance <address>           # Token balances (auto-detects EVM/Solana)
onchain balance <address> --chain polygon  # Filter by chain
onchain history <address>           # Transaction history
onchain portfolio <address>         # Full portfolio with DeFi positions

Address is required — pass an EVM address (0x...) or a Solana address. There is no default wallet; you must always provide the address explicitly.

Transaction Lookup

onchain 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.).

Example Output

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.

CEX Data

onchain coinbase balance      # Coinbase balances
onchain coinbase history      # Coinbase trade history
onchain binance balance       # Binance balances
onchain binance history       # Binance trade history

Prediction Markets

onchain 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:

onchain 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:

{
  "polymarket": {
    "excludeTags": ["sports", "nfl", "nba", "mlb"],
    "includeTags": []  // empty = all non-excluded
  }
}

Configuration

onchain setup                 # Interactive setup wizard
onchain config                # View current config
onchain config set <key> <value>  # Set config value (e.g., timeoutMs)

Wallet Connectivity (WalletConnect)

Connect mobile wallets (MetaMask, Rainbow, etc.) to send transactions:

onchain wallet connect              # Show QR code, connect wallet
onchain wallet connect --chain base # Connect on specific EVM chain
onchain wallet status               # Check connection status
onchain wallet send <to> <amount>   # Send ETH/native token
onchain wallet send <to> <amount> --chain polygon           # Send on Polygon
onchain wallet send <to> <amount> --token 0xUSDC --decimals 6  # Send ERC-20
onchain wallet switch base          # Switch EVM chain
onchain wallet disconnect           # Disconnect wallet

Global Options

  • --json - Output as JSON (agent-friendly)
  • --plain - Disable colors and emoji
  • --timeout <ms> - Request timeout

Configuration

Config file: ~/.config/onchain/config.json5

Required API Keys

Feature API Key Get Key
Unified wallets (EVM + Solana) ZERION_API_KEY Zerion
Coinbase CEX COINBASE_API_KEY + COINBASE_API_SECRET Coinbase
Binance CEX BINANCE_API_KEY + BINANCE_API_SECRET Binance

Fallback API Keys (if no Zerion key)

Feature API Key Get Key
EVM wallets DEBANK_API_KEY DeBank
Solana wallets HELIUS_API_KEY Helius

Optional API Keys

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
Wallet connect WALLETCONNECT_PROJECT_ID For onchain wallet commands (Get ID)

Examples

Get Bitcoin price

onchain price btc

Check wallet balance

onchain balance 0x1234...5678

View portfolio with DeFi positions

onchain portfolio 0x1234...5678

Get trending prediction markets

onchain 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

Lookup a transaction

onchain tx 0xd757e7e4cdb424e22319cbf63bbcfcd4b26c93ebef31d1458ab7d5e986375f31
onchain tx https://basescan.org/tx/0x...  # Or paste explorer URL

Search for tokens

onchain search pepe               # Find tokens matching "pepe"
onchain search "shiba inu" -l 5   # Limit to 5 results

Check gas prices

onchain gas                   # Ethereum gas prices
onchain gas --chain polygon   # Polygon gas prices
onchain gas --json            # JSON output

JSON output for scripts

onchain --json price eth | jq '.priceUsd'

Supported Chains

EVM + Solana (via Zerion — preferred)

Ethereum, BNB Chain, Polygon, Arbitrum, Optimism, Avalanche, Base, zkSync Era, Linea, Scroll, Blast, Mantle, Gnosis, Fantom, Celo, Solana, and more. Single API key covers all chains.

EVM (via DeBank — fallback)

Same EVM chains as above, requires separate DeBank API key.

Solana (via Helius — fallback)

Full Solana mainnet support including SPL tokens and NFTs, requires separate Helius API key.

Agent Integration

This CLI is designed for agent use. Key patterns:

  1. Always use --json for programmatic access
  2. Check exit codes - 0 for success, 1 for error
  3. Always pass an address - Wallet commands require an explicit address (no default wallet)
  4. Rate limiting - APIs have rate limits, add delays between rapid calls

Example Agent Usage

# Get portfolio value (address is required)
VALUE=$(onchain --json portfolio 0x1234...5678 | 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}'

Transaction Lookup Guidance

IMPORTANT: Trust the CLI output. The onchain tx command queries Etherscan (EVM) or Solscan (Solana) APIs directly and returns all available data.

DO NOT:

  • Use curl to hit Etherscan/Basescan APIs directly
  • Use cast or other CLI tools as "fallbacks"
  • Use WebFetch to scrape block explorer websites
  • Assume the CLI is missing data - it returns everything available

DO:

  • Use onchain tx <hash> or onchain tx <explorer-url>
  • Use --json for structured data parsing
  • Interpret the output directly to answer user questions

Example interpretation:

onchain 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.

Weekly Installs
15
Repository
skillhq/onchain
First Seen
Jan 29, 2026
Installed on
openclaw11
gemini-cli10
claude-code10
opencode9
cursor9
github-copilot8