API Conformance Workbench
Validate a live read-only endpoint against the published contracts, with a scrubbed report and no stored credentials.
Universe implementation Verified 2026-09-02
Describes what a Bitcoin Universe service actually does today. It is not a statement about the protocol in general.
- Page ID
-
tools/api-conformance - Normative authority
- Universe implementation documentation
- Networks
- mainnet, regtest
- Documentation version
- 2026.08
- Audience
- developer, integrator, operator
- Owner
- bitcoin-universe-docs
- Sources
-
- Universe ARC-20 index and Marketplace v1 authority
at
670030e50071private repository the runtime the ARC-20 contract describes
- Universe ARC-20 index and Marketplace v1 authority
at
- Known limitations
-
- The bench sends only read-only GET operations from the canonical contract, one explicit press at a time.
- A network failure is reported as unreachable. It is never described as deprecation or closure.
- The hosted site never operates as a proxy. For CORS-blocked endpoints, run the repository's local proxy.
Only the read-only GET operations from the ARC-20 contract can be sent here, one explicit press at a time, at most two at once, never faster than five per second. Your endpoint URL and any headers stay in this page's memory only: never in a URL, never in storage, never in a cache, and removed from every exported report.
Nothing sent. No request is made until you press Send.
Verdict
Contract checks
Endpoint identity
Response
Scrubbed report
Compare endpoints
Capture a verdict into one of three slots and compare them side by side.
| Slot | Verdict | Detail | Chain tip | Indexed height |
|---|
What is checked
Section titled “What is checked”Status against the contract, media type, JSON parsing, schema validation through build-time standalone validators, error shape, pagination behaviour, and contract-required headers. Each check reports individually. The verdict distinguishes compatible, compatible-with-warnings, schema divergence, wrong network, stale, unreachable, and unknown, and never infers identity fields from unrelated responses.
Local proxy for CORS-blocked endpoints
Section titled “Local proxy for CORS-blocked endpoints”Run npm run lab:proxy. The proxy binds 127.0.0.1, requires an explicit target allowlist,
refuses wildcards, blocks private, loopback, link-local, and metadata destinations (except the
local Regtest Lab), re-resolves destinations per request against DNS rebinding, enforces method,
timeout, rate, and size limits, strips hop-by-hop headers, persists nothing, and redacts its
logs. The hosted documentation site never operates as a proxy.
Relation to the offline explorer
Section titled “Relation to the offline explorer”The offline API explorer remains the default reading surface. The live bench is an addition for validating an implementation, not a replacement.