Skip to content

Introduce network-specific Guardian domains before Miden mainnet #341

Description

@zeljkoX

Description

OZ hosted Guardian currently exposes:

Miden mainnet will introduce a third network. Reusing guardian.openzeppelin.com immediately for mainnet could cause outdated testnet clients to connect to mainnet unintentionally.

Proposed domains:

Eventually, https://guardian.openzeppelin.com/ can become a convenient mainnet alias.

Network-specific subdomains are preferable to /devnet, /testnet, and /mainnet paths because each network is an independent Guardian deployment. HTTP and gRPC also share the same hostname, making hostname-based routing simpler and safer.

Migration plan
Run the old and new domains in parallel:

  • guardian-devnet.openzeppelin.com and guardian-stg.openzeppelin.com serve devnet.
  • guardian-testnet.openzeppelin.com and guardian.openzeppelin.com serve testnet.
  • guardian-mainnet.openzeppelin.com serves mainnet when available.

The explicit network domains become canonical immediately.

Both names should route directly to their respective deployment. Avoid HTTP redirects because gRPC and other API clients may not follow them reliably.

Phase 2: Update consumers

Update the following to use explicit network domains:

  • Rust and TypeScript SDK defaults and documentation
  • Examples and smoke-test applications
  • Deployment and operator documentation
  • CI and integration configuration
  • Known external integrations

Announce the deprecation of:

  • guardian-stg.openzeppelin.com
  • Testnet service through guardian.openzeppelin.com

The announcement should include concrete cutoff dates.

Phase 3: Retire legacy usage

After the migration window:

  1. Retire guardian-stg.openzeppelin.com.
  2. Stop serving testnet from guardian.openzeppelin.com.
  3. Keep guardian.openzeppelin.com unused for a defined cooldown period.
  4. Monitor or otherwise assess requests still reaching the legacy hostname.

During the cooldown, guardian.openzeppelin.com should fail clearly instead of serving testnet or mainnet. This prevents stale testnet clients from silently operating against mainnet.

Phase 4: Introduce the mainnet alias

After the cooldown period:

  • Point guardian.openzeppelin.com to the same mainnet deployment as guardian-mainnet.openzeppelin.com.
  • Keep guardian-mainnet.openzeppelin.com as the explicit canonical mainnet endpoint.
  • Document guardian.openzeppelin.com as a mainnet-only convenience alias.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status
Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions