Self-Banking
Platform
Complete financial infrastructure you own and control. Multi-compartment wallets, double-entry ledger, CommitmentGate pipeline, and cryptographic receipts — all in pure Rust.
Six Core Subsystems
Each subsystem is a standalone Rust crate with its own test suite, composable via the openibank-core integration layer.
Vault for cold storage, Operational for daily use, Escrow for pending settlements, Delegated for agent-managed funds. Each compartment has independent balance tracking.
- Independent balance per asset
- Compartment-level permissions
- Ed25519 keypair per wallet
- Multi-asset support (6 stablecoins)
Every transaction creates balanced journal entries. Debits always equal credits. Fixed-point Amount(i128) with 8 decimal places — no floating point, ever.
- Debit == Credit invariant
- Fixed-point i128 arithmetic
- 8 decimal places (SCALE = 10^8)
- Idempotency key support
Every value movement crosses this gate. The 5-phase pipeline ensures atomicity and provides rollback capability at each stage.
- Intent validation
- Prepare with hold placement
- Commit (point of no return)
- Execute within boundary
Granular authorization for every expenditure. Budget tracking, daily limits, recipient allowlists, and time-window constraints.
- Per-permit budget tracking
- Daily spending limits
- Recipient allow/block lists
- Automatic expiration (TTL)
Ed25519 signed receipts for every value movement. Canonical JSON serialization ensures deterministic signatures. Independently verifiable.
- Ed25519 digital signatures
- Canonical JSON (sorted keys)
- Tamper-evident verification
- Receipt cards (JSON/HTML/Terminal)
Append-only event log with SHA-256 hash chain. Every event links to the previous via cryptographic hash. Full state is replayable.
- SHA-256 hash chain
- Tamper detection on any event
- Query by actor, type, time range
- Full state replay capability
Transfer Pipeline
Every value movement flows through the CommitmentGate — no exceptions. Each phase is independently auditable.
Ready to Build?
Start with the banking demo, explore the crate architecture, or dive straight into the API.