Install
$ agentstack add skill-vyntral-arkham-intelligence-claude-skill-arkham-api ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Arkham Intelligence API Skill
Configuration
API Key must be set in Claude Code settings:
// ~/.claude/settings.json
{
"env": {
"ARKHAM_API_KEY": "your_api_key_here"
}
}
Restart Claude Code after adding the key.
Making API Calls
Important: Always use this pattern for API calls:
KEY=$(printenv ARKHAM_API_KEY)
curl -s "https://api.arkm.com/ENDPOINT" -H "API-Key: $KEY" | jq .
Rate Limits
- Standard endpoints: 20 req/sec
- Heavy endpoints (1 req/sec):
/transfers,/swaps,/counterparties/*,/token/top_flow/*,/token/volume/*
Quick Reference
Intelligence
# Address info
curl -s "https://api.arkm.com/intelligence/address/0x...?chain=ethereum" -H "API-Key: $KEY" | jq .
# Entity info (binance, wintermute, jump-trading, etc.)
curl -s "https://api.arkm.com/intelligence/entity/wintermute" -H "API-Key: $KEY" | jq .
Balances & Portfolio
# Entity balances
curl -s "https://api.arkm.com/balances/entity/wintermute" -H "API-Key: $KEY" | jq .
# Address balances
curl -s "https://api.arkm.com/balances/address/0x...?chains=ethereum,solana" -H "API-Key: $KEY" | jq .
Transfers
# Recent transfers from entity
curl -s "https://api.arkm.com/transfers?base=binance&flow=out&timeLast=24h&limit=20" -H "API-Key: $KEY" | jq .
# Large transfers
curl -s "https://api.arkm.com/transfers?usdGte=1000000&timeLast=24h&limit=50" -H "API-Key: $KEY" | jq .
Token Analysis
# Top holders
curl -s "https://api.arkm.com/token/holders/pepe?groupByEntity=true" -H "API-Key: $KEY" | jq .
# Trending tokens
curl -s "https://api.arkm.com/token/trending" -H "API-Key: $KEY" | jq .
# Top tokens by volume
curl -s "https://api.arkm.com/token/top?timeframe=24h&orderByAgg=volume&orderByDesc=true&orderByPercent=false&from=0&size=20" -H "API-Key: $KEY" | jq .
# Token flows (inflows/outflows)
curl -s "https://api.arkm.com/token/top_flow/ethereum?timeLast=24h" -H "API-Key: $KEY" | jq .
Market Data
# Network status (prices, volume, market cap)
curl -s "https://api.arkm.com/networks/status" -H "API-Key: $KEY" | jq .
# Altcoin index (altseason indicator)
curl -s "https://api.arkm.com/marketdata/altcoin_index" -H "API-Key: $KEY" | jq .
Practical Use Cases
1. Find Smart Money / Market Makers
KEY=$(printenv ARKHAM_API_KEY)
# Get market maker info
curl -s "https://api.arkm.com/intelligence/entity/wintermute" -H "API-Key: $KEY" | jq .
# Check their holdings (balances organized by chain)
cat > /tmp/flatten_balances.jq /tmp/whale_holdings.jq 100000) | {symbol, usd}] | sort_by(-.usd)
EOF
curl -s "https://api.arkm.com/balances/entity/wintermute" -H "API-Key: $KEY" | jq -f /tmp/whale_holdings.jq
3. Track Large Movements
KEY=$(printenv ARKHAM_API_KEY)
# Whale transfers last 24h (note: use historicalUSD, not unitValueUsd)
curl -s "https://api.arkm.com/transfers?usdGte=5000000&timeLast=24h&limit=50" -H "API-Key: $KEY" \
| jq '.transfers[] | {from: .fromAddress.arkhamEntity.name, to: .toAddress.arkhamEntity.name, usd: .historicalUSD, token: .tokenSymbol}'
4. Token Holder Analysis
KEY=$(printenv ARKHAM_API_KEY)
# Who holds this token? (entityTopHolders organized by chain)
cat > /tmp/token_holders.jq /tmp/accumulators.jq /tmp/sellers.jq /tmp/hacker_holdings.jq /tmp/wm.json
curl -s "https://api.arkm.com/balances/entity/jump-trading" -H "API-Key: $KEY" > /tmp/jt.json
# Compare totals and top holdings
cat > /tmp/portfolio_summary.jq /tmp/cex_flows.jq /tmp/network.jq /tmp/filter.jq << 'EOF'
[.[] | select(.address.arkhamEntity.name != null) | {
entity: (.address.arkhamEntity.name // "unknown"),
type: .address.arkhamEntity.type,
net_flow: (.inUSD - .outUSD)
}] | sort_by(-.net_flow)
EOF
curl -s "https://api.arkm.com/token/top_flow/ethereum?timeLast=7d" \
-H "API-Key: $KEY" | jq -f /tmp/filter.jq
# ✅ For simple cases, use alternative syntax:
curl ... | jq 'select(.name | . != null)' # wrap in subexpression
Response Structure Variations
⚠️ CRITICAL: Most endpoints return data organized by chain, NOT flat arrays!
| Endpoint | Structure | How to Access | |----------|-----------|---------------| | /balances/entity | {balances: {chain: [...]}, totalBalance: {chain: num}} | .balances.ethereum[] or flatten with to_entries | | /token/holders | {entityTopHolders: {chain: [...]}} | .entityTopHolders.solana[] | | /token/top_flow | [{address: {arkhamEntity}, inUSD, outUSD}] | Direct array, entity in .address.arkhamEntity | | /counterparties | {chain: [...]} | .ethereum[] (no wrapper key) | | /transfers | {transfers: [...]} | .transfers[], USD in .historicalUSD | | /token/trending | [{name, symbol, identifier}] | Direct array, flat structure | | /token/top | {tokens: [...], total} | .tokens[], requires orderByPercent param | | /networks/status | {chain: {price, volume, ...}} | .ethereum.price, chain-organized | | /loans/entity | {balances, entities, totalPositions} | DeFi positions by protocol |
Key Fields:
- Transfers:
historicalUSD(notunitValueUsd) - Token holders:
.entity.name(not.arkhamEntity.name) - Balances: organized by chain,
totalBalanceis object not number
Tip: Always run jq 'keys' or jq 'type' first to explore unknown structures.
All Endpoints Reference
For detailed parameters, see ARKHAM_API_DOCUMENTATION.md
| Category | Endpoint | Note | |----------|----------|------| | Health | GET /health | | | | GET /chains | | | Transfers | GET /transfers | HEAVY | | | GET /transfers/histogram | HEAVY | | | GET /transfers/histogram/simple | HEAVY | | | GET /swaps | HEAVY, works | | Transaction | GET /tx/{hash} | | | Intelligence | GET /intelligence/address/{address} | | | | GET /intelligence/address/{address}/all | Multi-chain | | | GET /intelligence/address_enriched/{address} | With tags/predictions | | | GET /intelligence/address_enriched/{address}/all | | | | GET /intelligence/entity/{entity} | | | | GET /intelligence/entity/{entity}/summary | | | | GET /intelligence/entity_predictions/{entity} | ML predictions | | | GET /intelligence/contract/{chain}/{address} | | | | GET /intelligence/token/{id} | By CoinGecko ID | | | GET /intelligence/token/{chain}/{address} | By contract | | Clusters & Tags | GET /cluster/{id}/summary | | | | GET /tag/{id}/params | | | | GET /tag/{id}/summary | | | History | GET /history/entity/{entity} | | | | GET /history/address/{address} | | | Portfolio | GET /portfolio/entity/{entity}?time={ms} | Snapshot | | | GET /portfolio/address/{address}?time={ms} | | | | GET /portfolio/timeSeries/entity/{entity} | Daily series | | | GET /portfolio/timeSeries/address/{address} | | | Token | GET /token/top | By exchange movements | | | GET /token/holders/{pricing_id} | | | | GET /token/holders/{chain}/{address} | | | | GET /token/trending | | | | GET /token/trending/{id} | | | | GET /token/top_flow/{id} | HEAVY | | | GET /token/top_flow/{chain}/{address} | HEAVY | | | GET /token/volume/{id} | HEAVY | | | GET /token/volume/{chain}/{address} | HEAVY | | | GET /token/balance/{id} | | | | GET /token/balance/{chain}/{address} | | | Balances | GET /balances/address/{address} | | | | GET /balances/entity/{entity} | | | Loans | GET /loans/address/{address} | DeFi positions | | | GET /loans/entity/{entity} | | | Counterparties | GET /counterparties/address/{address} | HEAVY | | | GET /counterparties/entity/{entity} | HEAVY | | Flow | GET /flow/address/{address} | USD flows | | | GET /flow/entity/{entity} | | | Networks | GET /networks/status | | | | GET /networks/history/{chain} | | | Market | GET /marketdata/altcoin_index | | | User | GET /user/entities | | | | GET /user/entities/{id} | | | | GET /user/labels | | | | POST /user/labels | | | WebSocket | wss://api.arkm.com/ws/transfers | Real-time |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Vyntral
- Source: Vyntral/arkham-intelligence-claude-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.