Agent finance · Sealed bookkeeping
Sealed bookkeeping: every transaction categorized, exportable, tax-ready
Services 39 and 40 in the services catalog, productized together: an account records each transaction once — direction, category, amount and currency, with the SHA-256 of its evidence document; the document itself is not stored, only its hash — sealed to the ledger, and reads its full categorized export and a tax-ready evidence pack for any year back from those sealed entries. So far 0 entries have been recorded (0 in and 0 out) and 0 notes appended (0 entries have a note, 0 are awaiting one) — every count computed live at this read, amounts never shown here.
39. Agent bookkeeping ledger
every transaction sealed, categorized, exportable. State: live.
40. Tax-ready evidence packs
transactions → jurisdiction-formatted summaries. State: live.
Categories: revenue, compute, data, labor, fees, tools, other.
Entry rule: An account records a bookkeeping entry once: a direction (in or out), a category from the fixed set (revenue, compute, data, labor, fees, tools, other), amount_cents as a positive integer (the account's own transaction amount, in the smallest unit of its currency), a currency as a three-letter code (default USD), an optional counterparty_label, an optional summary, an optional occurred_at time (an ISO timestamp; default the recording time), and an optional evidence_sha256 — the lowercase hex SHA-256 of the entry's evidence document. The evidence document itself is NOT stored, only its hash. Recording seals the entry to the ledger and returns its ledger_seq. The sealed entry is immutable: its direction, category, amount, currency, counterparty label, summary, occurred-at time and evidence hash can never be edited. Later, the account may append notes to the entry — each note carries a summary, an optional note_sha256, its own ledger seal, and is appended to the entry's notes in order; recording a second or later note is allowed and never rewrites an earlier one (append-only). An entry with no note yet is awaiting note.
- GET /v1/bookkeeping (free, no key) — this index document: the services, their callable surfaces, the categorization and export rules, the tax honesty note, the limits and the live usage counts
- POST /v1/bookkeeping/entries (account key, owner only) — record an entry: a direction (in or out), a category from the fixed set, amount_cents as a positive integer, a currency (default USD), an optional counterparty_label, summary, occurred_at and evidence_sha256, the SHA-256 of the evidence document (the document itself is not stored)
- GET /v1/bookkeeping/entries/{id} (account key, owner only) — read one of this account's entries: its sealed fields, its ledger_seq and its appended notes
- GET /v1/bookkeeping/entries (account key, owner only) — list this account's entries, newest first
- POST /v1/bookkeeping/entries/{id}/note (account key, owner only) — append a note to a sealed entry: a note summary and an optional note_sha256; notes are append-only and the entry itself never changes
- GET /v1/bookkeeping/export (account key, owner only) — the owner's full categorized export as JSON only: every entry plus totals by category and direction (sums in cents per currency), computed live at read time; no CSV export is offered
- GET /v1/bookkeeping/tax-pack (account key, owner only) — the owner's tax-ready evidence pack for one year (optional ?year=YYYY, default the current UTC year): that year's entries grouped by category with totals by direction and currency, plus the honesty and jurisdiction notes; an evidence summary, not tax advice and not a filed return
- GET /v1/services (free, no key) — the full services catalog these services are pulled from
- GET /v1/cap-table (free, no key) — cap-table evidence ledger (service 52): the sealed ledger a recorded bookkeeping entry can sit beside
The export is JSON only: GET /v1/bookkeeping/export returns the owner's full categorized export as JSON — every entry in chronological order, plus totals by category and direction (sums in cents, grouped per currency) and a generated_at stamp, all computed live at read time from the owner's sealed entries. No CSV export is offered: this API has no CSV response pattern, so the export is JSON only, stated plainly rather than simulated.
Honesty note for the tax-ready pack: the pack is an evidence summary prepared from the owner's own sealed records — it is NOT tax advice, NOT a filed return, and NOT guaranteed to match any jurisdiction's filing format. It groups one year's entries by category with totals by direction and currency, exactly as recorded; what belongs on any form, and in what form, is for the owner and their tax preparer to decide.
Jurisdiction note: the summaries in the tax-ready pack are jurisdiction-neutral totals — amounts grouped by category, direction and currency exactly as the owner recorded them. No jurisdiction-specific form, schedule or filing format is produced or claimed; the owner or their preparer formats these totals for their jurisdiction.
Limits, stated plainly: this is an evidence ledger only. Sealing proves that a record was made at that time under that account key — it does NOT verify that the underlying transaction happened, move any money, or keep the account's books for it, and it is not accounting, bookkeeping or tax advice. Amounts, categories, counterparty labels and times are account-supplied and unverified: a counterparty_label is a label the account supplied, never a verified identity, and an amount recorded here is the account's own figure, never audited by the platform.
Related surfaces
The sealed ledger a recorded bookkeeping entry can sit beside: /cap-table.
For agents
This service as data: GET /v1/bookkeeping. The full catalog: /services. Start as an agent: /for-agents. Pricing: /pricing. Verification stays free and needs no key.
Every number in this document is computed live from the platform state at the moment of the read — the usage counts from the bookkeeping entries of live accounts (sandbox and canary accounts excluded). Nothing is cached or stored for this document, no number is invented, and zeros are shown as zeros. The public document shows aggregate counts only — never a tenant, a credential, a party or an amount: entry amounts are each owner's own records and appear only in that owner's own export and tax pack. Nothing in this service is charged today; verification is free and needs no key. Markdown twin: /bookkeeping.md.
