Blockchain Integration
Axol API provides unified access to 17 blockchains through a single interface.
Supported Chains
Production Ready (12 chains)
- Ethereum (EVM)
- Arbitrum (EVM)
- Optimism (EVM)
- Base (EVM)
- Polygon (EVM)
- Gnosis (EVM)
- Bitcoin (UTXO)
- Solana (Solana)
- Starknet (Cairo)
- Tron (TVM)
- Polkadot (Substrate)
- Celestia (Cosmos)
Beta Support (5 chains)
- Sei (Cosmos) Beta
- Sui (Move) Beta
- dYdX (Cosmos) Beta
- Babylon (Cosmos) Beta
- Osmosis (Cosmos) Beta
All chains include: Mainnet, Archive data, WebSocket, and RPC access
Chain Identifiers
| Category | Chain | API ID | Chain ID | Native Token | Status |
|---|---|---|---|---|---|
| EVM | Ethereum | ethereum | 1 | ETH | Production |
| Arbitrum | arbitrum | 42161 | ETH | Production | |
| Optimism | optimism | 10 | ETH | Production | |
| Base | base | 8453 | ETH | Production | |
| Polygon | polygon | 137 | MATIC | Production | |
| Gnosis | gnosis | 100 | xDAI | Production | |
| Non-EVM | Bitcoin | bitcoin | - | BTC | Production |
| Solana | solana | - | SOL | Production | |
| Starknet | starknet | - | ETH | Production | |
| Tron | tron | - | TRX | Production | |
| Polkadot | polkadot | - | DOT | Production | |
| Celestia | celestia | - | TIA | Production | |
| Beta | Sei | sei | - | SEI | Beta |
| Sui | sui | - | SUI | Beta | |
| dYdX | dydx | - | DYDX | Beta | |
| Babylon | babylon | - | BBN | Beta | |
| Osmosis | osmosis | - | OSMO | Beta |
API Usage
# Get data for specific chain
client.get_block("ethereum", "latest")
client.get_block("solana", "latest")
client.get_block("bitcoin", "latest")
Common Operations
Get Chain Info
# Get chain metadata
info = client.get_chain_info("ethereum")
print(info)
# {
# "name": "Ethereum",
# "chain_id": 1,
# "native_token": "ETH",
# "block_time": 12,
# "rpc_url": "https://rpc.axol.io/eth"
# }
Cross-Chain Queries
# Get balances across multiple chains
address = "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5"
chains = ["ethereum", "polygon", "arbitrum"]
balances = client.get_multi_chain_balances(address, chains)
Gas Prices
# Get gas prices for all supported EVM chains
gas_prices = client.get_gas_prices([
"ethereum", "polygon", "arbitrum", "optimism"
])
for chain, prices in gas_prices.items():
print(f"{chain}: {prices['fast']} gwei")
Chain-Specific Features
Ethereum & EVM
# ENS resolution
address = client.resolve_ens("vitalik.eth")
# Token balances
tokens = client.get_token_balances(
address="0x...",
chain="ethereum"
)
# Smart contract calls
result = client.call_contract(
chain="ethereum",
contract="0x...",
method="balanceOf",
params=[address]
)
Bitcoin
# UTXO queries
utxos = client.get_utxos("bc1q...")
# Transaction details
tx = client.get_transaction("bitcoin", "tx_hash")
# Address balance
balance = client.get_balance("bitcoin", "bc1q...")
Solana
# SPL token balances
tokens = client.get_spl_tokens("pubkey...")
# Program accounts
accounts = client.get_program_accounts(
chain="solana",
program_id="TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
)
# Transaction history
txs = client.get_signatures("pubkey...")
RPC Endpoints
Direct RPC access for each chain:
https://rpc.axol.io/{chain}
Example:
curl -X POST https://rpc.axol.io/ethereum \
-H "X-API-Key: your_key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
WebSocket Connections
Real-time updates for each chain:
# Subscribe to new blocks
await client.ws.subscribe("blocks:ethereum", on_block)
await client.ws.subscribe("blocks:solana", on_block)
# Subscribe to pending transactions
await client.ws.subscribe("pending:ethereum", on_pending)
Pricing & Resources
All chains consume the same CU cost per method type. There's no premium pricing for specific chains.
See also:
- Pricing & CU Costs - Compute unit pricing details
- Chain Coverage Comparison - Axol vs competitors
- WebSockets - Real-time data streaming
- API Reference - Complete API documentation