Scan API
Use 0Pools Scan as a read-only protocol activity surface for transaction lookup, asset activity, pool movement, mint/burn records, status, and analytics.
The Scan API page describes the read-oriented API shape behind 0Pools Scan views. 0Pools Scan should be treated as an explorer and protocol-activity visibility layer, not as the place to create payment, liquidity, or settlement state.
Use product APIs to create sessions, quotes, trades, links, or payment objects. Use scan-style reads to inspect indexed records, support users, build dashboards, and reconcile visible activity.
What this page covers
- Read-only scan and explorer-style API behavior.
- Which identifiers should connect product APIs to scan records.
- Transaction, swap, pool, asset, mint/burn, status, and analytics views.
- Boundaries between scan visibility and internal indexer/operator systems.
Scan record groups
| Record group | Use it for | Related product |
|---|---|---|
| Transactions | Lookup transaction references and visible status. | 0Gate, 0Base, 0Pools Scan. |
| Trades | Inspect 0Pools quote/transact trade activity joined by quoteId. | 0Pools, 0Gate. |
| Pool transactions | Inspect pool-level activity visible to partners or operators. | 0Pools. |
| Assets | Show configured asset activity and metadata. | Assets, 0Pools Scan. |
| Mint/burn | Show supply-changing events at a public-safe level. | Assets, Operations. |
| Status | Provide user/support status lookup. | All product surfaces. |
| Analytics | Aggregate visible protocol activity. | Operations and dashboards. |
Scan endpoints
0Pools Scan exposes a small set of public read endpoints. They are public but kill-switched: each group is gated behind an operator flag and is off by default, so treat any of these as unavailable until enabled for the environment you are calling.
| Endpoint | Returns | Flag |
|---|---|---|
GET /v1/explorer/{chain}/tx/{hash} | A single transaction record by chain + hash. | EXPLORER_ENABLED |
GET /v1/explorer/{chain}/address/{address}/txs | Activity for an address on a chain. | EXPLORER_ENABLED |
GET /v1/explorer/stats | Aggregate protocol activity stats. | POOLS_EXPLORER_STATS_ENABLED |
GET /v1/explorer/settlements | Visible settlement activity. | POOLS_EXPLORER_STATS_ENABLED |
GET /v1/explorer/corridors | Corridor-level aggregates. | POOLS_EXPLORER_STATS_ENABLED |
GET /v1/explorer/timeseries | Time-bucketed activity series. | POOLS_EXPLORER_STATS_ENABLED |
GET /pools/table | Pool overview rows. Returns isPlaceholder: true pre-GA. | POOLS_TABLE_ENABLED |
GET /pools/table returns placeholder rows (isPlaceholder: true) until the pool surface goes GA; build for that field so dashboards degrade cleanly.
Read-only pattern
const response = await fetch(`${process.env.OBIT_SCAN_BASE_URL}/v1/explorer/ethereum/tx/0xtxhash`, {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.OBIT_SECRET_KEY}`,
},
});
const record = await response.json();
if (!response.ok) throw new Error(JSON.stringify(record));Scan endpoints are read-only and may be disabled per environment via the flags above. Keep example identifiers fake and avoid publishing internal indexer routes that are not approved.
Identifier joins
| Identifier | Why it matters |
|---|---|
| Product object id | Joins a session, payment, quote, trade, or link to visible activity. |
| Transaction id/reference | Primary lookup for transaction and support views. |
| Quote id | Joins 0Pools quote/trade lifecycle to scan-visible pool activity. |
| Asset symbol | Filters asset, swap, mint, burn, and settlement records. |
| Network | Prevents cross-network ambiguity. |
| Event id | Connects webhook delivery to indexed state changes. |
| Request id | Helps support trace the API call that created or read state. |
Status handling
Scan views should present current indexed state. They should not invent finality if the source product still says a flow is pending, reserved, expired, rejected, failed, cancelled, or awaiting settlement.
| Status source | Trust model |
|---|---|
| Product API read | Current product-owned state. |
| Signed webhook | Durable asynchronous state signal. |
| Scan record | Indexed visibility into activity. |
| Browser callback | UX hint only. |
| Internal indexer logs | Not public docs unless approved. |
Boundaries
Public Scan API docs may describe:
- Read-only transaction and activity lookup.
- Asset, swap, pool, mint/burn, status, and analytics categories.
- Identifier joins used for support and reconciliation.
- Environment, auth, request-id, and rate-limit behavior where documented.
Public Scan API docs must not expose:
- Internal indexer topology.
- Private provider payloads.
- Treasury and reserve internals.
- Compliance case management details.
- Unapproved on-chain service routes.
- Operator-only runbooks.