Kurrent Platform

Event-Centric Data Platform

For Event Sourcing

For Event-Driven Architecture

For Event-Driven Microservices

Replaces Change Data Capture

Zero-Code Outbox

Built-in Stream Processing

(Almost) no Impedance Mismatch

(Almost) no Impedance Mismatch

Ensure your application logic aligns natively with stored data. KurrentDB persists state changes as simple, serializable event objects, which eliminates the need for object-relational mapping.

For Event Sourcing

KurrentDB was purpose-built for event sourcing. Store events in individually indexed streams and replay them to reconstruct system state at any moment. Enjoy a globally ordered, immutable event log with lock-free appends and lightning-fast event retrieval per stream or across your entire system.

For Event-Driven Architecture

Seamlessly store, distribute, and react to events with no external message brokers required. With built-in connectors and persistent subscriptions, KurrentDB powers real-time event flows and automates message delivery out of the box.

For Event-Driven Microservices

Decouple, scale, and evolve your microservices. Persist state changes as events, enabling independent service evolution. Events can be consumed in real time or transformed via stream processing pipelines to generate new events or update materialized views.

Replaces Change Data Capture

No more CDC tools or complex infrastructure required. With KurrentDB, state changes are events. Subscribe to the event stream for direct, real-time access to all changes.

Zero-Code Outbox

Outbox pattern with zero code. KurrentDB natively ensures events and state changes are stored atomically and requires no separate outbox tables or extra libraries. Publish events reliably, with zero operational overhead.

Built-in Stream Processing

Process, transform, and semantically link events in real-time directly in your database. Think of it as stored procedures for event streams: triggered by new data, executed in-database, and optimized for millisecond-level latency.

KurrentDB

Event-Native Database

Model your business processes, not just the state of your business. KurrentDB's event-native data model directly reflects your domain model. Skip the complexity of ORMs, outboxes, and CDC. Gain complete visibility into how your data evolves, and stream events in real time—straight from the source.

Event-Native Database
// OrderOpened
{
  "customerId": "cu-730"
}
// ItemAdded
{
  "productId": "prod-9110",
  "count": 2,
  "price": 99.99
}
// ItemRemoved
{
  "productId": "prod-9110",
  "count": 1
}
// DiscountApplied
{
  "code": "WELCOME!",
  "amount": 10
}
// PaymentReceived
{
  "amount": 89.99,
  "fullyPaid": true
}

Docs

Reference manuals, tutorials, and code samples - all in one place to help you deploy, configure, and run KurrentDB and build applications using supported clients.

Documentation

Kurrent Academy

Level up your KurrentDB skills with free courses, covering both application development and database maintenance topics.

Start learning

Community Forum

Join other developers and Kurrent engineers on our Community Forums and Discord to get advice, learn patterns and best practices, and share your projects and experience.

Join the community
Code for everyone

Simple integration

KurrentDB client libraries are available for
Java, .NET, Go, Python, Node.js, and Rust.

type OrderPaid = JSONEventType<
    "OrderPaid",
    { amountPaid: number; fullyPaid: boolean; }>;

const event = jsonEvent<OrderPaid>({
  id: uuid(),
  type: "OrderPaid",
  data: {
    amountPaid: 89.99,
    fullyPaid: true,
  },
});

await client.appendToStream(`Order-${orderId}`, event, {
  streamRevision: version,
});

Three easy steps

1

Sign up for Kurrent Cloud

Access Kurrent Cloud in under five minutes.

2

Create a cluster for free

Provision your first cluster for free using Kurrent's shared infrastucture.

3

Start hacking!

Use one of our starter tutorials, or build something amazing on your own.

New Cloud Cluster New Cloud Cluster
Integrations

Kurrent works with your favorite stack

.NET

Java

Node.js

Python

Golang

Rust

Kafka

WebHooks

RabbitMQ

ElasticSearch

MongoDB

AWS

GCP

Azure

Trusted by thousands

Used by developers all over the world

50M+

Downloads

10K

Companies using Kurrent

5M

Client Library Downloads

200+

Customers

What our customers say

“Trading needs to be high performance and low latency—the scalability is critical. By using Event Sourcing, we were able to handle significant volumes, and scale faster. Performance tests with KurrentDB on our new products are 70–80% quicker than our existing solution.”

Adrian Tovey

Adrian Tovey

Global Director of Program Management, Linedata

In the new digital world, we are generating tremendous amounts of data. Kurrent has allowed us to manage and understand these large quantities without losing agility and scalability. It has enabled us to perform asynchronous tasks on datasets, speeding up our consumption of data, and allowing our organisation to glean new insight into our business.

Rohit Harshvardhan

Rohit Harshvardhan

Technical Team Lead, Insureon

I’m a 100% happy with Kurrent Cloud. Availability has been super high, and many of the more difficult things that we would normally have to do to implement the solution were done for us. I’m happy to say it just works.

Leo O'Donnell

Leo O'Donnell

Chief Architect, Wiser

We’re using KurrentDB in 11 countries. We’re able to sync everything and in the last year, we haven’t had a single incident - the application is running 24/7 - which is a big achievement!

Daniel Cano

Daniel Cano

Head of Application Transformation, Holcim