eventdbx 1.12.4

An event-sourced, key-value, write-side database system.
Documentation
---
title: EventDBX
description: Event-sourced data with audit guarantees baked in.
nav_id: home
---

<section class="relative overflow-hidden py-24 sm:py-32">
  <div
    class="absolute inset-0 -z-10 bg-[radial-gradient(circle_at_top,_rgba(255,79,109,0.22),_transparent_55%)]"
  ></div>
  <div
    class="mx-auto grid max-w-6xl items-center gap-16 px-6 lg:grid-cols-[minmax(0,1.15fr)_minmax(0,0.85fr)]"
  >
    <div class="space-y-8">
      <span
        class="inline-flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-4 py-2 text-xs font-semibold uppercase tracking-[0.35em] text-brand"
        >Event pipelines without friction</span
      >
      <h1 class="text-4xl font-semibold leading-tight text-white sm:text-5xl md:text-6xl">
        Build trustworthy systems on append-only data.
      </h1>
      <p class="max-w-xl text-lg text-slate-300 md:text-xl">
        EventDBX gives you immutable timelines, schema-aware enforcement, and fast replay so every
        environment stays in sync. Inspired by the clarity of probot.github.io and tuned for
        real-world workloads.
      </p>
      <div class="flex flex-wrap gap-3">
        <a
          class="inline-flex items-center rounded-full bg-brand px-6 py-3 text-sm font-semibold text-slate-950 shadow-glow transition hover:-translate-y-0.5 hover:shadow-xl hover:shadow-brand/40"
          href="{{ '/getting-started/' | relative_url }}"
        >
          Start the guide
        </a>
        <a
          class="inline-flex items-center rounded-full border border-brand/40 px-6 py-3 text-sm font-semibold text-brand transition hover:border-brand hover:bg-brand/10"
          href="https://github.com/thachp/eventdbx/releases"
        >
          Download the CLI
        </a>
      </div>
    </div>
    <div class="relative">
      <div class="absolute -right-6 -top-6 h-24 w-24 rounded-3xl bg-brand/30 blur-3xl"></div>
      <pre
        class="relative overflow-x-auto rounded-3xl bg-slate-900/80 p-6 text-sm leading-relaxed text-slate-200 shadow-2xl ring-1 ring-white/10"
      ><code>$ curl -LsSf https://github.com/thachp/eventdbx/releases/download/v1.12.4/eventdbx-installer.sh | sh

$ dbx start --api all --foreground
REST, GraphQL, and gRPC ready on http://localhost:7070

$ dbx aggregate apply patient p-042 patient-added \
    --field name="Jane Doe" \
    --field status=active</code></pre>
    </div>
  </div>
</section>

<section class="bg-slate-100 py-24 text-slate-900 sm:py-28">
  <div class="mx-auto max-w-6xl px-6">
    <div class="mx-auto max-w-3xl text-center">
      <h2 class="text-3xl font-semibold tracking-tight sm:text-4xl">
        Why teams reach for EventDBX
      </h2>
      <p class="mt-4 text-lg text-slate-600">
        A polished experience inspired by probot.github.io, tailored for the realities of
        event-sourced systems and compliance-heavy workloads.
      </p>
    </div>
    <div class="mt-16 grid gap-8 md:grid-cols-2">
      <article class="rounded-3xl bg-white p-8 shadow-xl shadow-slate-500/10 ring-1 ring-slate-200">
        <h3 class="text-xl font-semibold text-slate-900">Immutable histories</h3>
        <p class="mt-3 text-slate-600">
          Append-only storage with Merkle proofs delivers tamper resistance and instant audits
          across environments.
        </p>
      </article>
      <article class="rounded-3xl bg-white p-8 shadow-xl shadow-slate-500/10 ring-1 ring-slate-200">
        <h3 class="text-xl font-semibold text-slate-900">Schema awareness</h3>
        <p class="mt-3 text-slate-600">
          Choose the level of enforcement you need. Toggle restriction per aggregate and snapshot on
          your cadence.
        </p>
      </article>
      <article class="rounded-3xl bg-white p-8 shadow-xl shadow-slate-500/10 ring-1 ring-slate-200">
        <h3 class="text-xl font-semibold text-slate-900">Operational clarity</h3>
        <p class="mt-3 text-slate-600">
          Health probes, CLI socket control, and structured logs keep operations predictable from
          day one.
        </p>
      </article>
      <article class="rounded-3xl bg-white p-8 shadow-xl shadow-slate-500/10 ring-1 ring-slate-200">
        <h3 class="text-xl font-semibold text-slate-900">Polyglot APIs</h3>
        <p class="mt-3 text-slate-600">
          Expose REST, GraphQL, and gRPC simultaneously. Integrate with any stack without
          translating primitives.
        </p>
      </article>
    </div>
  </div>
</section>

<section class="py-24 sm:py-28">
  <div class="mx-auto grid max-w-6xl gap-14 px-6 lg:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]">
    <div class="space-y-6">
      <h2 class="text-3xl font-semibold leading-tight text-white sm:text-4xl">
        Ship features faster with audit-grade tooling
      </h2>
      <p class="text-lg text-slate-300">
        EventDBX pairs a unified CLI with battle-tested storage. Keep focus on business logic while
        the platform enforces integrity.
      </p>
      <ul class="space-y-4 text-slate-300">
        <li>
          <strong class="block text-white">Unified developer workflow</strong>
          Install once to manage servers, schemas, tokens, and local state with a single binary.
        </li>
        <li>
          <strong class="block text-white">Environment parity</strong>
          Replay production event logs locally or hydrate a staging cluster from snapshots with one
          command.
        </li>
      </ul>
      <p class="text-lg text-slate-300">
        Observability is built in: metrics, structured logs, and health probes expose every surface
        without bolt-on agents.
      </p>
    </div>
    <div
      class="rounded-3xl border border-white/10 bg-slate-900/60 p-10 shadow-2xl shadow-black/30 backdrop-blur"
    >
      <h3 class="text-lg font-semibold text-white">Pick a starting point</h3>
      <ul class="mt-6 space-y-5 text-sm text-slate-200">
        <li>
          <strong class="block text-white"
            ><a
              class="text-brand transition hover:text-brand-300"
              href="{{ '/getting-started/' | relative_url }}"
              >Launch locally in minutes</a
            ></strong
          >
          Follow the guide to install the CLI, start the server, and append your first event.
        </li>
        <li>
          <strong class="block text-white"
            ><a
              class="text-brand transition hover:text-brand-300"
              href="{{ '/apis/' | relative_url }}"
              >Explore every API surface</a
            ></strong
          >
          Call REST, GraphQL, and gRPC endpoints with copy-friendly examples.
        </li>
        <li>
          <strong class="block text-white"
            ><a
              class="text-brand transition hover:text-brand-300"
              href="{{ '/cli/' | relative_url }}"
              >Master the EventDBX CLI</a
            ></strong
          >
          Automate schema deployment, token rotation, and aggregate inspection.
        </li>
      </ul>
    </div>
  </div>
</section>

<section class="py-24">
  <div class="mx-auto max-w-6xl px-6">
    <div
      class="relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-brand to-brand-400 p-12 text-slate-950 shadow-2xl shadow-brand/40"
    >
      <div class="absolute -right-12 top-10 h-48 w-48 rounded-full bg-white/30 blur-3xl"></div>
      <div class="space-y-5">
        <h2 class="text-3xl font-semibold sm:text-4xl">Ready to trust every write?</h2>
        <p class="text-lg text-slate-900/80">
          Install the CLI, wire up your APIs, and let EventDBX handle the compliance-ready plumbing.
        </p>
        <div class="flex flex-wrap gap-3">
          <a
            class="inline-flex items-center rounded-full bg-slate-950 px-6 py-3 text-sm font-semibold text-white transition hover:-translate-y-0.5 hover:bg-slate-900"
            href="{{ '/getting-started/' | relative_url }}"
          >
            Read the guide
          </a>
          <a
            class="inline-flex items-center rounded-full border border-slate-900/40 px-6 py-3 text-sm font-semibold text-slate-900 transition hover:border-slate-900"
            href="{{ '/cli/' | relative_url }}"
          >
            Browse CLI commands
          </a>
        </div>
      </div>
    </div>
  </div>
</section>