Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
AI agents spend. You sign off. Metal holds each agent's on-chain budget, Airwallex holds each card's limit, Purser's code holds the rest; the CFO approves anything beyond them.
翻訳待ち
金融TypeScript · HTMLGitHub @agamemnon-coderオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
AI agents spend company money through Airwallex, Metal, and Visa only within limits the CFO signs with Face ID.
翻訳待ち
Loading the full README.
Read the full README ↗Purser is the control layer between a company's AI agents and its money: an agent pays on its own within the limits the CFO set, and anything above them waits for the CFO's Face ID or passkey on the exact terms.
An approval is usually a button. In Purser it's a signature over the exact terms: change one cent and it's worthless.
Live demo: kit11.max-31b.workers.dev/try: a test company of your own on test money, in 2 minutes · the walkthrough, 4:58 (AI voice and music: ElevenLabs) · every id on /proof
npm run verify-approval (record).npm run verify-anchor prints MATCH (record).Test money only: Metal testnet, Airwallex sandbox, Visa via Airwallex Airi (sandbox), Claude. Check it yourself, offline, no keys: npm ci · npm run judge -- --check · npm run verify-approval (what each does)
What a finance team gets beyond the demo; test money today, each with where to check it.
io.github.agamemnon-coder/purser (Connect any AI).npm run test-count (summary, the line below); CI runs it on every push.Airwallex's AgentOS says its "components do not initiate money-out actions (transfers, FX conversions, or payouts) on your behalf" (docs, read 13 November 2026). Purser is the control layer for when agents do move money on Airwallex: within limits the CFO signs, and above them only with the CFO's passkey on the exact terms.
flowchart LR
A["Claude agent<br/>proposes a payment"] --> P["CFO policy<br/>Purser's code"]
P -- "within the limit" --> R["Airwallex · Metal · Visa via Airi<br/>each with its own limit"]
P -- "above it" --> F["CFO's passkey<br/>Face ID on iPhone<br/>signs the exact terms"]
F --> R
R --> B["Books<br/>posted to T:0 and Moneybird (sandboxes)"]
B --> L["Hash-chained audit log"] --> N["Its head anchored on Metal testnet<br/>npm run verify-anchor"]
What it is: the control layer between a company's AI agents and its money on Airwallex and Metal, built for
Starter Kit 11 (x402 Business Agents) and entered for the Metal Award and the Visa Award.
The Kit 11 scenario, run live on 3 November.
1. Try it: a test company of your own; approve the exact terms with your
passkey, then change them: refused.
2. Proof: one id per rail in docs/in-depth.md, every run in docs/runs/.
Offline: the quick start, under 2 minutes, no keys.
Simulated: the customer, the supplier, the merchants' charges, the settlement and the second approver; test money only.
Each row from its run record; test money throughout. Every run, newest first: docs/runs/.
This is the beginning of the README. Read the rest at the original. Read the full README ↗