---
title: "OpenVibe.Events · OpenVibe.Wiki"
canonical: "https://openvibe.wiki/w/openvibe/openvibe-events"
updated: null
---

# OpenVibe.Events · OpenVibe.Wiki

HTML: [OpenVibe.Events · OpenVibe.Wiki](https://openvibe.wiki/w/openvibe/openvibe-events)

# OpenVibe.Events

[3 sources cited](/w/openvibe/openvibe-events/sources) [3 revisions](/w/openvibe/openvibe-events/history) this text accepted 2026-10-21 Not yet reviewed by a person

**Imported, written with AI assistance.** Imported from the OpenVibe repository README and STATUS files at the cited commits, summarised with AI assistance; originally by OpenVibers. Not yet reviewed by a person.

| Repository | [github.com/OpenVibers/OpenVibe.Events](https://github.com/OpenVibers/OpenVibe.Events) |
| --- | --- |
| Domain | openvibe.events |
| Port | 4300 |
| Runtime | Node 22, Express, PostgreSQL 18 and Valkey 9 |
| Status | alpha |
| License | AGPL-3.0 |

**OpenVibe.Events** is the durable event backbone of the OpenVibe network, at `openvibe.events`. Its README describes it as "Durable events, subscriptions, delivery, retry, dead letters and replay for the network."

## What it does

Every authoritative service writes domain mutations and outbox events in one transaction, a relay publishes them to Events, consumers use inbox and idempotency receipts, and browsers get resumable projections through the Realtime delivery plane. It stores events, subscriptions, deliveries and checkpoints in PostgreSQL (`ov_events`), signs webhook deliveries with signature v2, retries with backoff, keeps a dead-letter queue and supports replay. It also serves developer apps with sandbox separation, per-project quotas and SSRF-guarded webhooks. Retention is tiered: hot, a replay tier (`events_archive`) and an operator-run monthly NDJSON archive.

## What it does not do yet

It does not own media bytes, game or media transport packets, or product business rules. WebSocket and presence are "not built yet". Carrier options such as NATS Core, JetStream and a cloud SQS-compatible queue are optional and off unless configured.

## How it fits the network

In the week to 2026-10-21, 28 of the network's services published to it in production, [OpenVibe.Search](/w/openvibe/openvibe-search), [OpenVibe.Sources](/w/openvibe/openvibe-sources), [OpenVibe.Reviews](/w/openvibe/openvibe-reviews), [OpenVibe.AI](/w/openvibe/openvibe-ai) and [OpenVibe.Work](/w/openvibe/openvibe-work) the most, and seven developer apps sent events of their own. Every consumer webhook requires signature v2. It is consumed by [OpenVibe.Search](/w/openvibe/openvibe-search) and other services, and depends on [OpenVibe.Network](/w/openvibe/openvibe-network) for token signing keys and subject ids. The README records that it "Replaces the best-effort internal POSTs/webhooks between Live, Media, Network and Community."

## Runtime and status

It runs on Node 22 and Express, listening on `127.0.0.1:4300` behind nginx. STATUS.json records the stage as "alpha" and the service deployed with `sudo ovhost deploy events`. License: AGPL-3.0.

## Sources

1. [OpenVibe.Events README (commit f64f2c4)](https://github.com/OpenVibers/OpenVibe.Events/blob/f64f2c4d0e07cd55cd11a0a2b08edad57f63094d/README.md), retrieved 2026-10-21

   Durable events, subscriptions, delivery, retry, dead letters and replay for the network.
2. [OpenVibe.Events STATUS.json (commit f64f2c4)](https://github.com/OpenVibers/OpenVibe.Events/blob/f64f2c4d0e07cd55cd11a0a2b08edad57f63094d/STATUS.json), retrieved 2026-10-21

   durable event store with the canonical envelope
3. [OpenVibe.Events README (commit f64f2c4)](https://github.com/OpenVibers/OpenVibe.Events/blob/f64f2c4d0e07cd55cd11a0a2b08edad57f63094d/README.md), retrieved 2026-10-21

   In the week to 2026-10-21, 28 of the network's services published to it in production

[Inspect these sources](/w/openvibe/openvibe-events/sources) (retrieval times, where each was first cited, what changed between revisions)

## What links here

- [OpenRestream](/w/openvibe/openrestream)
- [OpenVibe](/w/openvibe/openvibe)
- [OpenVibe.Actor](/w/openvibe/openvibe-actor)
- [OpenVibe.AI](/w/openvibe/openvibe-ai)
- [OpenVibe.Billing](/w/openvibe/openvibe-billing)
- [OpenVibe.Blog](/w/openvibe/openvibe-blog)
- [OpenVibe.Chat](/w/openvibe/openvibe-chat)
- [OpenVibe.Community](/w/openvibe/openvibe-community)
- [OpenVibe.Coupons](/w/openvibe/openvibe-coupons)
- [OpenVibe.Deals](/w/openvibe/openvibe-deals)
- [OpenVibe.Food](/w/openvibe/openvibe-food)
- [OpenVibe.Games](/w/openvibe/openvibe-games)
- [OpenVibe.Help](/w/openvibe/openvibe-help)
- [OpenVibe.Host](/w/openvibe/openvibe-host)
- [OpenVibe.Inventory](/w/openvibe/openvibe-inventory)
- [OpenVibe.Live](/w/openvibe/openvibe-live)
- [OpenVibe.Media](/w/openvibe/openvibe-media)
- [OpenVibe.MediaHub](/w/openvibe/openvibe-mediahub)
- [OpenVibe.Network](/w/openvibe/openvibe-network)
- [OpenVibe.News](/w/openvibe/openvibe-news)
- [OpenVibe.Publishing](/w/openvibe/openvibe-publishing)
- [OpenVibe.Quest](/w/openvibe/openvibe-quest)
- [OpenVibe.Reviews](/w/openvibe/openvibe-reviews)
- [OpenVibe.Run](/w/openvibe/openvibe-run)
- [OpenVibe.Search](/w/openvibe/openvibe-search)
- [OpenVibe.Services](/w/openvibe/openvibe-services)
- [OpenVibe.Sources](/w/openvibe/openvibe-sources)
- [OpenVibe.Tools](/w/openvibe/openvibe-tools)
- [OpenVibe.Trade](/w/openvibe/openvibe-trade)
- [OpenVibe.Watch](/w/openvibe/openvibe-watch)
- [OpenVibe.Wiki](/w/openvibe/openvibe-wiki)
- [OpenVibe.Work](/w/openvibe/openvibe-work)

## Discussion

No comments yet

Start the discussion about this page.

[Sign in to comment](/auth/login?next=%2Fw%2Fopenvibe%2Fopenvibe-events)

[Sign in](/auth/login?next=%2Fw%2Fopenvibe%2Fopenvibe-events) to comment.
