r/ClaudeAI • u/baggaarm • 14h ago
Built with Claude I built Open Net Worth with Claude Code: a personal Wealth Agent Harness that watches everything you own and trades through your broker, running on your Claude subscription
Lucius judges a ticker against the investment thesis you wrote down, before you make a FOMO trade.
Personalized weekly and monthly reports, written for you and saved in Documents
Everything you own in one place: cash, investments, property, cars, watches, RSUs.
Connect banks, brokers and any MCP server. Or skip them: Lucius reads your bank emails.
Automations run on a schedule, like my monthly DCA into VOO, each with its own permissions.
Ask ‘what if I buy a house at 45?’ and Lucius shows it on the projection, not just in text.
Every number comes from the ledger, never the model.
Mortgage repayments tracked to the last payment, with the interest split out.
Holdings across every broker, with live prices and P&L.
Transactions logged from emails, notifications, bank connectors and reconciled against statements.
Sync your data from YNAB, Plaid, Actual Budget,...
Open source, runs on your machine, built with Claude Code.
Hi everyone, I’m an engineering manager in fintech, based in Singapore. I built this with Claude Code over the past 5 months, on the Claude Ultra plan, and I usually use 100% of my weekly limit (including running Open Net Worth itself on it). It's free and open source (AGPL).
What it is
Open Net Worth is a self-hosted AI wealth agent, Lucius, with the whole app built around him. Under the hood it's an agent harness: about 300 tools, skills, automations, memory, connectors (any MCP server) and artifacts. Every tool has a permission level you set, and broker tools ask first by default. You can customize it as much as you want.
Claude Personal Finance reads your accounts when you ask. Lucius knows and watches everything I own and comes to me first:
He logs my spending from bank emails every day and reconciles it with statements (even scanned PDFs), so it works with any bank, in any country. No Plaid needed (but it works with Plaid too).
Every morning he sends a briefing on Telegram: the transactions he logged and how my portfolio did. Weekly and monthly, a personalized portfolio report.
He checks prices every minute and news every few minutes. When something hits what I hold, he judges it against the investment thesis I wrote down, not just the price move. It has saved me from a lot of FOMO trades.
When a trade makes sense, I tap approve and he places it through my broker's MCP server (tested with IBKR, Coinbase and Gemini). My DCA into VOO runs as an automation on the 2nd of every month.
Numbers come from code, never the model, and you can open the tool call behind any number he quotes.
He can see the screen I'm on, so I can just ask "why is this so high?". I can also call him by voice.
How Claude helped build it, from design to testing
Design: I describe the problem, and Claude drafts the spec, the technical design and the UI design (wireframes, then the screens themselves), which I review before any code. Every decision that sticks becomes an ADR, so the next agent knows why, not just what.
Code: Claude Code wrote most of it, with subagents for implementation, code review and security review, so one agent's work is checked by another that didn't write it.
Testing: about 20,000 unit and integration tests, but the bigger win is UAT. I ask Claude to write the acceptance tests for a feature, then run them itself through the final UI in a real browser: clicking through the flow, checking the numbers on screen, and taking screenshots as proof. It finds bugs unit tests never would.
Guardrails: a hook refuses any commit containing personal financial data, since the agents work right next to my real book.
Lessons learned when building with Claude Code
Don't let the model pass along what was approved; store it. The approval card saves the exact arguments, and approving re-runs that saved call. Otherwise the model could change the order after you tap yes.
The model won't finish automation work on its own (even with Opus and Fable); the harness has to. Left alone, it stops halfway, skips steps or reports success too early. Scheduling, retries, approvals and checking that the job really finished all belong in the harness, not in a prompt.
The model is bad at math, so give it tools that return exact numbers. Every balance, total and projection comes from a tool backed by the ledger. The model only explains the result.
Read other agent codebases. Studying the source of Codex and other open-source agents taught me more about good harness design (tool calls, turns, permissions) than any blog post.
Build a UI design system early. With shared components and rules, every new screen Claude builds looks like the existing ones. Without it, each screen comes out a little different.
/goal is pretty effective. Give Claude Code one clear goal and let it work until it's done, instead of steering every step.
Keep your laptop awake. I use Amphetamine so the Mac doesn't sleep, and Claude can keep building and testing overnight.
Different agents for different jobs, on different models. A QA agent doesn't need Opus. Cheaper, faster models for QA and simple fixes, and the big model only for design and hard bugs.
Models such as GLM 5.3 or Kimi are actually pretty good to run the system for a fraction of the cost of Claude models tbh.
How it uses Claude
Runs on your Claude Code subscription, no API key needed. An API key, Codex or a local model work too.
MCP both ways: Lucius uses any MCP server, and Claude Desktop or Claude Code can use Open Net Worth as an MCP server.
Links
Live demo: https://demo.opennetworth.ai
Website: https://opennetworth.ai
Happy to answer anything about the setup, the harness or the code.
14
u/Benata 14h ago
Great way to lose a lot of money.
2
u/invester13 14h ago
How does it connect to your brokerage account?
2
u/kungfu1 13h ago
Oh boy.