Tools & Dashboards
Interactive tools for blockchain data exploration and analysis, all powered by the same API endpoints you can access programmatically.
Price Dashboard
Real-time cryptocurrency price tracking across all supported chains.
Features:
- Live price updates every 30 seconds
- Market cap and volume tracking
- 24-hour change indicators
- Historical price charts
Price API Endpoints
| Endpoint | Description | CU Cost |
|---|---|---|
GET /v1/price/{chain}/{symbol} | Current token price | 5 CUs |
GET /v1/price/{chain}/{symbol}/history | Historical prices | 15 CUs/day |
Get Current Price
curl -H "X-API-Key: $AXOL_API_KEY" \
https://api.axol.io/api/v1/price/ethereum/ETH
Response:
{
"symbol": "ETH",
"price_usd": 3250.50,
"price_change_24h": 2.5,
"volume_24h": 15000000000,
"market_cap": 390000000000,
"timestamp": "2026-01-15T10:30:00Z"
}
Python Example
import requests
API_KEY = "your_api_key"
BASE_URL = "https://api.axol.io/api/v1"
headers = {"X-API-Key": API_KEY}
def get_price(chain: str, symbol: str) -> dict:
"""Get current token price."""
response = requests.get(
f"{BASE_URL}/price/{chain}/{symbol}",
headers=headers
)
return response.json()
def get_price_history(chain: str, symbol: str, days: int = 7) -> list:
"""Get historical prices."""
response = requests.get(
f"{BASE_URL}/price/{chain}/{symbol}/history",
headers=headers,
params={"days": days}
)
return response.json()
# Get ETH price
eth_price = get_price("ethereum", "ETH")
print(f"ETH: ${eth_price['price_usd']:,.2f}")
# Get 7-day history
history = get_price_history("ethereum", "ETH", days=7)
TypeScript Example
const API_KEY = process.env.AXOL_API_KEY;
const BASE_URL = 'https://api.axol.io/api/v1';
interface TokenPrice {
symbol: string;
price_usd: number;
price_change_24h: number;
volume_24h: number;
market_cap: number;
timestamp: string;
}
async function getPrice(chain: string, symbol: string): Promise<TokenPrice> {
const response = await fetch(
`${BASE_URL}/price/${chain}/${symbol}`,
{ headers: { 'X-API-Key': API_KEY } }
);
return response.json();
}
// Get multiple token prices
const tokens = ['ETH', 'USDC', 'USDT'];
const prices = await Promise.all(
tokens.map(token => getPrice('ethereum', token))
);
prices.forEach(p => {
console.log(`${p.symbol}: $${p.price_usd.toLocaleString()}`);
});
Blockchain Explorer
Universal multi-chain explorer with real-time data.
Features:
- Universal search across all chains
- Transaction tracking and analysis
- Address balance lookups
- Block information
- Gas price tracking
Explorer API Endpoints
| Endpoint | Description | CU Cost |
|---|---|---|
GET /v1/blockchain/{chain}/blocks/latest | Latest block | 10 CUs |
GET /v1/blockchain/{chain}/blocks/{number} | Block by number | 21 CUs |
GET /v1/blockchain/{chain}/transaction/{hash} | Transaction details | 15 CUs |
GET /v1/blockchain/{chain}/balance/{address} | Address balance | 15 CUs |
GET /v1/blockchain/{chain}/gas | Current gas prices | 10 CUs |
Get Transaction Details
curl -H "X-API-Key: $AXOL_API_KEY" \
https://api.axol.io/api/v1/blockchain/ethereum/transaction/0x123...
Response:
{
"success": true,
"data": {
"hash": "0x123...",
"block_number": 19500000,
"from": "0xabc...",
"to": "0xdef...",
"value": "1000000000000000000",
"gas_used": 21000,
"gas_price": "25000000000",
"status": "success",
"timestamp": "2026-01-15T10:30:00Z"
}
}
Get Address Balance
curl -H "X-API-Key: $AXOL_API_KEY" \
https://api.axol.io/api/v1/blockchain/ethereum/balance/0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5
Response:
{
"success": true,
"data": {
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5",
"balance": "12500000000000000000",
"balance_formatted": "12.5 ETH",
"chain": "ethereum"
}
}
Python Explorer Example
import requests
from typing import Optional
API_KEY = "your_api_key"
BASE_URL = "https://api.axol.io/api/v1"
headers = {"X-API-Key": API_KEY}
class BlockchainExplorer:
def __init__(self, chain: str = "ethereum"):
self.chain = chain
def get_latest_block(self) -> dict:
"""Get the latest block."""
response = requests.get(
f"{BASE_URL}/blockchain/{self.chain}/blocks/latest",
headers=headers
)
return response.json()["data"]
def get_transaction(self, tx_hash: str) -> dict:
"""Get transaction details."""
response = requests.get(
f"{BASE_URL}/blockchain/{self.chain}/transaction/{tx_hash}",
headers=headers
)
return response.json()["data"]
def get_balance(self, address: str) -> dict:
"""Get address balance."""
response = requests.get(
f"{BASE_URL}/blockchain/{self.chain}/balance/{address}",
headers=headers
)
return response.json()["data"]
def get_gas_prices(self) -> dict:
"""Get current gas prices."""
response = requests.get(
f"{BASE_URL}/blockchain/{self.chain}/gas",
headers=headers
)
return response.json()["data"]
# Usage
explorer = BlockchainExplorer("ethereum")
# Get latest block
block = explorer.get_latest_block()
print(f"Latest block: {block['block_number']}")
# Check balance
balance = explorer.get_balance("0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5")
print(f"Balance: {balance['balance_formatted']}")
# Get gas prices
gas = explorer.get_gas_prices()
print(f"Gas (fast): {gas['fast']} gwei")
TypeScript Explorer Example
const API_KEY = process.env.AXOL_API_KEY!;
const BASE_URL = 'https://api.axol.io/api/v1';
class BlockchainExplorer {
constructor(private chain: string = 'ethereum') {}
private async fetch<T>(endpoint: string): Promise<T> {
const response = await fetch(
`${BASE_URL}${endpoint}`,
{ headers: { 'X-API-Key': API_KEY } }
);
const data = await response.json();
return data.data;
}
async getLatestBlock() {
return this.fetch(`/blockchain/${this.chain}/blocks/latest`);
}
async getTransaction(hash: string) {
return this.fetch(`/blockchain/${this.chain}/transaction/${hash}`);
}
async getBalance(address: string) {
return this.fetch(`/blockchain/${this.chain}/balance/${address}`);
}
async getGasPrices() {
return this.fetch(`/blockchain/${this.chain}/gas`);
}
}
// Usage
const explorer = new BlockchainExplorer('ethereum');
const block = await explorer.getLatestBlock();
console.log(`Latest block: ${block.block_number}`);
const gas = await explorer.getGasPrices();
console.log(`Fast gas: ${gas.fast} gwei`);
Gas Tracker
Compare gas prices across chains and find the cheapest option.
Gas Comparison Endpoint
curl -H "X-API-Key: $AXOL_API_KEY" \
"https://api.axol.io/api/v1/gas/compare?chains=ethereum,polygon,arbitrum,optimism,base"
Response:
{
"success": true,
"data": {
"timestamp": "2026-01-15T10:30:00Z",
"prices": {
"ethereum": {"fast": 30, "usd_per_transfer": 2.50},
"polygon": {"fast": 100, "usd_per_transfer": 0.02},
"arbitrum": {"fast": 0.1, "usd_per_transfer": 0.15},
"optimism": {"fast": 0.001, "usd_per_transfer": 0.08},
"base": {"fast": 0.001, "usd_per_transfer": 0.05}
},
"cheapest": "base"
}
}
Find Cheapest Chain
def find_cheapest_chain(chains: list[str]) -> tuple[str, float]:
"""Find the cheapest chain for a transaction."""
response = requests.get(
f"{BASE_URL}/gas/compare",
headers=headers,
params={"chains": ",".join(chains)}
)
data = response.json()["data"]
cheapest = data["cheapest"]
cost = data["prices"][cheapest]["usd_per_transfer"]
return cheapest, cost
# Find cheapest L2
chain, cost = find_cheapest_chain(["arbitrum", "optimism", "base", "polygon"])
print(f"Cheapest: {chain} (${cost:.4f} per transfer)")
Data Sources
All tools use the same reliable data infrastructure:
- Direct node connections for real-time blockchain data
- Aggregated price feeds from major exchanges
- Historical data with 99.9% accuracy
- Sub-second update latency
CU Usage Summary
| Tool Feature | Typical CU Cost |
|---|---|
| Price lookup | 5 CUs |
| Gas price check | 10 CUs |
| Balance lookup | 15 CUs |
| Transaction details | 15 CUs |
| Block data | 10-21 CUs |
| Gas comparison | 10 CUs |
Dashboard queries typically use low-cost methods (5-25 CUs per request).
See Also
- Gas API - Detailed gas endpoint documentation
- Unified Blockchain Pattern - API structure
- Pricing - CU costs and tier limits
- API Reference - Complete endpoint documentation