A public, open-source multichain Uniswap V4 indexer built with Envio HyperIndex. Powers v4.xyz, the hub for Uniswap V4 data and hooks analytics.
Open to contributions.
This indexer tracks all key events from Uniswap V4 PoolManager and PositionManager contracts across multiple chains:
Events indexed:
Initialize- pool creation with fee, tick spacing, and hooksSwap- all swaps with amounts, price, liquidity, and transaction detailsModifyLiquidity- liquidity additions and removalsDonate- donations to poolsTransfer/Approval- ERC-6909 token transfers and approvals
Chains: Ethereum, Optimism, Base, Arbitrum, Polygon, Blast, Zora, Avalanche, BNB Chain, Unichain, World Chain, Soneium, Ink, Linea, Celo
The GraphQL API exposes pool statistics, swap history, liquidity positions, and ERC-6909 token data across all supported chains. You can use this to power analytics dashboards, trading interfaces, liquidity trackers, hook monitors, and cross-chain Uniswap V4 data aggregations.
- Node.js v24 or newer
- pnpm v8 or newer
- Docker Desktop
# Install dependencies
pnpm i
# Run locally (starts indexer + GraphQL API at http://localhost:8080)
pnpm envio devThe Hasura console is available at http://localhost:8080 where you can explore and query indexed data using GraphQL.
If you modify config.yaml or schema.graphql:
pnpm codegenRPC endpoints for each chain can be customized via environment variables prefixed with ENVIO_. See .env.example for the full list:
ENVIO_MAINNET_RPC_URL=https://your-mainnet-node
ENVIO_ARBITRUM_RPC_URL=https://your-arbitrum-nodeOnce running, query the GraphQL API to explore pool and swap data:
{
Pool(limit: 10, order_by: {volumeUSD: desc}) {
id
token0 { symbol }
token1 { symbol }
volumeUSD
totalValueLockedUSD
}
}- Envio HyperIndex - multichain indexing framework
- HyperSync - high-performance blockchain data retrieval
- Based on the Uniswap V4 Subgraph schema (pricing and core entity logic)
This indexer is open to contributions. Open an issue or pull request on GitHub.
