Skip to main content
POST
https://api.blockdb.io
/
v1
/
evm
/
prices
/
spot
/
crypto
/
lwap
curl -X POST "https://api.blockdb.io/v1/evm/prices/spot/crypto/lwap" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "base_token_address": "c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "quote_token_address": "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "from_timestamp": "2025-11-11T18:00:00Z",
  "to_timestamp": "2025-11-11T19:00:00Z",
  "exchange_ids": [
    1
  ],
  "pool_uids": [
    "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
  ],
  "depth_offset_bps": 50,
  "limit": 200,
  "cursor": null
}'
{
  "chain_id": 1,
  "base_token_address": "c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "quote_token_address": "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "meta": {
    "request_window": {
      "from_block": null,
      "to_block": null,
      "from_timestamp": "2025-11-11T18:00:00Z",
      "to_timestamp": "2025-11-11T19:00:00Z"
    },
    "filters": {
      "exchange_ids": [
        1
      ],
      "pool_uids": [
        "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
      ]
    }
  },
  "data": [
    {
      "chain_id": 1,
      "pool_uid": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000",
      "lwap": "3022.445566778899001122",
      "depth_offset_bps": 50,
      "liquidity_volume": "320.000000000000000000",
      "start_timestamp": "2025-11-11T18:00:00Z",
      "end_timestamp": "2025-11-11T18:59:59Z",
      "_tracing_id": "0502000000000000000000000000000000000000",
      "_parent_tracing_ids": [
        "0203000000000000000000000000000000000000"
      ],
      "_genesis_tracing_ids": [
        "0103000000000000000000000000000000000000"
      ],
      "_created_at": "2025-11-11T19:00:05.000Z",
      "_updated_at": "2025-11-11T19:00:05.000Z"
    }
  ],
  "cursor": null,
  "count": 1
}

Description

Returns liquidity-weighted average prices (LWAP) for ERC-20 base and quote token pairs. LWAP weights prices by available liquidity depth rather than executed volume.
For fiat quotes (e.g., USD, EUR), use the dedicated /evm/prices/spot/fiat/* endpoints.

Parameters

chain_id
number
required
Target EVM chain. See the Chain enumeration for supported values.
base_token_address
string
required
ERC-20 contract address for the base asset (hex string, 20 bytes, no 0x prefix).
quote_token_address
string
required
ERC-20 contract address for the quote asset (hex string, 20 bytes, no 0x prefix).

Range Filters (mutually exclusive)

from_block
number
Starting block number (inclusive) for the query. Use with to_block.
to_block
number
Ending block number (inclusive) for the query. Use with from_block.
from_timestamp
string
Starting timestamp (ISO-8601). If it falls between blocks, the next block after this timestamp is used. Use with to_timestamp.
to_timestamp
string
Ending timestamp (ISO-8601). If it falls between blocks, the last block before this timestamp is used. Use with from_timestamp.
Validation rule:
You must provide either a block range, a time range, or at least one direct selector.
Providing more than one option results in HTTP 400.
Providing none results in HTTP 400.

Pool Selectors

exchange_ids
number[]
Filter by exchange identifiers. See the DigitalExchange enumeration.
pool_uids
string[]
Restrict to specific BlockDB pool identifiers.

Window Controls

depth_offset_bps
number
default:"100"
Basis-point radius used when weighting liquidity. Default is 100.

Pagination Controls

limit
number
default:"250"
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
cursor
string
Opaque pagination cursor supplied by a previous response.

Response Fields

chain_id
number
EVM chain ID echoed at the response root.
base_token_address
string
ERC-20 contract address of the base asset.
quote_token_address
string
ERC-20 contract address of the quote asset.

Meta

meta
object
Echo of request metadata applied to the response.
meta.request_window
object
Normalized block/timestamp bounds derived from the request.
meta.filters
object
Filter parameters echoed from the request.

Data

data
object[]
LWAP aggregates returned for the request.
data.chain_id
number
EVM chain identifier.
data.pool_uid
string
BlockDB pool identifier. Present for per-pool windows.
data.lwap
string
Liquidity-weighted average price over the window.
data.depth_offset_bps
number
Basis-point radius used during weighting.
data.liquidity_volume
string
Effective liquidity volume considered.
data.start_timestamp
string
Inclusive start of the window (ISO-8601).
data.end_timestamp
string
Inclusive end of the window (ISO-8601).
data._tracing_id
string
Tracing identifier for the window.
data._parent_tracing_ids
string[]
Parent lineage references.
data._genesis_tracing_ids
string[]
Lineage references to original on-chain events.
data._created_at
string
Record creation timestamp.
data._updated_at
string
Record update timestamp.

Envelope Fields

cursor
string | null
Pagination cursor.
count
number
Number of LWAP entries returned.

Usage Notes

  • If depth_offset_bps is omitted, BlockDB defaults to ±100 bps around the mid price.
  • LWAP results are per pool when pool_uids are supplied; omit to receive results across matching pools.
curl -X POST "https://api.blockdb.io/v1/evm/prices/spot/crypto/lwap" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "base_token_address": "c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "quote_token_address": "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "from_timestamp": "2025-11-11T18:00:00Z",
  "to_timestamp": "2025-11-11T19:00:00Z",
  "exchange_ids": [
    1
  ],
  "pool_uids": [
    "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
  ],
  "depth_offset_bps": 50,
  "limit": 200,
  "cursor": null
}'
{
  "chain_id": 1,
  "base_token_address": "c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
  "quote_token_address": "a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "meta": {
    "request_window": {
      "from_block": null,
      "to_block": null,
      "from_timestamp": "2025-11-11T18:00:00Z",
      "to_timestamp": "2025-11-11T19:00:00Z"
    },
    "filters": {
      "exchange_ids": [
        1
      ],
      "pool_uids": [
        "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000"
      ]
    }
  },
  "data": [
    {
      "chain_id": 1,
      "pool_uid": "88e6a0c2ddd26feeb64f039a2c41296fcb3f5640000000000000000000000000",
      "lwap": "3022.445566778899001122",
      "depth_offset_bps": 50,
      "liquidity_volume": "320.000000000000000000",
      "start_timestamp": "2025-11-11T18:00:00Z",
      "end_timestamp": "2025-11-11T18:59:59Z",
      "_tracing_id": "0502000000000000000000000000000000000000",
      "_parent_tracing_ids": [
        "0203000000000000000000000000000000000000"
      ],
      "_genesis_tracing_ids": [
        "0103000000000000000000000000000000000000"
      ],
      "_created_at": "2025-11-11T19:00:05.000Z",
      "_updated_at": "2025-11-11T19:00:05.000Z"
    }
  ],
  "cursor": null,
  "count": 1
}