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.
Non-custodial. Nostr-native. 2-of-3 Shamir escrow. Community trust, rendered in cryptography.
Translation pending
FinanceTypeScript · JavaScriptGitHub @jesuspirateAvailability needs another checkOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Nostr-native P2P escrow client — Fedimint ecash, 2-of-3 Shamir, no server
Translation pending
Loading the full README. The saved excerpt is shown below.
Local money. Bitcoin rails.
Chama is a Nostr-native peer-to-peer commerce client for exchanging value with people and communities directly. It combines local payment methods with Bitcoin settlement without a central Chama account server, a custodial marketplace operator, or a proprietary social graph.Read the full README ↗Local money. Bitcoin rails.
Chama is a Nostr-native peer-to-peer commerce client for exchanging value with people and communities directly. It combines local payment methods with Bitcoin settlement without a central Chama account server, a custodial marketplace operator, or a proprietary social graph.
People can exchange sats and fiat, pay community bills, and buy or sell through community markets. Listings, chat, reputation, and trade state travel over Nostr. Fedimint ecash is held only while a trade is in escrow and leaves through the chosen payout route after settlement; opt-in on-chain Bitcoin escrow is also available.
Chama coordinates trades; it does not promise that a Nostr key recovers bearer ecash. Browser Fedimint wallets are device-local, and StartOS uses its own native wallet bridge and server volume. Preserve your Nostr secret key, but also move completed payouts and save any exported ecash notes independently.
Arbiters act only when the trading parties disagree or when an expired trade needs a protocol-defined healing vote. Community arbiter bonds are visible commitments, not custodial balances controlled by Chama.
See PHILOSOPHY.md for the product boundaries and chama-technical-overview.pdf for the protocol overview.
The overview's editable source is docs/technical-overview.md. After updating it, regenerate the PDF with python3 scripts/build-technical-overview.py (requires ReportLab) and inspect the rendered pages.
Savings circles shipped in v6.4 as fill-or-refund — everyone locks equal shares, and everyone's exact sats come back. That round proved the rails. The declared direction (2026-09-16) is the real chama: rotating collection. Every round the members pay in and ONE member collects the whole pot, rotating until everyone has collected once.
The complete engine — chained rounds, the race, the outcome law, the penalty system — is already in this repository, adversarially reviewed and covered by a full-cycle simulation, dark behind feature flags until the reader-capable releases reach the fleet. It arrives as v6.5.
Requires Node.js 22 or newer.
npm install
npm run dev
The default development server is printed by Vite. To choose a port explicitly:
npm run dev -- --port 3001
npm run typecheck
npm test
npm run build
npm run predeploy runs the repository hygiene check, typecheck, and full test suite together.
| Path | Purpose |
|---|---|
src/ | React UI, Nostr escrow protocol, wallet orchestration, and tests |
native/fedimint-bridge/ | Native Rust Fedimint bridge used by packaged clients |
src-tauri/ | Desktop shell and release configuration |
android/ | Capacitor Android application |
landing/ | Public website assets |
docs/ | Operational and protocol notes |
scripts/ | Release, deployment, audit, and build utilities |
This repository is the authoritative Chama application. It publishes signed vX.Y.Z tags for the web, desktop, Android, Zapstore, and downstream packagers.
StartOS packaging lives exclusively in Start9-Community/chama-startos. That repository pins this application as the chama/ git submodule at a released vX.Y.Z tag and owns the .s9pk, StartOS metadata, migrations, and vX.Y.Z_<revision> package tags.
Do not update
Start9-Community/chama. It is a retired application fork and is not a release or packaging source. Its ahead/behind status is irrelevant. Application fixes land here; StartOS updates move the submodule pin inchama-startos.
Application releases are cut from a clean, synchronized main:
npm run ship -- --patch
# or, for a backward-compatible feature/foundational release:
npm run ship -- --minor
For the complete release lane or a one-destination refresh—web, landing page, GitHub assets, GitHub Release page, Zapstore, or Zapstore listing metadata—see Releasing Chama. The remembered entry point is npm run ship; add --only <target> to guarantee unrelated channels are not touched.
Chama handles real signing keys, bearer ecash, Lightning invoices, and Bitcoin transactions. Treat changes to wallet storage, federation routing, encryption, escrow voting, payout recovery, and release automation as money-path changes: fail closed, preserve existing wallet files, and verify them with regression tests.
Security-sensitive dependencies are pinned or overridden in package.json; npm run audit:deps documents the repository's dependency policy.