Skip to main content
POST
https://api.blockdb.io
/
v1
/
evm
/
lineage
/
parents
curl -X POST "https://api.blockdb.io/v1/evm/lineage/parents" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "tracing_id": "0301000000000000000000000000000000000001",
  "max_depth": 3,
  "include_relationships": [
    "source_transaction",
    "pool_metadata"
  ],
  "cursor": null,
  "limit": 128
}'
{
  "chain_id": 1,
  "data": [
    {
      "dataset": "0102_transactions",
      "_tracing_id": "0102000000000000000000000000000000000001",
      "relationship": "source_transaction",
      "depth": 1
    },
    {
      "dataset": "0203_pools",
      "_tracing_id": "0203000000000000000000000000000000000002",
      "relationship": "pool_metadata",
      "depth": 1
    }
  ],
  "cursor": "next_cursor",
  "count": 2,
  "truncation_reason": null
}

Description

Traverses the upstream dependency graph of the supplied record. Each node includes relationship metadata so you can follow the chain of derivations to a configurable depth.

Parameters

chain_id
number
required
Target EVM network.
tracing_id
string
required
Anchor record whose parents should be returned, provided as a hex string (no 0x prefix).

Traversal Controls

max_depth
number
default:"1"
Number of hops to follow. 1 returns direct parents, 2 includes grandparents, etc. Requests exceeding the configured maximum are truncated with a truncation_reason.
include_relationships
string[]
Filter the relationship types that should be expanded. Omit or pass an empty array to include all known relationships.

Pagination Controls

limit
number
default:"250"
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
cursor
string
Opaque pagination cursor returned from a prior call.

Response Fields

chain_id
number
required
Target EVM network.

Data

data
object[]
Each element represents a parent node that matches the requested depth and relationship filters.
data.dataset
string
Dataset namespace for the parent record.
data._tracing_id
string
Lineage identifier for the parent record (hex string, no 0x prefix). Feed this back into other lineage endpoints to continue traversal.
data.relationship
string
Relationship type connecting the parent to the requested record (e.g., source_transaction).
data.depth
number
Hop count from the original record (1 for direct parents).

Envelope Fields

cursor
string | null
Pagination cursor for fetching additional parents.
count
number
Number of parent nodes returned in data.
truncation_reason
string | null
Non-null when the server stopped traversal due to max depth, fan-out limits, or other safety guards.

Next Steps

curl -X POST "https://api.blockdb.io/v1/evm/lineage/parents" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "tracing_id": "0301000000000000000000000000000000000001",
  "max_depth": 3,
  "include_relationships": [
    "source_transaction",
    "pool_metadata"
  ],
  "cursor": null,
  "limit": 128
}'
{
  "chain_id": 1,
  "data": [
    {
      "dataset": "0102_transactions",
      "_tracing_id": "0102000000000000000000000000000000000001",
      "relationship": "source_transaction",
      "depth": 1
    },
    {
      "dataset": "0203_pools",
      "_tracing_id": "0203000000000000000000000000000000000002",
      "relationship": "pool_metadata",
      "depth": 1
    }
  ],
  "cursor": "next_cursor",
  "count": 2,
  "truncation_reason": null
}