# ECP-0009: MoQ implementation selection Status: Draft ## Problem We need a practical MoQ implementation to begin integration with iroh while the protocol evolves. ## Survey (Rust implementations) - **moq-dev/moq**: MoQ reference repository with Rust crates including `moq-lite`, `moq-relay`, and `hang` catalogs. - https://github.com/moq-dev/moq - **cloudflare/moq-rs**: Rust implementation of the IETF MoQ Transport draft. - https://github.com/cloudflare/moq-rs ## Decision Start with `moq-lite` (from moq-dev/moq) and reuse the adapters proven by `iroh-live`: - `web-transport-iroh` for WebTransport-style bindings over iroh. - `iroh-moq` for creating MoQ sessions over iroh connections. Track `cloudflare/moq-rs` in parallel for standards-aligned MoQ Transport and schedule interoperability tests once we have live relays. ## Alternatives considered - Building a fresh MoQ stack: rejected due to duplication and slow iteration. - Waiting for browser-native MoQ: rejected because it delays core network validation. - Starting directly on cloudflare/moq-rs: deferred until we need draft-accurate transport. ## Rollout / teardown - Vendor or depend on `moq-rs` crates. - Implement a minimal publish/subscribe pipeline over iroh. - Re-evaluate once MoQ standardization and browser support stabilize.