Overview
Two complementary datasets covering arbitrage cycle topology and lifecycle.- Dataset IDs:
0801(paths),0802(path status) - Tables:
blockdb_evm.b0801_arb_paths_v1,blockdb_evm.b0801_arb_path_status_v1 - Description: Undirected arbitrage cycle topology (paths) and their per-event active/inactive status transitions (path status).
- Primary keys:
path_id(paths);(path_id, block_number, tx_index, log_index)(path status) - API: POST /evm/arb/paths, POST /evm/arb/path-status
- CSV Sample (paths): Download
- JSON Sample (paths): Download
Sample Viewer
Arbitrage paths (blockdb_evm.b0801_arb_paths_v1)
The paths table is the topology registry for arbitrage cycles. One row is written the first time a given cycle is detected on-chain. A cycle is an undirected loop of pools and tokens — for example a two-hop A → B → A or a three-hop A → B → C → A — where swapping around the loop could yield a net profit. The path_id is a stable 32-byte hash of the cycle topology and serves as the join key for the path status and opportunities tables.
Primary key: path_id
| Column | Type | Description |
|---|---|---|
path_id | BYTEA | 32-byte hash that uniquely identifies this undirected cycle. Stable across blocks — the same topology always produces the same path_id. |
block_number | BIGINT | Block height where this path was first observed on-chain. |
block_time | TIMESTAMPTZ | UTC timestamp of the block in which the path was first detected. |
tx_index | INTEGER | Transaction index within that block (genesis event). |
log_index | INTEGER | Log index within that transaction (genesis event). |
pool_uids | BYTEA[] | Ordered array of pool UIDs forming the cycle. The last hop returns to the starting pool, completing the loop. Join to blockdb_evm.b0211_liquidity_pools_v1 for pool metadata. |
token_cycle | BYTEA[] | Token sequence traversed around the cycle (e.g. [A, B, A] for arb2 or [A, B, C, A] for arb3). The first and last token are always the same (the profit-bearing asset). |
_tracing_id | BYTEA | Deterministic BlockDB lineage identifier for this path record. |
_parent_tracing_ids | BYTEA[] | Lineage identifiers of the upstream pool/reserve events that triggered path discovery. |
_created_at | TIMESTAMPTZ | Record creation timestamp. |
_updated_at | TIMESTAMPTZ | Record last update timestamp. |
Arbitrage path status (blockdb_evm.b0801_arb_path_status_v1)
The path status table records every activation and deactivation event for each path. A path becomes active when all its constituent pools are live and arbitrageable; it becomes inactive when a pool in the cycle is deactivated, has insufficient liquidity, or its reserves change in a way that closes the opportunity. Each row captures the exact on-chain event that caused the transition, making it possible to reconstruct the full activation history of any path.
Primary key: (path_id, block_number, tx_index, log_index)
| Column | Type | Description |
|---|---|---|
path_id | BYTEA | Reference to the path topology in b0801_arb_paths_v1. |
block_number | BIGINT | Block height of the status change event. |
block_time | TIMESTAMPTZ | UTC timestamp of the block containing this status change. |
tx_index | INTEGER | Transaction index within the block. |
log_index | INTEGER | Log index within the transaction — pinpoints the exact event that caused the status change. |
is_active | BOOLEAN | true when the path became active (all pools live and arbitrageable); false when it was deactivated. |
trigger_pool_uid | BYTEA | The specific pool whose reserve or state change triggered this status transition. Useful for diagnosing which leg of the cycle opened or closed the opportunity. |
_tracing_id | BYTEA | Deterministic BlockDB lineage identifier for this status event. |
_parent_tracing_ids | BYTEA[] | Lineage identifiers of the upstream reserve or swap events that caused this status change. |
_created_at | TIMESTAMPTZ | Record creation timestamp. |
_updated_at | TIMESTAMPTZ | Record last update timestamp. |
Related datasets
Arbitrage opportunities
Profit estimates per path and on-chain position.
Liquidity Pools
Pool metadata for the pools referenced in each cycle.