Install
openclaw skills install crypto-market-intelCrypto Market Intelligence - Free market data pipeline for any OpenClaw agent. Zero API keys needed. Fetch real-time crypto prices, market metrics, Fear & Gr...
openclaw skills install crypto-market-intelReal-time market data pipeline for crypto, stocks, and macro indicators. Zero API keys required. All data fetched from free public APIs.
Trigger this skill when you need:
Fetch all market data:
cd ~/.openclaw/skills/crypto-market-intel/scripts
python3 market-data-fetcher.py all --output ~/market-data
Analyze market conditions:
./analyze-market.sh
✅ 6 Free APIs, Zero Keys
✅ Crypto Coverage
✅ Stocks & Macro
✅ Agent-Ready Output
python3 scripts/market-data-fetcher.py crypto --output ./data
Output: data/crypto-latest.json
python3 scripts/market-data-fetcher.py stocks --output ./data
Output: data/stocks-latest.json
python3 scripts/market-data-fetcher.py all --output ./data
Run the analyzer wrapper to fetch data and generate a market summary prompt:
./scripts/analyze-market.sh ~/market-data
This fetches fresh data and outputs a structured prompt for the agent to analyze:
Schedule hourly market data fetches:
crontab -e
# Fetch market data every hour
0 * * * * cd ~/.openclaw/skills/crypto-market-intel/scripts && python3 market-data-fetcher.py all --output ~/market-data
The agent can then read pre-fetched data for instant analysis without waiting for API calls.
crypto-latest.json){
"fetched_at": "2026-03-13T15:45:00Z",
"source": "coingecko+alternative.me",
"top_coins": [
{
"symbol": "BTC",
"name": "Bitcoin",
"price": 68500.0,
"market_cap": 1340000000000,
"volume_24h": 28000000000,
"change_24h_pct": 2.5,
"change_7d_pct": -1.2,
"change_1h_pct": 0.3,
"ath": 69000.0,
"ath_change_pct": -0.7,
"rank": 1
}
],
"global": {
"total_market_cap_usd": 2400000000000,
"total_volume_24h_usd": 85000000000,
"btc_dominance": 55.8,
"eth_dominance": 17.2,
"active_cryptocurrencies": 13245,
"market_cap_change_24h_pct": 1.8
},
"fear_greed": [
{
"value": 62,
"label": "Greed",
"date": "1710346800"
}
],
"trending": [
{
"name": "Solana",
"symbol": "SOL",
"rank": 5,
"score": 0
}
],
"defi_tvl": {
"total_tvl": 95800000000,
"date": 1710288000,
"change_1d": 2.1
}
}
stocks-latest.json){
"fetched_at": "2026-03-13T15:45:00Z",
"stocks": {
"indices": [
{
"symbol": "^GSPC",
"price": 5200.5,
"prev_close": 5180.0,
"change_pct": 0.4
}
],
"ai_chips": [
{
"symbol": "NVDA",
"price": 890.25,
"prev_close": 885.0,
"change_pct": 0.59
}
]
},
"dxy": {
"price": 103.45,
"prev_close": 103.2
},
"treasury_10y": {
"yield": 4.25,
"prev_close": 4.22
}
}
| API | Rate Limit | Notes |
|---|---|---|
| CoinGecko | 10-50 calls/min | Free tier, no key required |
| Alternative.me | Unlimited | Public endpoint |
| DeFi Llama | Unlimited | Public endpoint |
| Yahoo Finance | ~2000 calls/hour | Unofficial API, use responsibly |
Recommendation: Run fetcher hourly, not more frequently. APIs are free but fair use matters.
Problem: Fetch fails with timeout
Solution: Check network connection, try again in a few minutes. Some APIs have temporary outages.
Problem: Yahoo Finance returns no data for a stock
Solution: Symbol may be delisted or unavailable. Check symbol accuracy (use ^ prefix for indices, e.g., ^GSPC).
Problem: DeFi TVL is null
Solution: DeFi Llama API may be updating. Historical data endpoint occasionally has lag. Try again later.
Problem: Fear & Greed returns empty
Solution: Alternative.me may be down. Check https://alternative.me/crypto/fear-and-greed-index/ directly.
urllib (no external deps)--output flag to set data directory#!/bin/bash
python3 scripts/market-data-fetcher.py crypto --output /tmp
FEAR=$(jq '.fear_greed[0].value' /tmp/crypto-latest.json)
if [ "$FEAR" -lt 25 ]; then
echo "🚨 Extreme Fear detected: $FEAR — potential buy opportunity"
fi
import json
# Load pre-fetched data
with open("~/market-data/crypto-latest.json") as f:
data = json.load(f)
# Extract top movers
top_coins = data["top_coins"]
gainers = sorted(top_coins, key=lambda x: x["change_24h_pct"], reverse=True)[:5]
print("Top 5 Gainers (24h):")
for coin in gainers:
print(f"{coin['symbol']}: +{coin['change_24h_pct']:.2f}%")
See references/api-sources.md for detailed API documentation, endpoints, response schemas, and rate limit specifics.
Last Updated: 2026-03-13