Skip to main content

The universal interface for liquidity pools. hydric normalizes diverse protocol architectures (V2, V3, V4, Algebra) into this single, high-fidelity model.

Integration Strategy:

  1. Core Fields: Use for portfolio tracking, analytics, and global search.
  2. Metadata: Use for protocol-specific execution, such as calculating ticks or interacting with V4 hooks.
address
string
required

The unique on-chain identifier for the pool. - Standard: The contract address of the pool. - V4 Singleton: The unique 'poolId' (bytes32 hash) used by the Manager.

Example:

"0x8ad599c3a01ae48104127aeeb893430d0bc41221"

tokens
string[]
required

Deterministic list of assets in the pool. The array order strictly follows the protocol's internal "Token 0, 1... N" indexing.

Example:
[
{
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH"
},
{
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"decimals": 18,
"name": "USDC",
"symbol": "USDC"
}
]
balance
object
required

The aggregate inventory state, including Total Value Locked (TVL) and individual asset reserves.

Example:
{
"totalValueLockedUsd": 3001.32,
"tokens": [
{
"amount": 1,
"amountUsd": 1500.11,
"token": {
"address": "0x0000000000000000000000000000000000000000",
"decimals": 18,
"name": "Ether",
"symbol": "ETH"
}
},
{
"amount": 1500.11,
"amountUsd": 1501.21,
"token": {
"address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"decimals": 18,
"name": "USDC",
"symbol": "USDC"
}
}
]
}
protocol
object
required

The protocol that owns the liquidity pool and its metadata

Example:
{
"id": "uniswap-v3",
"logoUrl": "https://cryptologos.cc/logos/uniswap-uni-logo.png",
"name": "Uniswap V3",
"url": "https://app.uniswap.org"
}
createdAtTimestamp
number
required

Unix timestamp (seconds) of the block where the pool was created.

Example:

1768429616

chainId
enum<number>
required

The chain id where the liquidity pool is deployed. Following EIP-155 standards. Check out Chainlist to discover the chain id of any EVM Blockchain

Available options:
1,
534352,
11155111,
8453,
130,
999,
9745,
143
Example:

1

type
enum<string>
required

The architectural classification of the pool. This field acts as the discriminator for the polymorphic "metadata" object.

Available options:
V3,
V4,
ALGEBRA,
SLIPSTREAM
Example:

"V3"

feeTier
object
required

Information about the fee tier of this Liquidity Pool

Example:
{
"feeTierPercentage": 0.4,
"isDynamic": false
}
stats
object
required

Dynamic performance data including volume, fees, and yield aggregated over rolling time windows.

Example:
{
"stats24h": {
"feesUsd": 12450.55,
"swapVolumeUsd": 4124500.22,
"yield": 12.5,
"netInflowUsd": 450000,
"liquidityVolumeUsd": 120000
},
"stats7d": {
"feesUsd": 85400.12,
"swapVolumeUsd": 28450100.45,
"yield": 11.2,
"netInflowUsd": 1200000,
"liquidityVolumeUsd": 850000
},
"stats30d": {
"feesUsd": 345200.55,
"swapVolumeUsd": 115045000.11,
"yield": 10.8,
"netInflowUsd": 5400000,
"liquidityVolumeUsd": 3200000
},
"stats90d": {
"feesUsd": 1120400.88,
"swapVolumeUsd": 375200400.55,
"yield": 10.5,
"netInflowUsd": 12500000,
"liquidityVolumeUsd": 9800000
}
}
metadata
V3LiquidityPoolMetadata · object
required

Deep architectural state (Ticks, Hooks, Plugins). The schema of this object is determined by the "type" field.