Skip to content
v1.0.0Open-source core released

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.

Open-source core·Managed with LedgerForge Cloud

agent payout · payout-2207
30.00 USD
  1. RequestPOST /transactions
    precise_amount 3000precision 100key api_key_8224…
  2. PolicyChecked by the server
    max 50.00 daily 30.00 / 100.00above 20.00 → approval
  3. HoldINFLIGHT, approval pending
    agent self-approval 403 approver key approved
  4. PostedAPPLIED, double entry
    Source −30.00
    Supplier +30.00
  5. SealedAudit checkpoint
    v3 · head ff1024…ea2821
Illustrative sequence built from captured LedgerForge API responses.

Teams running this open-source ledger core in production

  • Pago a Pago
  • Fasttrack
  • Publicgrid
  • Morna Tech
Why now

Software is starting to move money on its own. Most ledgers still trust whoever holds the key.

Payments used to start with a person pressing a button. Increasingly they start with schedulers, workflows and AI agents acting for a customer. The system of record under those flows has to be exact, enforce its own limits and leave evidence anyone can verify.

  • Machines act at machine speed

    An agent can submit a thousand requests before anyone reads the first alert. Limits have to hold at the moment of posting, not in a report the next morning.

    LedgerForgePer-key policies are checked and reserved in PostgreSQL before any transaction executes.

  • Credentials multiply

    Agents spawn sub-agents and services mint their own keys. Every new credential becomes a new allowance unless budgets are inherited and shared.

    LedgerForgeDelegated keys inherit their parent's restrictions and draw on the same daily budget.

  • Logs aren't evidence

    When a payout is disputed, "the database says so" isn't proof. Finance, auditors and partners need records they can check independently.

    LedgerForgeReplay verification and exportable hash-chain checkpoints you can anchor outside the database.

How it works

Every request takes the same path from credential to evidence

HTTP and identity-bound MCP requests share one admission path. Every authenticated request passes its key's checks before it can touch a balance, and every posting can be sealed into a record you verify yourself.
  1. 01

    Your app or agent

    Calls the HTTP API, embeds the Go library or uses the local MCP server.

    X-LedgerForge-Key
  2. 02

    Scoped key

    Checked against PostgreSQL for scope, expiry and revocation on every request.

    scopes · expiry · owner
  3. 03

    Admission

    The key's spending policy is applied and capacity reserved. Above the threshold, funds are held for approval.

    policy · reservation · hold
  4. 04

    Double-entry posting

    Source debited and destination credited by the same integer amount. Workers handle queued and scheduled work.

    QUEUED → APPLIED
  5. 05

    Evidence

    With the hash chain enabled, postings are sealed into versioned hashes and checkpoints you can export and verify.

    v3 chain · checkpoints
  • Signed webhooks

    HMAC-SHA256 over timestamp and raw body, sent to validated destinations.

  • Exported checkpoints

    audit export prints checkpoint roots to sign and store outside the database.

For developers

Real requests. Real responses.

These samples were captured from a local build of LedgerForge, taken just before the 1.0.0 tag, running against PostgreSQL 16 and Redis 7. IDs, hashes and timestamps are exactly what the server returned.
  • HTTP API

    JSON over HTTP with scoped keys in X-LedgerForge-Key.

  • Go library

    Embed the ledger in a Go service with the same rules.

  • MCP server

    A local stdio server for agents, bound to one API key.

12.50 USD as 1250 integer units. skip_queue waits for the posting.

POST /transactionsRequest
{  "source": "bln_e0f81b15-bd0a-43c5-9e84-7fd4394192e8",  "destination": "bln_df56a248-7d7e-4c0c-8fbf-a5215c87b603",  "currency": "USD",  "precise_amount": 1250,  "precision": 100,  "reference": "order-1042",  "description": "Order 1042",  "skip_queue": true,  "allow_overdraft": true,  "overdraft_limit": 12.5}
Response201 Created
{  "rate": 0,  "precise_amount": 1250,  "amount": 12.5,  "amount_string": "12.5",  "precision": 100,  "overdraft_limit": 12.5,  "transaction_id": "txn_c493a7e3-ac39-4456-90c3-ac43f00c5e0d",  "parent_transaction": "",  "source": "bln_e0f81b15-bd0a-43c5-9e84-7fd4394192e8",  "destination": "bln_df56a248-7d7e-4c0c-8fbf-a5215c87b603",  "reference": "order-1042",  "currency": "USD",  "description": "Order 1042",  "status": "APPLIED",  "hash": "9b7d7ad924e2e626055e3b33edcf194142e3fcd562de1807dd738d9afd7c1f87",  "allow_overdraft": true,  "inflight": false,  "skip_queue": true,  "atomic": false,  "created_at": "2026-10-10T05:54:45.691597464Z",  "effective_date": "2026-10-10T05:54:45.691597464Z",  "scheduled_for": "0001-01-01T00:00:00Z",  "inflight_expiry_date": "0001-01-01T00:00:00Z",  "inflight_commit_date": "0001-01-01T00:00:00Z",  "meta_data": {    "allow_overdraft": true  }}
Cloud and Enterprise

Run it yourself, or have us run it for you

The open-source core is the same everywhere. LedgerForge Cloud and Enterprise add the operations, support and assurance that production money movement needs.

LedgerForge Cloud

Available today

Today: managed LedgerForge deployments, operated by our team for each customer on dedicated infrastructure. You integrate against the API; we run the ledger, keep it current and check that it is intact.

  • Dedicated deployment per customer
  • Upgrades and migrations
  • Backups and monitoring
  • Scheduled verification
  • Policy and approval setup
  • Onboarding and support
  1. Request
  2. Scoping call
  3. Dedicated deployment
  4. Onboarding

Enterprise

For institutions that need LedgerForge inside their own perimeter, with commitments agreed in a contract.

  • Dedicated or in-VPC deployment assistance
  • SLA and support plan agreed per contract
  • Priority security response
  • Migration and integration assistance
  • Architecture and audit reviews
Security and trust

Built to be inspected, not taken on trust

Security overview
v1.0.0Apache 2.0Linux/macOS/Windows binariesSPDX SBOMsghcr.io image
  • Open source, Apache 2.0

    Every line of the core is public and auditable.

  • SBOMs and checksums

    Each release ships SPDX SBOMs, checksums and image provenance attestations.

  • Vulnerability scanning in CI

    Reachable vulnerabilities block publication.

  • Scoped, revocable keys

    Revocation is checked against PostgreSQL, not a cache.

  • Sanitised errors, signed webhooks

    Backend details stay in logs; deliveries are HMAC-signed.

  • Private disclosure

    Report issues to security@ledgerforge.io.

FAQ

Questions teams ask first

Something else? We're happy to walk through your use case.

Book a demo

What is LedgerForge?

A double-entry ledger: the system of record for balances and money movement in your product. Your application decides what should happen; LedgerForge records it exactly, enforces the limits attached to each API key and keeps evidence you can verify. It records money movement; it doesn't connect to banks or payment rails.

Is the core really open source?

Yes. The ledger core is Apache 2.0 and lives on GitHub: the API server, workers, verification commands, spending policies, MCP server and examples. Nothing in the software is held back for paying customers. LedgerForge Cloud and Enterprise are services around the same core.

What is LedgerForge Cloud today?

Managed LedgerForge deployments that our team operates for each customer on dedicated infrastructure, including upgrades, backups, monitoring, scheduled verification and support. A hosted multi-tenant service with a dashboard is planned and on the roadmap.

Where is my data stored?

Self-hosted, it stays in your own PostgreSQL database. With LedgerForge Cloud, data lives on infrastructure dedicated to your deployment, in a location agreed with you before it is provisioned. PostgreSQL is always the source of financial truth; optional search indexes are a projection.

How do spending limits for AI agents work?

Each agent gets its own API key with a policy: allowed currency and precision pairs, max_transaction, a UTC daily_limit, approval_above and ledger and balance allowlists. The server checks the policy and reserves capacity in PostgreSQL before the transaction executes, for HTTP and identity-bound MCP requests alike.

Can an agent approve its own payments?

No. The initiating key, its delegated descendants and other members of its delegation family can't approve or reject its hold. Use a separately provisioned approver key and keep it out of the agent's environment. The server can't tell whether one person holds both credentials, so pair it with your own review process.

How do I prove the ledger hasn't been altered?

Run ledgerforge verify to replay balances from their postings, and ledgerforge audit verify to check the hash chain. Export checkpoints with audit export, store them somewhere the database can't rewrite, and compare later with --anchor. See the verification guide.

Does LedgerForge convert currencies?

No. Amounts move between balances in the same currency. The compatibility fields rate and currency_multiplierdon't apply FX conversion; calculate exchange in your application.

How do I get support or report a vulnerability?

Open a GitHub issue for bugs and questions, email support@ledgerforge.io about Cloud or support, and report vulnerabilities privately to security@ledgerforge.io as described in the security policy.

Put a provable ledger under your money movement

Start with the open-source core, or let the LedgerForge team run it for you on dedicated infrastructure.