Durable execution
Workflow state persists in Postgres. Crashes, restarts, and deploys never lose progress — runs resume exactly where they left off.
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.
Durable, deterministic, and financial-first — infrastructure so your engineers write business logic, not distributed systems.
Workflow state persists in Postgres. Crashes, restarts, and deploys never lose progress — runs resume exactly where they left off.
Idempotency keys and effect-key deduplication mean a retried step never posts twice. Crash recovery re-runs safely under the same epoch.
When a run fails partway, Pillara walks completed money steps in reverse and posts a compensating double-entry reversal for each.
An append-only, hash-chained log records every transaction, reversal, and edit. Any alteration to history is independently detectable.
Durable timers wait in wall-clock or banking days — skipping weekends and holidays from a stored calendar, deterministic on replay.
Authenticated, idempotent callbacks wake parked workflows — a Stripe webhook, a settlement event, or an AML compliance approval.
Re-run a workflow from any step, or read the ledger and a run "as of" a past instant — reconstructed exactly from immutable entries.
A periodic read-only sweep re-asserts double-entry invariants and raises a tamper-evident alert the moment anything drifts.
See where money is and why a run stopped: duration, retries, current step, pending timers, and the full compensation chain.
A payment flow reads like a script. Persistence, retries, timers, and recovery happen behind the scenes.
// 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.
Define workflows in a native Rust SDK — invoke operations, send signals, query live state. No DSL, no visual editor.
Deterministic scheduling, timers, retries, and UUID generation — replay produces identical decisions every time.
Workers claim runnable runs with row-level leases (FOR UPDATE SKIP LOCKED) — no separate broker to operate.
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.
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.
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.
See how Pillara removes thousands of lines of bespoke money-movement code — and replaces it with a runtime that proves money moved correctly.