Durable execution · financial systems

Money moves correctly.

Pillara is a durable execution platform built exclusively for financial systems — exactly-once operations, compensation instead of rollback, and an immutable, tamper-evident audit trail. Delete thousands of lines of bespoke payment orchestration and ship on infrastructure that proves money moved right.

Book a demo See the SDK POSTGRES-BACKED · RUST SDK · DEPLOYS IN YOUR VPC
01Why a dedicated runtimeAnalysis
The status quo

Generic engines don't understand money.

  • FAIL Retries that double-charge customers
  • FAIL "Rollbacks" that don't exist once money has left
  • FAIL Reconciliation logic scattered across services
  • FAIL Audit trails reconstructed after the fact from logs
The Pillara model

Financial correctness is a platform guarantee.

  • PASS Exactly-once execution from the app's perspective
  • PASS Compensation forward — reversals, never in-place edits
  • PASS Tamper-evident, independently verifiable history
  • PASS Replay & time-travel for real incident debugging
02The platform9 modules

Everything payment orchestration needs, built in.

Durable, deterministic, and financial-first — infrastructure so your engineers write business logic, not distributed systems.

2.1

Durable execution

Workflow state persists in Postgres. Crashes, restarts, and deploys never lose progress — runs resume exactly where they left off.

2.2

Exactly-once semantics

Idempotency keys and effect-key deduplication mean a retried step never posts twice. Crash recovery re-runs safely under the same epoch.

2.3

Compensation saga

When a run fails partway, Pillara walks completed money steps in reverse and posts a compensating double-entry reversal for each.

2.4

Tamper-evident ledger

An append-only, hash-chained log records every transaction, reversal, and edit. Any alteration to history is independently detectable.

2.5

Banking-day timers

Durable timers wait in wall-clock or banking days — skipping weekends and holidays from a stored calendar, deterministic on replay.

2.6

Signals & human tasks

Authenticated, idempotent callbacks wake parked workflows — a Stripe webhook, a settlement event, or an AML compliance approval.

2.7

Replay & time-travel

Re-run a workflow from any step, or read the ledger and a run "as of" a past instant — reconstructed exactly from immutable entries.

2.8

Continuous verification

A periodic read-only sweep re-asserts double-entry invariants and raises a tamper-evident alert the moment anything drifts.

2.9

Observability & audit

See where money is and why a run stopped: duration, retries, current step, pending timers, and the full compensation chain.

03Developer experienceRust SDK

Write business logic. We run the distributed system.

A payment flow reads like a script. Persistence, retries, timers, and recovery happen behind the scenes.

payment_workflow.rs
// Durable · exactly-once · replayable
let payment = Payment::new(customer, merchant, amount);

 payment.reserve().await?;           // hold funds
 payment.run_fraud_check().await?;
 payment.submit_to_ach().await?;
 payment.wait_for_settlement().await?; // durable timer
 payment.settle().await?;            // capture the hold

// On failure, Pillara compensates forward:
// reverse → refund → audit.

01Code-first, no YAML

Define workflows in a native Rust SDK — invoke operations, send signals, query live state. No DSL, no visual editor.

02Deterministic by construction

Deterministic scheduling, timers, retries, and UUID generation — replay produces identical decisions every time.

03The database is the queue

Workers claim runnable runs with row-level leases (FOR UPDATE SKIP LOCKED) — no separate broker to operate.

04Financial primitivesRuntime-native

The verbs of money movement.

Each primitive is a thin, idempotent wrapper over a real double-entry posting — subject to the same balancing and constraint checks. Overdraft, asset mismatch, and unbalanced entries are rejected at the source.

reserve()release()capture()debit()credit() transfer()escrow()settle()refund()reverse() freeze()unfreeze()expire()wait_settle()reconcile()
05Correctness & complianceFor audited teams

Built for teams that get audited.

Multi-tenant isolation on every resource, UUID-addressed APIs, and an auditable record of every state transition — timestamp, actor, reason, correlation ID, request ID, and idempotency key.

Exactly-onceFinancial operations guaranteed at the application boundary — retries and duplicate callbacks never post twice.
Append-onlyA hash-chained, tamper-evident ledger where any alteration to history is independently detectable.
t₀Time-travelReplay from any step and read balances "as of" a past instant — reconstructed from an immutable event log.
1DependencyPostgres. No distributed database, no separate broker, no consensus cluster to operate.
06REST API & SDKAPI keys · JWT

Drive it from anywhere.

Register workflow definitions, start runs, deliver signals, and replay — over a clean REST surface secured with API keys and JWT. Rust SDK today; Go, TypeScript, Java, and Python on the roadmap.

POST/v1/workflows/definitionsregister
POST/v1/workflows/runsstart
GET/v1/workflows/runs/{id}query
POST/v1/workflows/runs/{id}/replayreplay
POST/v1/workflows/callbacks/{token}signal
GET/v1/workflows/runssearch
07Get startedPillara RT

Stop building payment orchestration.

See how Pillara removes thousands of lines of bespoke money-movement code — and replaces it with a runtime that proves money moved correctly.