Overview

This is the BYBChain Core Explorer backend (bybchain-explorer-indexer). It indexes finalized replica data and exposes query APIs. It does not submit transactions, manage validators, or require an API key.

Which endpoints to use

DEX compact Actions do not include execution fields. Read /api/v1/transactions/{explorerId} for executionStatus and executionResponse.

Base URL

Local development: http://127.0.0.1:8080. Docker host mapping: http://127.0.0.1:36010. Public gateways typically expose /api/v1/ and /explorer only. /health, /ready, and /metrics stay on the process bind address.

Authentication

None. CORS allows GET, POST, and OPTIONS from any origin.

Response format

Successful responses are the JSON object itself. Errors use the HTTP status and:
Unknown DEX query fields are rejected.

Identifiers

DEX hash and stable explorerId are the same canonical Action ID:
Use this ID for detail links and deduplication. legacyHash may repeat or be null (legacyHashStatus=unsupported). Ambiguous legacy hashes return 409. Addresses are 20-byte 0x hex. Times are Unix milliseconds. DEX date filters are UTC+8 calendar days.

Pagination

DEX pages use page. Page size is 20 and is not configurable. Save snapshotHeight from the first response and send it on later pages so new blocks do not shift the window.
Global block and Action lists, and address Actions, first take the newest 10,000 candidates, then apply filters. In-block Action lists are not capped. Stable lists use exclusive cursors: before for block height, cursor as height:index for Actions.

Inclusion vs execution

  • status=included means the Action is in a finalized block, not that it succeeded.
  • executionStatus is succeeded, failed, partially_succeeded, or unknown.
  • Missing archive responses stay unknown with executionResponse=null.
  • DEX initiator is the indexed initiator projection. Do not substitute broadcaster, recipient, or the zero address.

Quick start