ledgerforge README

The project's README from github.com/devaccuracy/ledgerforge. As one markdown file: README.md.

LedgerForge

The ledger for AI-native money movement

The system of record for fintech wallets, payouts, marketplaces and billing — with spending limits that keep AI agents in check and an audit trail you can prove.

Latest release Build and Test License: Apache 2.0 Go 1.26.9 or later Go Reference

Website · Docs · Cloud · Changelog · Roadmap

Open-source core (Apache 2.0) · Managed with LedgerForge Cloud · Enterprise

LedgerForge is an open-source double-entry ledger. It records wallet transfers, payouts, billing activity, reservations and refunds in exact integer units, backs that history with a verifiable audit chain, and enforces spending policies on every API key, including the keys your AI agents use. Use it through an HTTP API, a Go library or a local MCP server.

PostgreSQL stores the financial records and Redis runs queues and background workers; search and observability services are optional. LedgerForge records money movement. Connecting payment rails and defining your accounting model remain application responsibilities.

Use cases

Why LedgerForge

Accounting guarantees

See ledger concepts for amount handling, balance semantics and asynchronous transaction states.

Quickstart: a balanced transfer

Requires Docker with Compose and Python 3:

git clone https://github.com/devaccuracy/ledgerforge.git
cd ledgerforge
./examples/quickstart/start.sh
./examples/quickstart/transfer.sh

This local-only demo builds the current checkout, generates a random master key, runs migrations and binds the API to 127.0.0.1:5001. It creates two USD balances and posts 12.50 synchronously using integer units. The source gets a bounded demo overdraft of 12.50; the result is -1250 and 1250 units, with equal total debits and credits. A retry with the same reference must leave those balances unchanged.

source: -1250 units
destination: 1250 units
total debits = total credits = 1250 units
reference retry: balances unchanged

Stop it with docker compose -p ledgerforge-demo -f examples/quickstart/compose.yaml down. The example guide covers the API payload, credentials and cleanup. These credentials and database defaults are for local use only; read the deployment guide before exposing a service.

Install

Run ledgerforge version to confirm what you installed, then follow the deployment guide and run ledgerforge migrate up before starting the server. Before upgrading an existing database, read the integrity upgrade notes.

Run the published image locally

cp ledgerforge.example.json ledgerforge.json
# Replace server.secret_key with a random secret before starting.
# For example, generate one with: openssl rand -hex 32
docker compose up -d

The config explicitly enables authentication. API requests use the X-LedgerForge-Key header. Keep ledgerforge.json private and out of version control. The :main image tracks tested main-branch commits; pin a release tag or digest in production with LEDGERFORGE_IMAGE.

Open source and LedgerForge Cloud

Everything in this repository is free and open source under Apache 2.0: the ledger, verification and audit tooling, agent spending policies and approvals, the MCP server and the release artifacts. There are no license keys or feature gates, and you can run it in production yourself.

LedgerForge Cloud is a service, not different software: it operates the same open-source core for you.

Open source LedgerForge Cloud Enterprise
What it is The software in this repository Managed LedgerForge deployments, operated per customer Contracted deployment, support and review services
Ledger, verification, agent policies, MCP server Included Same open-source core Same open-source core
Who operates it You The LedgerForge team (dedicated infrastructure per customer) You or the LedgerForge team, per contract, including in-VPC deployments
Upgrades, backups and monitoring You Operated for you Agreed per contract, with migration and integration assistance
Verification and audit checkpoints You run ledgerforge verify and audit export Scheduled ledgerforge verify runs with audit checkpoints exported and anchored for each deployment Architecture and audit reviews
Support Community, through GitHub Onboarding and support SLA and support plan agreed per contract; priority security response
Hosted multi-tenant service with a dashboard — Planned (roadmap) —
Price Free Request access Contact sales
Get started Quickstart Request access Contact sales

Documentation

The documentation index lists every guide. Start with:

Online documentation is at ledgerforge.io/docs. The roadmap describes what is planned and the changelog records what has shipped.

Development

make verify
make test-integration
make vuln
make cover

CONTRIBUTING.md covers prerequisites, isolated integration tests and pull request expectations.

Community, support and license

Licensed under Apache 2.0. Required notices are in NOTICE.md.

ledgerforge (devaccuracy/ledgerforge)

Searching Database…

What is this?LedgerForge is an open-source double-entry ledger that records wallet transfers, payouts, billing activity, reservations and refunds in exact integer units for fintech wallets, marketplaces and AI agents moving money.
Is this a database I run myself, or a hosted API service?It is a self-hosted system of record: a Go server backed by PostgreSQL (plus Redis for queues) that you deploy yourself, used through an HTTP API, a Go library, or a local MCP server; a managed LedgerForge Cloud option also exists.
How do I try a transfer before deploying this for real?Run the local quickstart demo with Docker Compose and Python 3: it builds the current checkout, runs migrations, binds the API to 127.0.0.1:5001, then posts a balanced 12.50 transfer between two demo USD balances.
What do I need running besides the LedgerForge binary itself?PostgreSQL stores the financial records and Redis runs the queues and background workers; search and observability services are optional add-ons.
Does LedgerForge move money through payment rails itself?No — it only records money movement; connecting actual payment rails and defining your own accounting model are left to your application.
Is the Enterprise or Cloud tier required to use this in production?No. Everything — the ledger, verification tooling, agent spending policies and the MCP server — is free under Apache 2.0 with no license keys or feature gates, and you can run it in production yourself; LedgerForge Cloud and Enterprise are optional managed or contracted tiers on top of the same core.
What is the MCP server used for?It lets AI agents connect to the ledger through the Model Context Protocol, bound to a specific API key so an agent's spending stays within that key's server-enforced limits.
How are AI agents kept from overspending?Each agent gets its own API key with currency limits, allowlists, daily budgets and approval holds that the server enforces rather than the client, and delegated keys inherit and share their ancestor's budgets.
How can I trust the ledger hasn't been tampered with?A read-only ledgerforge verify command replays accounting evidence against versioned, exportable audit checkpoints that can be anchored independently with audit verify --anchor.
How is money represented to avoid rounding errors?All postings and balances use integer units with an explicit precision — for example 1250 at precision 100 represents 12.50 — avoiding floating-point input loss.
Size
3.9 MB
Stars
413
Age
5mo
Commits · 90 Days