Hanzo Indexer
Query blockchain data with GraphQL
Index and query on-chain data at scale. Deploy custom subgraphs, access real-time indexed data, and build powerful blockchain analytics—all through a simple GraphQL API.
GraphQL API
Query indexed blockchain data with a powerful, flexible GraphQL interface.
Custom Subgraphs
Deploy your own indexing logic with custom subgraph definitions.
Real-Time Indexing
Data indexed within seconds of on-chain confirmation.
Historical Aggregation
Pre-computed aggregations and time-series data for analytics.
Get Your API Key
Start building in under 5 minutes
No credit card required. Free tier includes 300M compute units/month.
Trusted by developers building:
Key Capabilities
Everything you need, nothing you don't.
GraphQL API
Query indexed blockchain data with a powerful, flexible GraphQL interface.
Custom Subgraphs
Deploy your own indexing logic with custom subgraph definitions.
Real-Time Indexing
Data indexed within seconds of on-chain confirmation.
Historical Aggregation
Pre-computed aggregations and time-series data for analytics.
Cross-Chain Unification
Unified data model across multiple chains for easy cross-chain queries.
Webhooks
Push notifications for indexed events to your backend.
Token & Portfolio APIs
Pre-built APIs for token balances, transfers, and portfolio tracking.
Analytics Dashboard
Monitor indexing status, query performance, and data freshness.
Simple to Integrate
Get started with just a few lines of code. SDKs for every language.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@hanzo/indexer/IHanzoIndexer.sol";
/// @title IndexedContract - Emit events optimized for Hanzo Indexer
/// @notice Structured events for efficient GraphQL querying
contract IndexedContract {
// Indexed events for efficient GraphQL queries
event Transfer(
address indexed from,
address indexed to,
uint256 indexed tokenId,
uint256 amount,
uint256 timestamp
);
event Swap(
address indexed pair,
address indexed sender,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out,
uint256 indexed blockNumber
);
event PriceUpdate(
address indexed token,
uint256 price,
uint256 indexed timestamp
);
// Log transfer for indexing
function logTransfer(
address from,
address to,
uint256 tokenId,
uint256 amount
) external {
emit Transfer(from, to, tokenId, amount, block.timestamp);
}
// Log swap for DEX indexing
function logSwap(
address pair,
uint256 amount0In,
uint256 amount1In,
uint256 amount0Out,
uint256 amount1Out
) external {
emit Swap(
pair,
msg.sender,
amount0In,
amount1In,
amount0Out,
amount1Out,
block.number
);
}
// Log price for oracle indexing
function logPriceUpdate(address token, uint256 price) external {
emit PriceUpdate(token, price, block.timestamp);
}
}Built For
DeFi Dashboards
Build trading dashboards with real-time price, volume, and liquidity data from DEXs.
NFT Analytics
Track NFT sales, floor prices, holder distributions, and collection statistics.
Token Explorers
Create token explorers with transfer history, holder analytics, and supply metrics.
Protocol Monitoring
Monitor protocol health, TVL, user activity, and governance participation.
Supported Chains
Start Building with Hanzo Indexer
Get your free API key and ship your first request in under 5 minutes. No credit card required.