OpenZeppelin / OpenZeppelin/guardian

Introduce network-specific Guardian domains before Miden mainnet

Open
#341 1 comment 0 reactions 1 assignee View on GitHub

@zeljkoX is already working on this.

Since Aug 7, 2026.

cla: allowlist enhancement
Dominant language
Rust
Stars
10
Forks
20
Avg merge
2d 11h
Merged PRs (30d)
43

Description

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.