Skip to content

feat(compat): add Cipherscan API adapter#15

Merged
gustavovalverde merged 13 commits into
mainfrom
docs/cipherscan-compat-coverage
Jul 13, 2026
Merged

feat(compat): add Cipherscan API adapter#15
gustavovalverde merged 13 commits into
mainfrom
docs/cipherscan-compat-coverage

Conversation

@gustavovalverde

@gustavovalverde gustavovalverde commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Summary

Adds zinder-compat-cipherscan, an adapter that serves Cipherscan's current HTTP and WebSocket contracts from Zinder. Cipherscan can use Zinder as its chain-data backend without changing its routes, query behavior, or response formats.

Surface added

  • Chain status, block search and detail, transaction search and detail, raw transactions, transaction broadcast, and commitment-root lookup.
  • Mempool summaries and transaction lookup, plus reconnectable block and mempool WebSocket events.
  • Transparent address activity, rich-list data, supply summaries, value-pool balances, flows, and history.
  • Network statistics, fee analytics, mining metrics, mining rewards, and mining pool distribution.
  • Shielded transaction history, protocol statistics, anonymity-set and shielding-distribution analytics, Blend Check, common amounts, and transaction linkability.
  • Reorg history, displaced block details, fork comparisons, and Sapling, Orchard, and Ironwood commitment roots.
  • Current and bounded historical market-price endpoints.

Mining distribution

Adds a product-neutral, time-indexed block-production projection with durable coverage, restart recovery, atomic reorg rollback, and continuation cursors that remain stable during ordinary chain advancement. The adapter uses that contract to preserve Cipherscan's supported periods, fallback coercion, exact paid-fee totals, five-minute raw-period cache keys, response shape, and adapter-owned pool registry.

Architecture boundary

Zinder owns canonical chain facts, reusable projections, coverage and freshness metadata, and product-neutral gRPC queries. The adapter owns Cipherscan route names, request coercion, response envelopes, display units, cache behavior, pool metadata, and product formulas.

Labels, node and GeoIP inventory, mining behavior products, turnstile classification, cross-chain analytics, name services, identity-risk analytics, finalizer registries, public fork reports, physical chain-size history, and server-side viewing-key scanning remain explicitly sidecar-owned or unavailable. This change does not add Zinder schemas for those surfaces.

The endpoint ownership matrix is documented in docs/plans/cipherscan-adapter-architecture.md. The block-production projection is specified in docs/adrs/0033-time-indexed-block-production.md. Setup, Cipherscan wiring, deployment topology, configuration, and operational probes are documented in services/zinder-compat-cipherscan/README.md.

@gustavovalverde gustavovalverde changed the title feat(compat): add initial Cipherscan adapter feat(compat): add Cipherscan API adapter Jul 12, 2026
@gustavovalverde gustavovalverde force-pushed the docs/cipherscan-compat-coverage branch from 7e7e33c to fe68932 Compare July 12, 2026 22:15
@gustavovalverde gustavovalverde force-pushed the docs/cipherscan-compat-coverage branch from fe68932 to 6e49d3e Compare July 13, 2026 00:16
@gustavovalverde gustavovalverde marked this pull request as ready for review July 13, 2026 00:16
@gustavovalverde gustavovalverde merged commit 5d1fc0b into main Jul 13, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant