How it works

An agent, an API, and a gate between them.

The whole system is four things. This is where each one sits, and what it refuses to do.

YOUTHE AGENTTHE GATEYOUR BOOKA statementA receiptA sentenceChat botClaude pluginAny MCP clientbean-checkit balances,or it stops hereledger.beancountin a git repositoryon its own machinehand overledger APIcommitrefused — nothing landsYour browsersigned inread-only, on our origin — never a public hostYOUA statementA receiptA sentencehand overTHE AGENTChat botClaude pluginAny MCP clientledger APITHE GATEbean-checkit balances, or it stops herecommitrefused — nothing landsYOUR BOOKledger.beancountin a git repositoryon its own machineread-only, on our origin —never a public hostYour browsersigned in
The gate sits between the agent and the file, not after it. That is the whole design.
  1. 01

    A book appears

    One click creates a private book — a Beancount ledger behind an HTTP API on its own machine. No server to run, no container, no Fava to secure.

    What the API is →
  2. 02

    You point something at it

    A chat bot we host, the Claude plugin with your own key, or any MCP client. The bot is the one with nothing to install; the plugin is the one that costs you no credits.

    The three ways in →
  3. 03

    You talk

    “Here is August.” “What did I spend on infra in Q2?” “Book this receipt.” The agent does the double-entry. You never type a posting.

    What happens to a statement →
  4. 04

    The gate decides

    Every write runs bean-check before it commits. Unbalanced is refused, not saved. Ambiguous is flagged, not guessed. Then it is a git commit with a diff.

    History and undo →
Why plain text and git

You own it like a repository — because it is one.

Every other accounting tool keeps your history in a database you rent access to. This keeps it in files you can read, grep and diff, in a format that outlives any vendor. Including us.

Start with a free book.

No card. Provisioned in seconds, and it does not expire into a worse version of itself.

Get started → Read the documentation