Announcing Formance Ledger V2.3
Formance Ledger V2.3 introduces a new ways to improve the performance of your installation, as well as a bundle of requested improvements.
September 10, 2025

What’s new in Formance Ledger V2.3
Formance Ledger V2.3 introduces a number of new ways that you can improve the performance of your installation. Among the most requested is an option for asynchronous log hashing. In high-throughput environments enabling this can provide serious improvements in performance. Of course, you’ll also find the usual bundle of improvements you’ve been asking for.
Ledger service process separation
The Ledger service has been split into two separate processes for improved performance. The existing ledger serve command now handles only HTTP requests, while a new ledger worker command manages all stateful operations like block hashing and log exports.
Optional asynchronous log hashing
Added configurable asynchronous hash computation to improve ledger throughput. You can now choose between synchronous hashing (the default; maximum tamper-proof security) and asynchronous block-based hashing (better performance with reduced attack window). This addresses the sequential bottleneck in hash chain computation while maintaining audit trail integrity.
JSON transactions support for bulk streams
Bulk streams now support JSON transactions in addition to the existing Numscript format. The endpoint now accepts application/json content type for bulk operations.
Pagination improvements
Introduced a new sort query parameter to multiple list endpoints in the Ledger, allowing clients to specify sorting by field and order. It also adds support for paginating and sorting on additional fields, such as first_usage for accounts and date/id for logs and transactions. The account schema is updated to expose a new firstUsage timestamp field.
First usage filtering
We’ve added a new first-usage filter to the /volumes endpoint, allowing you to filter volumes based on when they were first used.
Additional metadata support for transaction reverts
The POST /api/ledger/v2/{ledgerID}/transactions/{transactionID}/revert endpoint now accepts optional user-provided metadata in the request. This allows for enhanced traceability and custom business logic while preserving the automatically-added com.formance.spec/state/reverts metadata that identifies the original transaction being reverted.
Big integer string serialization
Added a new rendering layer that allows big integers to be serialized as strings in API responses when requested via an HTTP header, providing better compatibility with clients that cannot handle large numeric values.
Log exporting system for real-time streaming
Introduced a comprehensive log exporter system for real-time streaming of ledger transaction logs to external systems. The system includes configurable exporters (Elasticsearch, HTTP, ClickHouse, stdout), pipelines that connect ledgers to exporters with reliable state tracking, and APIs for pipeline management via /v2/{ledger}/pipelines and direct export via /v2/{ledger}/logs/export. Features include automatic retry logic, configurable batching, and persistent state to prevent data loss.
Removed experimental features for data isolation
Experimental data isolation features INDEX_ADDRESS_SEGMENTS and INDEX_TRANSACTION_ACCOUNTS are no longer supported and have been removed.
Availability
Ledger V2.3 is already available as a standalone release on GitHub, and will be available on our cloud in the coming days