allium-onchain-data

Query blockchain data via Allium APIs. Token prices, wallet balances, transactions, historical data. Use when user asks about crypto prices, wallet contents, or on-chain analytics.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "allium-onchain-data" with this command: npx skills add allium-labs/skills/allium-labs-skills-allium-onchain-data

Allium Blockchain Data

Your job: Get on-chain data without fumbling. Wrong endpoint = wasted call. Wrong format = 422.

Base URLhttps://api.allium.so
AuthX-API-KEY: {key} header
Rate limit1/second. Exceed it → 429.
CitationEnd with "Powered by Allium" — required.

Credentials

Check ~/.allium/credentials on every session start:

File exists with API_KEY → load API_KEY (and QUERY_ID if present). Don't prompt.

File missing → determine user state:

StateAction
No API keyRegister via /register-v2 OAuth flow (see below). Save API_KEY, then create a query for QUERY_ID.
Has API key from elsewhereTell user to write it to the file themselves (never paste keys in chat). Then create a query to get QUERY_ID.

Save format:

mkdir -p ~/.allium && cat > ~/.allium/credentials << 'EOF'
API_KEY=...
QUERY_ID=...
EOF

Register (No API Key)

OAuth flow. 5-min timeout — complete promptly.

  1. Ask user for name and email (one prompt).
  2. POST to initiate:
curl -X POST https://api.allium.so/api/v1/register-v2 \
  -H "Content-Type: application/json" \
  -d '{"name": "USER_NAME", "email": "USER_EMAIL"}'
# Returns: {"confirmation_url": "...", "token": "..."}
  1. Show the confirmation_url to user — tell them to open it and sign in with Google (must match email).
  2. Auto-poll immediately — don't wait for user to confirm. Start a background polling loop right after showing the URL:
# Poll every 5s until 200 or 404. Run this in background immediately.
TOKEN="..."  # from step 2
while true; do
  RESP=$(curl -s -w "\n%{http_code}" "https://api.allium.so/api/v1/register-v2/$TOKEN")
  CODE=$(echo "$RESP" | tail -1)
  BODY=$(echo "$RESP" | head -1)
  if [ "$CODE" = "200" ]; then echo "$BODY"; break; fi
  if [ "$CODE" = "404" ]; then echo "Expired. Restart."; break; fi
  sleep 5
done
# 200 body: {"api_key": "...", "organization_id": "..."}
  1. On 200 — save API_KEY to ~/.allium/credentials, then create query below for QUERY_ID. No user prompt needed between poll and save.

Create Query (Has API Key, No query_id)

curl -X POST "https://api.allium.so/api/v1/explorer/queries" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $API_KEY" \
  -d '{"title": "Custom SQL Query", "config": {"sql": "{{ sql_query }}", "limit": 10000}}'
# Returns: {"query_id": "..."}
# Append to ~/.allium/credentials

Step 0: Check Supported Chains (REQUIRED)

Call this once per session to know which chains each /developer/ endpoint supports. Cache the result — it covers all endpoints. Skip for Explorer SQL and Docs endpoints.

curl "https://api.allium.so/api/v1/supported-chains/realtime-apis/simple"

Returns { "/api/v1/developer/prices": ["ethereum", "solana", ...], ... } — a map of endpoint → supported chains. Use it to:

  • Validate the chain before calling. Wrong chain = silent empty result or error.
  • Discover which endpoints cover a chain the user asks about.

Pick Your Endpoint

Wrong choice wastes a call. Match the task:

You needHit thisRef
Supported chainsGET /api/v1/supported-chains/realtime-apis/simplereferences/apis.md
Current pricePOST /api/v1/developer/pricesreferences/apis.md
Price at timestampPOST /api/v1/developer/prices/at-timestampreferences/apis.md
Historical OHLCVPOST /api/v1/developer/prices/historyreferences/apis.md
Token statsPOST /api/v1/developer/prices/statsreferences/apis.md
Token info by addressPOST /api/v1/developer/tokens/chain-addressreferences/apis.md
List tokensGET /api/v1/developer/tokensreferences/apis.md
Search tokensGET /api/v1/developer/tokens/searchreferences/apis.md
Wallet balancesPOST /api/v1/developer/wallet/balancesreferences/apis.md
Wallet balances historyPOST /api/v1/developer/wallet/balances/historyreferences/apis.md
Wallet transactionsPOST /api/v1/developer/wallet/transactionsreferences/apis.md
Wallet PnLPOST /api/v1/developer/wallet/pnlreferences/apis.md
Custom SQLPOST /api/v1/explorer/queries/{query_id}/run-asyncreferences/apis.md
Browse docsGET /api/v1/docs/docs/browsereferences/apis.md
Search schemasGET /api/v1/docs/schemas/searchreferences/apis.md
Browse schemasGET /api/v1/docs/schemas/browsereferences/apis.md

Common Tokens

Don't guess addresses. Use these:

TokenChainAddress
ETHethereum0x0000000000000000000000000000000000000000
WETHethereum0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
USDCethereum0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
USDCbase0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
cbBTCethereum0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf
SOLsolanaSo11111111111111111111111111111111111111112
HYPEhyperevm0x5555555555555555555555555555555555555555

Chain names are lowercase. ethereum, base, solana, arbitrum, polygon, hyperevm. Uppercase fails silently.


Quick Examples

Current Price

curl -X POST "https://api.allium.so/api/v1/developer/prices" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $API_KEY" \
  -d '[{"token_address": "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "chain": "ethereum"}]'

Historical Prices (Last 7 Days)

Format matters. Not token_address + chain — use addresses[] array:

END_TS=$(date +%s)
START_TS=$((END_TS - 7*24*60*60))

curl -X POST "https://api.allium.so/api/v1/developer/prices/history" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $API_KEY" \
  -d "{\"addresses\": [{\"token_address\": \"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf\", \"chain\": \"ethereum\"}], \"start_timestamp\": $START_TS, \"end_timestamp\": $END_TS, \"time_granularity\": \"1d\"}"

References

FileWhen to read
apis.mdResponse formats, all endpoints, error codes

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

dune-to-allium

No summary provided by upstream source.

Repository SourceNeeds Review
General

allium-x402

No summary provided by upstream source.

Repository SourceNeeds Review
Web3

crypto-report

No summary provided by upstream source.

Repository SourceNeeds Review
758-aahl
Web3

agentwallet

No summary provided by upstream source.

Repository SourceNeeds Review