One page per kid
Every jar, its locks and interest, what's waiting on you, the ledger with one-click reversals, goals, allowance and investing, side by side.
Goldberry is an allowance tracker for families. Parents add money with a note, kids sign in with a PIN to see what they can spend, and asking for money is a request a parent approves.
A ledger you can trust, a kid-sized interface on top, and the things that teach: saving up, giving, waiting, and watching money grow.
Every deposit splits across jars, 70/20/10 by default. Rename, add or archive jars and change the split per kid.
Kids ask for money from what's available. It's held until a parent approves (optionally less, with a note) or denies.
A parent's lock is hard. A kid can lock their own jar and break it only through a server-enforced gauntlet.
Weekly, fortnightly or monthly on the household's calendar. Catches up after downtime and never pays twice.
"Nintendo Switch, $300" fills from Save in priority order. Reaching one tells everyone and offers "Ask to buy it".
A monthly rate on the average daily balance, with an optional cap and a "leave it for 12 months" projection.
Kids buy slices of real US stocks and funds from an Invest jar. Losses come off by themselves; profits wait for a parent to pay.
A JSON API for scripts and Home Assistant, plus an opt-in MCP server so assistants like Claude can check balances.
Append-only, in integer cents. Undo is a visible reversal, never an edit. Kids see the comment; parents can keep a private note.
Taken from the demo household, the Riverbanks: three months of chores, birthdays and saving up, with Ava and Leo.
Every jar, its locks and interest, what's waiting on you, the ledger with one-click reversals, goals, allowance and investing, side by side.

"Saving for a Switch" was past-you's idea. Breaking a self-lock means a loud warning, the goal it would empty, a 10-second countdown and a 3-second press-and-hold. The server enforces every step, so it can't be skipped.


A kid's balance over a week, a month, three months or any two dates, as the total or every jar. Each dot is a change that leads to what happened. Drawn as SVG on the server, so it works without JavaScript.

An Invest jar fills from the split. Kids buy slices of real US stocks and funds at live prices (from a free Finnhub key); orders after hours wait for the open. Every investing word has a kid-friendly "?" tip.


Parents mint scoped tokens on their account page: read for a dashboard, write for jars and goals, money to post entries. The JSON API at /api/v1 has atomic batches, dry runs, idempotency keys and backdated entries (to pre-load balances tracked elsewhere); the opt-in MCP server at /mcp lets AI tools use the same rules.
JSON API ยท MCP server ยท Tokens

Big targets and a hyperlegible typeface for small hands, a full desktop layout for parents, and a dark theme that follows the device. Installable as an app (PWA), and every page works without JavaScript.


One container and one volume. Put it behind your TLS reverse proxy (Caddy, Traefik, a Gateway) and you're done.
mkdir goldberry && cd goldberry
curl -fsSLO https://raw.githubusercontent.com/chinny-labs/goldberry/main/deploy/compose/compose.yaml
openssl rand -base64 32 > goldberry_key.txt
docker compose up -d
docker compose logs goldberry | grep -i "setup token"
Open https://<host>/setup, paste the setup token and create the first parent. Then add your kids.
helm install goldberry oci://ghcr.io/chinny-labs/charts/goldberry \
--namespace goldberry --create-namespace
kubectl logs -n goldberry deploy/goldberry | grep -i "setup token"
Signed multi-arch images (amd64, arm64) with SBOM and provenance. Nightly SQLite snapshots, a portable export between SQLite and Postgres, /healthz, /readyz and /metrics.
Running it, connecting tools to it, and why it's built the way it is.