curl -fsSL https://raw.githubusercontent.com/thedavidweng/money/main/install.sh | shThe installer detects Homebrew automatically and uses the cask when available. Otherwise it downloads the release binary to ~/.local/bin.
powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/thedavidweng/money/main/install.ps1 | iex"The latest release must include a Windows archive for this installer to complete. If it does not, the script fails explicitly and points you to go install.
brew install --cask thedavidweng/tap/moneyIf you installed the old Homebrew formula, migrate to the cask:
brew update
brew uninstall --formula thedavidweng/tap/money
brew install --cask thedavidweng/tap/money
money versionThis does not remove your local ~/.money configuration, secrets, or encrypted database.
Requires Go 1.26 or later:
go install github.com/thedavidweng/money/cmd/money@latestMake sure $GOPATH/bin (usually $HOME/go/bin) is in your PATH.
Download the latest release for your platform from GitHub Releases, extract the archive, and move the money binary to a directory in your PATH.
Run the guided setup. It creates your local config directory, generates an encryption key, and initializes an encrypted SQLite database:
money setupAfter setup, if no financial provider is configured yet, money walks you through an interactive wizard:
- Choose a provider — select Plaid, Bridge, or skip for now.
- Configure credentials — for Plaid, sign in to the Plaid Dashboard and fetch API keys automatically, or paste
client_idandsecretmanually. - Store credentials locally — API keys are written to
.env; config keeps explicitenv:references. - Repeat or finish — configure additional providers, or skip and come back later with
money providers configure <provider>.
Example interactive flow:
$ money setup
Config: /Users/you/.money/config.yaml
Secrets: /Users/you/.money/.env
Database: /Users/you/.money/data/money.db
Encryption key: created
Database: ready
No providers are configured yet. To link financial institutions, you need at least one provider.
How do you want to configure Plaid?
> Sign in with Plaid Dashboard and fetch API keys automatically
Paste client ID and secret manually
Skip Plaid for now
plaid configured (2 credentials written).
✓ [Config] Config loaded from /Users/you/.money/config.yaml
✓ [Providers] plaid credentials present.
Plaid Dashboard login is best-effort because it follows Plaid CLI-compatible Dashboard behavior. Manual configuration remains the durable path:
money providers configure plaid --client-id <client-id> --secret <secret> --environment sandboxUse demo mode to explore the CLI with bundled sample data:
money demo accounts list --json
money demo transactions list --json
money demo transactions search "coffee" --jsonDemo mode is non-persistent and does not require provider credentials.
Once a provider is configured, link your bank:
money linkThis starts an institution-first flow: search for your bank, choose the provider that supports it, and authenticate.
Then sync data into your local encrypted database:
money syncFor local Plaid Sandbox testing without the browser Link flow, use:
money plaid sandbox link --products transactions --institution-id ins_56After syncing, query your local data:
money accounts list --json
money transactions list --json
money transactions search "Costco" --json
# Investments and liabilities (synced via Plaid investments/liabilities products)
money investments holdings --json
money investments securities --json
money liabilities list --json
# Manage provider items
money items list
money items rename <id> "My Chase Savings"money itself is free and open source under the Apache 2.0 license. You bring your own provider credentials (BYOK). Provider costs depend on the provider you choose.
Plaid offers a free Trial plan for new teams. See Plaid billing documentation for full details.
Free Trial plans are available to new Plaid teams (US/Canada only) created on or after April 15, 2026. You can create 10 connection Items on a Trial plan:
- One bank login = 1 connection (even if it contains multiple accounts).
- Same user at two different banks = 2 connections.
- The 10 limit is on connections, not on API calls.
- You can make unlimited API calls against those up-to-10 Items.
After the Trial plan, you may upgrade to a paid Plaid plan if your usage exceeds the free tier.
Bridge pricing is separate and set by Bridge. Check Bridge API pricing for current plans.
- Read
docs/ARCHITECTURE.mdto understand how data flows. - Read
docs/CONFIG.mdfor advanced configuration options. - Run
money doctorto check configuration health at any time.