> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockdb.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Granularity

> How BlockDB's data granularity enables tick-by-tick prices and full tick range reconstruction for concentrated liquidity protocols.

## Overview

BlockDB indexes **every emitted EVM log and all internal transactions** individually — **one row per event, no aggregation at index time**. This is the architectural foundation that makes tick-by-tick price data and full tick range reconstruction possible for dynamically distributed liquidity protocols like Uniswap v3 and v4.

## What This Enables

### Tick-by-Tick Prices

Because every `Swap` log is captured individually, BlockDB produces a **price print per swap** — not per block, not per minute:

* Each swap event yields one realized price observation
* Continuous price history is reconstructable at any resolution, without interpolation
* Swap prints carry execution metadata: pool, tokens, amounts in/out, fee tier

This is the foundation for [`b0302_token_to_token_prices_swap_prints_v1`](/data-catalog/evm/prices/token-to-token-prices-swap-prints) — the highest-resolution price dataset BlockDB publishes.

### Full Tick Range for Concentrated Liquidity Protocols

Protocols like **Uniswap v3 and v4** distribute liquidity across discrete price ticks rather than uniformly across the curve. Reconstructing the full tick range — and how it shifts over time — requires capturing every `Mint`, `Burn`, and `Swap` event.

BlockDB indexes all of these as individual rows, which makes it possible to:

* Reconstruct the **complete active tick range** at any block / tx / log index
* See exactly where liquidity is concentrated at any point in time
* Track how individual positions open, adjust, and close
* Compute in-range vs. out-of-range liquidity for any price interval

<Frame>
  <img src="https://mintcdn.com/blockdb/eJa_EKZIjvwpdrMT/images/blockdb-full-tick-range-uniswap-v3.png?fit=max&auto=format&n=eJa_EKZIjvwpdrMT&q=85&s=16920932736326b9933571ceb1c0dd36" alt="Full tick range distribution for a Uniswap v3 liquidity pool — computed from log-level event data indexed by BlockDB." width="1447" height="570" data-path="images/blockdb-full-tick-range-uniswap-v3.png" />
</Frame>

The chart above shows the full tick range distribution of a Uniswap v3 pool. Each bar represents the amount of liquidity available at a specific price tick. This view is only possible when every liquidity event is captured and indexed individually.

Pool reserves with full tick detail are available in [`b0301_liquidity_pools_reserves_v1`](/data-catalog/evm/reserves/liquidity-pools-reserves) and its companion detail table.

***

See the [dataset index](/data-catalog/evm/dataset-index) for each table's grain and key columns.
