Encrypted SQLite
Financial data at rest in an encrypted local file you control — not plaintext SQLite, not someone else's cloud.
Introduction
A product introduction: what money does, how the CLI fits in, and how JSON contracts work for external agents.
Hosted on YouTube · Open in new tab
Quick start paths
Step 1 · Try without credentials
Bundled sample data; safe to run anywhere. meta.demo: true on every envelope.
# Install via Homebrew
$ brew install --cask thedavidweng/tap/money
# Or via Go
$ go install github.com/thedavidweng/money/cmd/money@latest
# Try with sample data
$ money demo accounts list --json
$ money demo transactions search "coffee"Step 2 · Connect a provider
Bring your own Plaid / Bridge credentials. Stored in your encrypted local DB.
# Interactive setup
$ money setup
# Link an institution, then sync
$ money link
$ money sync
$ money accounts list --jsonAll commands accept --json. Write operations require --dry-run or --confirm.
Documentation
Many personal finance workflows depend on a single SaaS for truth, on products that bundle AI advisors, or on a full web app you must keep online. That conflicts with owning your data, choosing providers, and giving an external agent predictable, deterministic primitives.
money takes the opposite shape: a user-owned encrypted database, explicit sync to BYOK providers, and machine-readable envelopes. Your agent owns reasoning and memory — not the tool.
| Command | Description |
|---|---|
money demo accounts list --json | Try with sample data (no credentials) |
money setup | Initialize config and encrypted database |
money link | Link a financial institution |
money sync | Sync linked provider data |
money accounts list | List all accounts |
money transactions search | Search transactions |
money doctor | Diagnose environment |
Read commands never call the network. Outbound provider traffic only happens when you explicitly link or sync.
Providers map into canonical records — accounts, transactions, categories, tags, recurring items — and land in encrypted SQLite. Every command returns a versioned JSON envelope with deterministic sorting and pagination.
Read the full architecture document.