Skip to main content

Ledger

The Ledger is the core transaction processing engine in Wallet-Core, responsible for atomic payments, account management, and transaction integrity.

Core Principles

Atomicity

All operations complete entirely or not at all

Idempotency

Duplicate requests return existing results

Consistency

Balances always reflect actual state

Auditability

Every operation is logged for traceability

Payment Flow

Idempotency

Every payment request requires a unique request_id. If the same request_id is submitted again, the ledger returns the existing transaction without re-executing.

Implementation

Client Usage

Account Model

Accounts are created per user and currency combination.

Schema

Lazy Creation

Accounts are created automatically when needed:

Transaction Model

Schema

Transaction Statuses

Balance Operations

Get Balance

Debit/Credit

Audit Logging

Every transaction creates an audit log entry:

Audit Log Schema

Transaction Queries

List Transactions

Account Statement

Reconciliation

Wallet-Core includes VULT reconciliation for external processor integration:

Error Handling

Common ledger errors:

Next Steps

Configuration

Database and server configuration

API Reference

Payment API documentation