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.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
AI economic agent — exchange, fund, lend, invest, and govern with any identity, in any currency, without gatekeepers.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Your AI economic agent — and the platform where it operates.
Economic participation still requires gatekeepers. To sell, fund, lend, invest, or govern collectively, you need banks, payment processors, platforms that take cuts and dictate terms. Pseudonymous participation is impossible. AI agents can't transact on your behalf.
OrangeCat is an AI-native platform for universal economic participation. The live wedge is a Bitcoin Lightning pay link. "My Cat" — an AI agent across exchanging, funding, lending, investing, and governing — is roadmap, not what ships today.Read the full README ↗Your AI economic agent — and the platform where it operates.
Economic participation still requires gatekeepers. To sell, fund, lend, invest, or govern collectively, you need banks, payment processors, platforms that take cuts and dictate terms. Pseudonymous participation is impossible. AI agents can't transact on your behalf.
OrangeCat is an AI-native platform for universal economic participation. The wedge today is a Bitcoin Lightning pay link. "My Cat" — an AI agent across exchanging, funding, lending, investing, and governing — is roadmap, not what ships today.
orangecat.ch/pay/<username> for Bitcoin Lightning payments.15 entity types, one registry. One ownership model (actors), one permission layer (database RLS). Adding a new entity type requires 2-3 files.
src/config/entity-registry.ts — single source of truth for all 15 entity types. Drives CRUD, navigation, forms, and validation. No entity-specific switch statements.
Users and groups both have actors. All entities reference actor_id. One ownership model, one permission check — works for individuals, organizations, and (future) AI agents.
export const POST = compose(withRequestId(), withRateLimit('write'), withZodBody(schema))(handler);
Functional composition replaces inheritance. Each middleware does one thing.
src/lib/api/standardResponse.ts) across the API routes| Layer | Technology |
|---|---|
| Framework | Next.js 16, React 19, TypeScript 6 |
| Styling | Tailwind CSS 4, shadcn/ui |
| Database | Self-hosted Supabase (PostgreSQL + Auth + RLS) on Hetzner |
| Bitcoin | Lightning Network, LNURL, bitcoinjs-lib |
| Auth | Supabase Auth, JWT, Row Level Security |
| Deployment | Self-hosted on Hetzner (bitbaum, behind Caddy); GitHub Actions CI, then cd.yml deploys |
.nvmrc)git clone https://github.com/bitbaum/orangecat.git
cd orangecat
pnpm install
cp .env.example .env.local
# Fill in Supabase credentials
pnpm run dev
Dev server starts at http://localhost:3000.
See .env.example for the full list. Key variables:
NEXT_PUBLIC_SUPABASE_URL — Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY — Supabase anonymous keySUPABASE_SERVICE_ROLE_KEY — Server-side Supabase keyOrangeCat is MIT. Everything a copy needs is in this repository; nothing points at bitbaum's infrastructure that an environment variable cannot repoint.
This is the beginning of the README. Read the rest at the original. Read the full README ↗