Delivery status

Panorama roadmap

Granular view of what is live, in flight, queued, and exploratory — including the UGC ad network track.

This page is the authoritative roadmap surface for the Panorama Protocol public program. Product pages explain the "why"; here we track discrete deliverables, how we label maturity, and what sits on the horizon. For the live display and video surfaces, see Demo and UGC Ad Network. For HTTP and repository context, see the API page (which includes a shorter roadmap summary that always defers here).

How this differs from /docs

The API page roadmap section stays high-level for developers scanning endpoints and repos. This ledger is the detailed source: every row is a checkable deliverable with status and evidence notes. When the two diverge, treat this page as current.

How we label delivery

Every row in the ledger below uses one of these statuses. They are intentionally finer than a simple "done / not done" so readers can tell production exposure from local-only or research work.

StatusWhat it means
Live NowShipped to production on panoramaprotocol.com (or the primary public deployment); no feature flag required for the described behavior.
ImplementedBuilt in the current codebase or sibling repos and usable in local/staging stacks; may rely on env flags, sample data, or operator wiring before it is considered production-hardened.
In progressActively being extended or hardened this cycle: APIs, UX, or infra are partially complete and the direction is committed.
UpcomingSequenced work with a clear product intent and rough ordering; scope and timelines can still move as dependencies land.
ResearchExploratory: technical or market validation, prototypes, or standards alignment before we commit to a delivery milestone.

Master delivery ledger

Rows are grouped by workstream. Within a group, order is roughly closest to user-visible impact first, then deeper systems— not a strict priority ranking across groups.

StatusDeliverableDetail & evidence
Public surfaces & developer experience

Marketing site, API documentation surface, and trust-oriented demos that explain how ingestion, proof, and settlement connect.

Live NowUnified SiteNav across marketing, marketplace, and SaaS headerSingle navigation model (About dropdown, API, Roadmap, marketplace entry points) so orientation does not change when users cross app boundaries.
Live NowAPI page (/docs) as canonical HTTP + repo mapEndpoint table (health, auth nonce/verify, public offers, ingest impression/click, debug state), curl examples, and links into repository search for market, dash, and SaaS repos.
Live NowLive PoI demos: /demo (display-first) and /ad-network (display + video lab)Viewability-gated PanoramaDisplayAd, streaming-style PanoramaVideoAd with quartile hooks, consent + correlation IDs, and POST to market-api /ingest/impression when NEXT_PUBLIC_API_URL is reachable. Proof readout via AdNetworkProofStrip (journal digest sim aligned with RISC Zero guest tags — no zkVM in the bundle).
Live NowThematic education pages (Data Unions, dCommerce, Proof of Impression)Dedicated long-form pages linked from primary nav to explain inventory models, commerce adjacency, and verifiable impression story.
Live NowIntegrations hub (Comment Protocol × Panorama)First integration guide under /integrations/comment-protocol: embed asset, marketplace placement deep link, live-style preview, and copy that states deploy boundaries vs Panorama-owned surfaces.
ImplementedMobile-responsive tables, code blocks, and nav wrappingHorizontal scroll shells for wide ledgers, wrapping monospace examples, tighter padding under ~560px, and flex-wrap on top navigation.
In progressLiving “site text export” for audits and localization prepMaintain a concatenated text artifact of site copy paths so compliance, brand, and future l10n passes can diff without spelunking JSX.
UpcomingVersioned API changelog section on /docsStructured breaking-change log tied to market-api semver or deploy tags; includes migration notes for publisher-sdk event schema bumps.
UpcomingOpenAPI / typed client generation from SERVICES_API.mdPublish machine-readable spec (or generated SDK stubs) so integrators can lint requests in CI instead of hand-maintaining examples only.
UGC & display ad network (publisher surfaces)

End-user ad units, ingestion envelopes, and trust UI that turn creator and publisher inventory into verifiable impressions — the path from “slot in React” to market-api and the prover lane.

Live NowPanorama ad React surfaces on the marketing sitePanoramaAdProvider, PanoramaDisplayAd, PanoramaVideoAd, and AdNetworkProofStrip shipped in-repo; /ad-network exercises display + video together; /demo centers a single real-style display creative as the primary live story.
ImplementedShared client lib for ingest + digest binding (lib/ad-network)Typed config, impression IDs, consent gating, simulated RISC Zero receipt fields (VIEWABILITY_V1 / PLAYBACK_QUARTILES_V1), and fetch toward /ingest/impression — structured so risc0-prover can consume the same journal story without forking payloads.
ImplementedComment Protocol × Panorama integration pathsIntegrations page, embed sample, marketplace rows, and placement deep links so adjacent UGC inventory (e.g. Comment Protocol stars) can reserve Panorama-backed slots with consistent copy.
In progressExec mode: real receipts from risc0-proverUI documents exec (prover service) vs sim (digest only in-browser); wire market-api / proof-worker to attach verifier-facing bundles from the Rust prover for batches that opt in.
In progressnpm publisher SDK (browser + correlation helpers)Same delivery as ingestion workstream ‘Publisher SDK: npm package’ — extract /demo and /ad-network patterns into one semver’d package with /docs examples matching market-api validation.
ImplementedMinimal display ad decision API (GET /v1/display/ads)market-api resolves placementId (+ optional publisherId) to an active line item + creative; landing PanoramaAdProvider fetches by default and binds decisionId/creativeId into signed impressions. Next: multi-creative rotation, frequency caps, and auth on decision for production.
UpcomingDecision depth: multi-creative rotation, frequency caps, geo/device signalsExtend /v1/display/ads with weighted rotation, per-user cap state, and optional context signals while keeping the same impression envelope and PoI binding.
UpcomingCTV / SSAI reference emitters on the same impression contractServer-side and big-screen samples that sign the same fields as web so UGC and long-form inventory land in one settlement graph.
Marketplace UX & operator workflows

Authenticated and public flows for browsing offers, managing entitlements, and inspecting protocol-backed state in the market UI.

Live NowRoute-level marketplace experience behind shared layoutHome, offers, and purchases routes with cards, tables, and navigation consistent with the rest of the protocol site.
ImplementedGraceful fallback when live market API data is absentSample offers, grants, and protocol-state placeholders so the UI remains explorable in demos and during partial outages.
ImplementedUSC listing labels + merged external union catalogPrices display in USC across offer flows; catalog merges real-style rows (Comment Protocol, top news network) with demo listings and placement query scroll/highlight on marketplace home.
In progressOffer creation & editing UX aligned with market-api contractsSurface validation errors from the API, preserve draft state, and expose correlation IDs returned on successful mutations.
UpcomingCampaign flight dashboard (read-heavy v1)Impressions delivered, spend pacing vs cap, and settlement intent status per campaign with deep links into verifier logs.
UpcomingRole-aware marketplace (buyer vs publisher vs admin)Route guards and navigation variants keyed off JWT claims once multi-role tokens are stable in market-api.
SaaS portal shell

Customer-facing Next.js starter for onboarding, billing presentation, and tenant-scoped configuration without duplicating marketplace internals.

Live NowBranded auth entry (sign-in / sign-up) and shared Panorama headerVisual continuity with marketing; correct deep links back to marketplace or docs where appropriate.
ImplementedProtected shell routes with session establishmentBaseline pattern for loading user context and rendering empty states before tenant data APIs are fully wired.
In progressTenant settings: API keys, webhook endpoints, allowed originsCRUD UI backed by future market-api admin routes; v1 may persist to config tables only without billing integration.
UpcomingUsage & invoice summaries (read from billing provider)Stripe (or similar) customer portal links plus in-app usage charts keyed off metered impression events.
Identity, wallet auth, and session security

Wallet-linked authentication for operators and publishers, JWT issuance, and safe local-development bypasses.

ImplementedNonce + signature verify flow (/auth/nonce, /auth/verify)Standard challenge flow documented on /docs; tokens used as bearer credentials on protected HTTP routes.
ImplementedNEXT_PUBLIC_DEV_BYPASS_AUTH for UI developmentSkips wallet round-trip when explicitly enabled; stubs protected offer paths so frontend teams are not blocked on local chain setup.
In progressRefresh tokens & shorter-lived access JWT rotationReduce blast radius of leaked tokens; add server-side revocation list hooks for compromised wallets.
UpcomingOptional SIWE message versioning & chain ID bindingExplicit domain and chainId in signed payloads to reduce phishing and wrong-network signatures.
ResearchPasskeys / MPC custody bridges for non-wallet-native buyersEvaluate custodial and semi-custodial patterns that still anchor settlement to on-chain intents where required.
Ingestion, event contracts, and publisher SDK

Signed impression and click events, schema evolution, and publisher-facing libraries that preserve correlation IDs end to end.

ImplementedHTTP ingest routes (/ingest/impression, /ingest/click)Documented on /docs as the primary surface for SDK and server-side emitters; payloads carry placement, campaign, and signature fields.
In progressPublisher SDK: npm package (browser emitters)Single versioned package (same milestone as UGC ad network workstream) exporting types, consent-aware emit, correlation helpers, and backoff — patterns proven in /demo and /ad-network before extraction.
In progressSchema registry & JSON Schema validation at the edgeVersion field per event; reject unknown versions with actionable errors; publish diff between vN and vN+1.
UpcomingServer-side Golang / Node emitter for SSAI partnersReference integration for ad stitching proxies that cannot run browser JS but can sign server-to-server payloads.
UpcomingCTV / streaming-stick reference playerAndroid TV–class shell that requests ad decisions, emits playback quartiles, and maps AVOD breaks to the same event envelope as web.
Proof pipeline, verification, and settlement

Workers that move events from raw ingest through verification into settlement intents and adapter execution (including dry-run modes).

ImplementedDebug /state introspection for pipeline visibilitySupports demos and operator debugging; aligns with LOCAL_STACK correlation ID checks across services.
In progressProof worker hardening: idempotency + poison-queue handlingExactly-once effects for settlement intent creation; DLQ with replay tools for stuck correlation IDs.
In progressVerifier: policy packs for invalid signature classesConfigurable rules for clock skew, duplicate eventId, and mismatched campaign/placement tuples.
In progressRISC Zero–oriented journal binding (sim) + prover hand-off designMarketing and demo UIs expose digest + guestTag aligned with VIEWABILITY / PLAYBACK guests; browser stays zkVM-free. Next: optional zk bundle attachment per batch from risc0-prover for buyers who require succinct proofs beyond signed logs.
UpcomingProduction settlement adapters beyond dryRunOn-chain settlement driver with gas budgeting; off-chain ACH/wire ledgering for hybrid deals.
Campaign automation & optimization

Agents and services that translate verified performance into bid/budget adjustments without breaking auditability.

ImplementedOptimizer agent writing campaign actions post-verificationDescribed in LOCAL_STACK-style E2E docs as the tail of the happy path after settlement marks intents complete.
In progressGuardrails: max delta per hour, kill switch, spend capsDeterministic limits on how far automated actions can move bids or budgets without human confirmation.
UpcomingCreative rotation suggestions from performance clustersPrivacy-preserving aggregation across placements to recommend creative swaps (no raw cross-site profiling in v1).
ResearchHybrid auctions (reserved + programmatic + private deals)Simulation harness for clearing prices when some demand is verified on-chain and some remains off-chain with delayed attestation.
Trust, abuse prevention, and compliance posture

Rate limits, audit logs, data retention, and regional considerations that surround the core ad pipeline.

In progressPer-API-key rate limits and burst control on ingestProtect market-api from abusive emitters; tier limits by tenant plan.
UpcomingStructured audit export (CSV + Parquet) for finance reviewImmutable snapshots of settlement intents joined to proof batch IDs for quarter close.
UpcomingData retention TTLs with publisher-configurable minimumsMeet policy floor while allowing longer retention where contracts require provable replay windows.
ResearchJurisdictional placement rules (geo, category, political)Policy engine that can block serve decisions pre-ingest and at verification time.
zkRTB, auctions, and programmatic depth

Real-time bid paths, supply-path optimization, and privacy-preserving bid streams that build on verified impressions.

ResearchzkRTB prototype: succinct bid eligibility proofsProve inclusion in audience or budget segment without revealing underlying identifiers to every counterparty.
ResearchAutonomous targeting agents with human-in-the-loop escalationAgents propose segment changes; humans approve before segments bind to live spend in regulated categories.
UpcomingOpenRTB adapter shim (server-side translation only)Map classic bid request/response to internal decision objects while keeping Panorama-signed playback as source of truth.

Near term (roughly 0–90 days)

Execution focus: harden what operators touch daily (auth, ingest, proof visibility), shrink time-to-first-validated-impression for new publishers, make marketplace + docs truthful mirrors of production behavior, and close the loop from live ad surfaces (/demo, /ad-network) to verifier-ready receipts.

  • Connect risc0-prover output to market-api / proof-worker for exec mode batches; keep sim mode for fast local demos and CI.
  • Ship npm publisher SDK v0 with browser bundle, consent gating, and correlation ID helpers documented beside /docs examples.
  • Close the loop on offer CRUD error surfaces in marketplace UI; add optimistic UI only where idempotency keys are guaranteed.
  • Proof worker idempotency + replay CLI documented in LOCAL_STACK; add dashboards for DLQ depth in protocol status views.
  • JWT rotation design landed behind feature flag; default remains current behavior until integrators confirm header changes.
  • Expand automated smoke tests: health → nonce (bypass) → public offers → ingest test payload → debug/state snapshot in CI.

Mid term (roughly 90–180 days)

Broaden inventory types without forking the event model: CTV reference player, SSAI server emitter, and read-heavy campaign analytics that reuse the same settlement records as web.

  • CTV reference app in a public repo with signed playback → ingest mapping and a minimal ad-decision stub server.
  • Campaign flight dashboard v1: pacing, delivery, settlement intent timeline, and export to CSV for finance.
  • Tenant API keys + signed webhooks from SaaS shell into market-api admin routes; rotate keys without session invalidation.
  • Settlement adapter beyond dryRun for one production-grade chain configuration with gas alerts and pause switches.
  • Begin OpenAPI publication from SERVICES_API.md with CI check that examples in /docs still compile against the spec.

Later & research (order TBD)

Higher uncertainty or heavier cross-industry alignment: zkRTB depth, hybrid auctions, advanced policy engines, and non-wallet buyer flows.

  • zkRTB prototype tied to a constrained demo network; publish benchmarks (proof time, verifier cost, bid latency impact).
  • Hybrid auction simulator results + proposed clearing rules; engage demand partners only after simulation coverage thresholds.
  • Passkey / custodial buyer flows that preserve auditability of spend approval without forcing every media buyer to custody ETH.
  • Jurisdictional policy engine PoC: category blocklists, political ad windows, and geo fence evaluation at decision time.
  • Additional cross-product bridges (Streamy, further partners) scoped per integration RFC; Comment Protocol path is already live on-site — extend only where contracts require.

Risks & dependencies

  • Live ad demos POST to market-api; if NEXT_PUBLIC_API_URL is wrong or the stack is down, the UI still shows digest state but operators see failed ingest — document this clearly for booth and pilot setups.
  • Settlement on-chain costs and RPC reliability directly affect whether dryRun remains the default in pilot deployments.
  • Schema changes to ingest payloads require coordinated publisher-sdk semver bumps; backward compatibility window must be published.
  • Third-party SSAI and CTV partners move on independent roadmaps; reference implementations reduce coupling but not calendar risk.
  • Verifier policy complexity can outpace UX: every new rule needs a human-readable explanation in protocol status and /docs.
Live demoUGC Ad NetworkAPI & developer contextBack to home