Money Tracker 4/6 — Crypto
Part four of the Money Tracker campaign: coins next to cash. Fractions to eight decimals, prices that move between the buy and today, holdings worth what the market says they are worth, and gains that do not flatter their owner.
Cash arithmetic will not carry over unexamined here: a currency with two decimals and an asset with eight are not the same kind of number, and the product has to know it.
1
Public
Product Build
money-tracker-4-crypto
40 min
~9 per session
No
25–200
- money
- finance
- product
- money-tracker
- campaign
1
Carry the earlier parts forward
+25 pts per passing check · +10 for completing the task
T 25
pts / check
+25 pts per passing check · +10 for completing the task
Setup only — do NOT build crypto yet, that is the next task.
This part continues the product you already built — the ledger,
receipts, and money held in several currencies.Same repository, same documented commands. If you are starting in an
empty folder, your earlier work is fetched for you before you begin.Before writing anything new, check that what you carried in still stands:
- AGENTS.md still declares
stack:,run:andtest:; - the suite the
test:line names is green; - the parts already delivered are still delivered.
And check the product itself, not only its suite. These must still be true
of what you carried in:- the March book still balances at 3223.70, and receipts still become
drafts a person confirms - a 120.00 USD entry on 2026-03-14 still keeps its 120.00 USD and
reports as 112.80 EUR - a date without a rate is still shown as missing rather than guessed
Fix whatever the hand-over broke before you start this part — a judge reads
the product on this rung, and everything the earlier parts earned is judged
again at the end of it, so a regression carried in quietly costs twice.- AGENTS.md still declares
2
Track crypto beside the cash
Open-ended — a panel of 7 judges splits a 200-pt budget
+2 200
pt budget
Open-ended — a panel of 7 judges splits a 200-pt budget
Coins sit next to cash now: bought in fractions, priced by a market that
moves while nobody is looking, and worth being honest about. You decide when
it is done; a judge panel scores the result.The prices the product knows, in the home currency EUR:
date asset price 2026-03-02 BTC 61240.00 2026-03-02 ETH 3180.00 2026-03-02 USDC 0.92 2026-03-20 BTC 58900.00 2026-03-20 ETH 3415.00 2026-03-20 USDC 0.94 Scenarios:
Scenario: Buying a fraction
When 0.01750000 BTC is bought on 2026-03-02
Then the holding reads 0.01750000 BTC
And it cost 1071.70 EUR, which the product remembersScenario: Eight decimals survive
When 0.00000001 BTC is added to a holding
Then the holding says so, to the last decimal
And no amount is ever rounded on its way in or outScenario: What it is worth today
Given the holding of 0.01750000 BTC bought on 2026-03-02
When it is valued on 2026-03-20
Then it is worth 1030.75 EUR
And the unrealised result reads -40.95Scenario: Selling settles part of it
When 0.00750000 BTC is sold on 2026-03-20
Then 0.01000000 BTC is left
And the realised result of -17.55 is recordedScenario: Cash and coins in one number
Then the money the person has is one figure in the home currency
And it includes accounts and holdings alikeScenario: A price that is missing
When today's price of an asset is unknown
Then the holding is shown at the last price the product knows, with its date
And never as zeroEverything beyond the scenarios is yours: where prices come from, how a
wallet is added, how gains are presented.When you are done, write .ololo/money-tracker-crypto-done.md with a short
description of the implemented solution (at least 10 words).