Integration Reference
The Depth public API serves token execution snapshots with oracle provenance. All listed endpoints are unauthenticated. Beta access is open; contact us for integration support.
All paths below are relative to this base. No authentication is required. When rate limits are active, the API returns HTTP 429 Too Many Requests with Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers.
Use this to confirm the public API is reachable. This is not a data or provenance endpoint; it only checks service liveness. Do not use the health status as a proxy for data freshness or oracle commitment state.
curl -sS https://api.depthoracle.io/health
Response 200
| Field | Type | Description |
|---|---|---|
| status | string | Health status indicator |
What to look at
The primary integration endpoint. Returns the latest committed execution snapshot for a token, including the full pool array with per-pool evidence, oracle provenance, and computation disclosure. Start here unless you have a specific reason to use a lighter endpoint. /summary returns aggregated token-level stats without the pool array; /raw is the same shape as this endpoint but pre-processing.
curl -sS https://api.depthoracle.io/v1/public/tokens/0x4200000000000000000000000000000000000006/latest
Path Parameters
| Name | Type | Description |
|---|---|---|
| token_address | string | Token contract address (0x-prefixed) |
Query Parameters
| Name | Required | Description |
|---|---|---|
| include | no | Additional data to include in the response |
Response 200 — PublicTokenLatestResponse
| Field | Type | Description |
|---|---|---|
| token_address | string | Token contract address |
| as_of_ts | string | ISO 8601 timestamp of the snapshot |
| spec_version | "0.8" | Payload contract version; treat as a hard compatibility boundary |
| meta | PublicMeta | Provenance envelope: cache age, freshness, hash, oracle attestation |
| payload | PayloadV0_8 | Full evidence payload; contains token_context and pools[] |
What to look at
Aggregated token-level liquidity posture without the full pool array. Use for monitoring dashboards or high-frequency polling where you need token-level eligibility state and do not need to iterate individual pools. Faster response than /latest; no per-pool detail.
curl -sS https://api.depthoracle.io/v1/public/tokens/0x4200000000000000000000000000000000000006/summary
Path Parameters
| Name | Type | Description |
|---|---|---|
| token_address | string | Token contract address (0x-prefixed) |
Response 200 — PublicTokenSummaryResponse
| Field | Type | Description |
|---|---|---|
| token_address | string | Token contract address |
| as_of_ts | string | ISO 8601 snapshot timestamp |
| spec_version | "0.8" | Payload contract version |
| meta | PublicMeta | Provenance envelope |
| summary.coverage | object | Pool discovery and observation coverage counts |
| summary.execution | object | Eligible pool count and liquidity totals |
| summary.dominance | object | Dominant pool execution share (0–1) |
| summary.freshness | object | Snapshot timestamp and data_age_seconds |
| summary.anomaly_flags | string[] | Detected anomaly codes, if any |
What to look at
Paginated list of all tracked pools for a token. Each item carries top-level eligibility, coverage, and TVL flags without the full evidence payload. Use this to enumerate the pool universe and filter by eligibility before fetching individual pool detail. Use cursor for pagination through large pool sets.
curl -sS https://api.depthoracle.io/v1/public/tokens/0x4200000000000000000000000000000000000006/pools
Path Parameters
| Name | Type | Description |
|---|---|---|
| token_address | string | Token contract address (0x-prefixed) |
Query Parameters
| Name | Required | Default | Description |
|---|---|---|---|
| limit | no | 50 | Number of pools to return (min 1, max 200) |
| cursor | no | — | Pagination cursor from a previous response's next_cursor |
| include | no | — | Additional data to include |
Response 200 — PublicTokenPoolsResponse
| Field | Type | Description |
|---|---|---|
| token_address | string | Token contract address |
| as_of_ts | string | ISO 8601 snapshot timestamp |
| spec_version | "0.8" | Payload contract version |
| meta | PublicMeta | Provenance envelope |
| pools | PublicPoolListItem[] | Array of pool list items |
| next_cursor | string | null | Cursor for the next page; null when exhausted |
| limit | integer | Limit used in the request |
What to look at
Full evidence snapshot for one pool in the context of a token. Returns the same pool object shape found in /latest but scoped to a single pool, including execution structure, detailed computation disclosure, and boundary evidence. Use this for pool-level inspection before sizing an execution or to understand why a pool is or is not eligible.
curl -sS https://api.depthoracle.io/v1/public/tokens/0x4200000000000000000000000000000000000006/pools/0xb2cc224c1c9fee385f8ad6a55b4d94e92359dc59
Path Parameters
| Name | Type | Description |
|---|---|---|
| token_address | string | Token contract address (0x-prefixed) |
| pool_address | string | Pool contract address (0x-prefixed) |
Response 200 — PublicTokenPoolDetailResponse
| Field | Type | Description |
|---|---|---|
| token_address | string | Token contract address |
| as_of_ts | string | ISO 8601 snapshot timestamp |
| spec_version | "0.8" | Payload contract version |
| meta | PublicMeta | Provenance envelope |
| pool | PoolSnapshot | Full pool evidence snapshot |
What to look at
Raw unprocessed evidence payload. Same response shape as /latest; the payload field is the canonical artifact before any intermediate processing layer. Use for audit trails, archival, or integrity verification. Not intended for real-time integration; prefer /latest.
curl -sS https://api.depthoracle.io/v1/public/tokens/0x4200000000000000000000000000000000000006/raw
Path Parameters
| Name | Type | Description |
|---|---|---|
| token_address | string | Token contract address (0x-prefixed) |
Response 200
| Field | Type | Description |
|---|---|---|
| token_address | string | Token contract address |
| as_of_ts | string | ISO 8601 snapshot timestamp |
| spec_version | "0.8" | Payload contract version |
| meta | PublicMeta | Provenance envelope |
| payload | PayloadV0_8 | Unprocessed evidence payload |
What to look at
Provenance envelope present on every response. Carry these fields in integration logs for post-mortems and audit trails.
| Field | Type | Description |
|---|---|---|
| computed_at | string | null | When the evidence was computed |
| policy_version | string | null | Execution eligibility policy applied |
| cache_age_seconds | integer | Age of this cached response in seconds |
| data_age_seconds | integer | null | Age of the underlying data in seconds |
| expected_cadence_seconds | integer | Expected update interval in seconds |
| freshness_status | string | null | fresh | stale | unknown |
| payload_hash | string | null | Hash of the canonical payload |
| hash_alg | string | null | Hashing algorithm used |
| oracle_tx_hash | string | null | Transaction hash of the oracle commitment |
| oracle_block_number | integer | null | Block number of the oracle submission |
| oracle_chain_id | integer | null | Chain ID of the oracle submission |
| committed_at | string | null | ISO 8601 timestamp of on-chain commitment |
| artifact_url | string | null | URL to the published evidence artifact |
oracle_chain_id identifies the proof network where the commitment was anchored. 8453 = canonical live commitments on Base mainnet. 84532 = historical beta commitments on Base Sepolia. In both cases the underlying payload domain is Base mainnet liquidity and execution context.
Token-level rollup derived strictly from pool data. Useful for routing or eligibility gates without iterating individual pools.
| Field | Type | Description |
|---|---|---|
| total_observable_liquidity_usd | number | null | Sum of TVL across all pools with computed TVL |
| total_execution_eligible_liquidity_usd | number | null | Sum of TVL across execution-eligible pools |
| dominant_execution_share | number | null | Largest single-pool share of eligible TVL (0–1) |
| pools_with_execution_coverage | integer | Pools with active observation coverage |
| pools_discovered | integer | Total pools discovered for this token |
Individual pool evidence object. Found in payload.pools[] from /latest and as pool from the pool detail endpoint. Interpret outputs in conjunction with spec_version, meta.policy_version, and meta.oracle_tx_hash. A computation field showing not_modeled or not_computed does not automatically make a pool ineligible; read the reason before acting.
| Field | Type | Description |
|---|---|---|
| pool_address | string | Pool contract address |
| pool_type | string | v2 | v3 | aerodrome_concentrated | aerodrome_volatile | aerodrome_stable |
| paired_token | string | null | Paired token contract address |
| execution_policy.is_execution_eligible | boolean | Whether this pool passes all eligibility gates |
| execution_policy.policy_version | string | Policy version applied to this pool |
| execution_policy.ineligibility_reasons | string[] | Reason codes when not eligible |
| coverage.has_observation_coverage | boolean | Whether bounded, recent execution evidence exists |
| coverage.observation_freshness | string | null | fresh | stale | unknown |
| coverage.observation_window_hours | number | null | Length of the observation window in hours |
| liquidity_state.effective_depth_usd | number | null | Observable execution depth in USD |
| liquidity_state.volume_window_usd | number | null | Volume over the observation window |
| liquidity_state.volume_ratio | number | null | volume_window / tvl, activity relative to size |
| tvl.tvl_usd | number | null | Pool TVL in USD; null if not computed |
| tvl.tvl_method | string | null | Valuation method used |
| computation.liquidity_state.computed | boolean | Whether liquidity_state was computed |
| computation.liquidity_state.reason | string | null | Why it was not computed, if applicable |
| computation.tvl.computed | boolean | Whether TVL was computed |
| computation.tvl.reason | string | null | Why TVL was not computed, if applicable |
Lightweight pool item returned from the /pools list endpoint. All fields may be null if not yet computed.
| Field | Type | Description |
|---|---|---|
| pool_address | string | null | Pool contract address |
| pool_type | string | null | Pool type |
| paired_token | string | null | Paired token address |
| tvl_usd | number | null | Total value locked in USD |
| observable_liquidity_share | number | null | Share of token observable liquidity in this pool (0–1) |
| has_observation_coverage | boolean | null | Whether the pool is actively observed |
| observation_freshness | string | null | fresh | stale | unknown |
| is_structurally_supported | boolean | null | Whether the pool structure is decodable |
| liquidity_context_eligible | boolean | null | Eligible for liquidity context |
| is_execution_eligible | boolean | null | Eligible for execution |
Depth is designed for integrations that fail closed under uncertainty. If a pool lacks observation coverage, treat its liquidity metrics as unknown. If execution eligibility is false, do not treat that pool as an execution surface. If TVL is null, do not impute it.
The payloads are structured to make these conditions explicit rather than hiding them behind defaults. An unknown is returned as null with a reason, not as zero or an estimate.
The API payload is a qualification layer, not an execution instruction. These notes describe how to interpret the key signals.
Inspect eligibility directly. execution_policy.is_execution_eligible is the oracle's deterministic eligibility gate for a pool. A pool with is_execution_eligible = false has failed at least one policy condition; inspect ineligibility_reasons for the specific cause.
Read coverage as evidence scope. coverage.has_observation_coverage tells you whether bounded, recent execution evidence exists for a pool. A pool without coverage has no bounded evidence window; its liquidity metrics may be absent or stale.
Read computation as a disclosure, not a gate. computation.liquidity_state.computed = false means that section was not computed; it does not make the pool ineligible. A pool can be structurally supported, observed, and execution-eligible while liquidity_state remains unmodeled. Inspect computation.liquidity_state.reason to understand why.
Treat null as explicit missingness. Null and uncomputed values are returned as null with a reason field, not as zero or an estimate. Do not impute them.
Use state changes as monitoring signals. is_execution_eligible flipping false on a primary pool, pools_with_execution_coverage dropping to 0, or computation.tvl.computed changing true → false are factual state changes worth alerting on. These are disclosures, not predictions.
Depth is in beta. Pool discovery is best-effort; the pools array in a payload is not guaranteed to enumerate every pool on Base for a given token. Uptime guarantees are intentionally absent. Coverage is intentionally partial.
spec_version refers to the payload contract version; it is not the same thing as the REST API version. Treat it as a hard compatibility boundary. Treat unknown response fields as non-fatal. If you integrate during beta, pin to spec_version: "0.8" and test forward compatibility explicitly before adopting future versions.