OpenZeppelin / OpenZeppelin/guardian
Introduce network-specific Guardian domains before Miden mainnet
@zeljkoX is already working on this.
Since Aug 7, 2026.
- Dominant language
- Rust
- Stars
- 10
- Forks
- 20
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 43
Description
Description
OZ hosted Guardian currently exposes:
- https://guardian-stg.openzeppelin.com/ — Miden devnet
- https://guardian.openzeppelin.com/ — Miden testnet
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:
- Devnet | https://guardian-devnet.openzeppelin.com/
- Testnet | https://guardian-testnet.openzeppelin.com/
- Mainnet | https://guardian-mainnet.openzeppelin.com/
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.comandguardian-stg.openzeppelin.comserve devnet.guardian-testnet.openzeppelin.comandguardian.openzeppelin.comserve testnet.guardian-mainnet.openzeppelin.comserves 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:
- Retire
guardian-stg.openzeppelin.com. - Stop serving testnet from
guardian.openzeppelin.com. - Keep
guardian.openzeppelin.comunused for a defined cooldown period. - 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.comto the same mainnet deployment asguardian-mainnet.openzeppelin.com. - Keep
guardian-mainnet.openzeppelin.comas the explicit canonical mainnet endpoint. - Document
guardian.openzeppelin.comas a mainnet-only convenience alias.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.