USDX Public Surface

Public Registry
Rules

The public registry tells the transparency API which live contracts to read for each public network. Without a correct registry, the site may still render, but it must not be marketed as live production transparency.

Scope: Public EVM reads
Registry mode: Required for live endpoints
Updated: 2026-04-26

01 Purpose

The registry is the bridge between the read-only public API and the actual contract addresses deployed on each supported network. It also lists the remote domains that should be consulted when aggregating supply.

  • /domains does not require the registry.
  • /supply, /reserves, /proof, and /status do require it.
  • When the registry is absent, the API returns 503 rather than fabricated default data.

02 File Shape

{
  "networks": [
    {
      "network": "ethereum-mainnet",
      "rpc_url": "https://ethereum-rpc.publicnode.com",
      "token": "0x0000000000000000000000000000000000001000",
      "reserve_oracle": "0x0000000000000000000000000000000000001001",
      "global_supply_controller": "0x0000000000000000000000000000000000001002",
      "mint_burn_controller": "0x0000000000000000000000000000000000001003",
      "observer_start_block": 0,
      "remote_domains": [2, 3, 4, 5],
      "rpc_timeout_seconds": 10.0
    }
  ]
}
Field Purpose
networkPhase 1 network key used by the public aggregator.
rpc_urlJSON-RPC endpoint for live reads.
tokenUSDX token contract address.
reserve_oracleUSDX reserve oracle contract address.
global_supply_controllerUSDX global supply controller address.
mint_burn_controllerOptional pause signal for status derivation.
remote_domainsDomain IDs that should be queried as remote supply sources.

03 Phase 1 Scope

The Phase 1 public registry covers all 11 EVM networks: Ethereum, Arbitrum One, Polygon PoS, BNB Smart Chain, Base, Optimism, Celo, Avalanche C-Chain, Scroll, Linea, and Unichain. Each network entry has a canonical domain_id (1–11), a real deployed contract address for each of the six core contracts, an RPC endpoint, and a remote domain list.

⚠️

The example registry ships with placeholder contract addresses. It must be populated with real deployed addresses before the transparency hub can be published as a production surface. All 11 networks must pass the RPC smoke matrix before launch.

04 Publishing Rules

  1. Do not publish the transparency hub as production if the registry contains placeholder addresses.
  2. Do not suppress onchain_partial, stale reserves, or read failures in the UI.
  3. Do not hide issues returned by the public API.
  4. Do not invent reserve breakdown amounts when the API still returns null.
Publication Gate
real registry + passing live reads + honest degraded states
The site becomes a production transparency surface only when all three conditions hold together.

05 Launch Checklist

  • Populate the registry with real deployed contract addresses for all intended public networks.
  • Run the live RPC smoke matrix before public launch.
  • Verify /supply, /reserves, /proof, and /status manually.
  • Exercise yellow and red dashboard states before launch.
  • Confirm that no placeholder or mock value can be mistaken for production data.