Solutions

Built for the platforms where money can't drift.

Different value-exchange systems fail in different ways — a double charge, an orphaned hold, a settlement that never reconciles, a rejected payment nobody can find. TulaDB puts the same balanced, durable, recoverable core under all of them.

Payment systems

Keep authorization holds, captures, reversals, and rejected attempts as first-class ledger outcomes — with idempotency that survives retries and at-least-once delivery.

Wallet platforms

Track available and posted balances distinctly, so pending holds never overstate what a user can actually spend, and top-ups reconcile exactly.

Treasury systems

Fund and defund through control accounts while preserving double-entry correctness — positions and settlement movement in one atomic ledger transaction.

Settlement workflows

Model tiered, direct, and indirect settlement together so correctness doesn't fracture across separate services and reconciliation jobs.

Marketplace balances

Split payments, escrow-style holds, payouts, and refunds stay balanced across buyers, sellers, and platform accounts — with every rejection recorded.

Internal financial platforms

Give internal ledgers, loyalty balances, and treasury tooling one correctness contract instead of a spreadsheet of accounting rules per service.

The shared failure mode

The same four questions, in every domain.

Whatever the product on top, operators end up asking the same things during an incident. TulaDB is designed so each has a direct, durable answer instead of a reconstruction effort.

What posted?
Immutable history of accepted, balanced transactions — queryable by account and operation identity.
What's pending?
Explicit reservations with a lifecycle, so holds can't silently orphan or leak.
What was rejected?
Declined decisions kept as durable records for audit, support, and duplicate protection.
What recovered?
Restart and replay behavior backed by concrete recovery artifacts and controlled drills.

Is it a fit?

TulaDB earns its place when balances are a platform guarantee.

A strong fit when…

Correctness must live below the app

You want holds, reversals, rejected visibility, idempotency, and recovery owned by the runtime — not re-implemented in every service, job, and support tool.

Probably not yet when…

The ledger is incidental

Financial state is light, single-writer, and rarely reconciled — a generic table may be enough until value movement becomes central to the product.

Private preview

Bring your domain to a design-partner conversation.

Tell us the value-movement patterns you're modeling and we'll scope a focused evaluation against them.