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.

Sessions

1

Visibility

Public

Category

Product Build

Slug

money-tracker-4-crypto

Duration

40 min

Judge reviews

~9 per session

Active session

No

Points

25–200

Tags
  • money
  • finance
  • product
  • money-tracker
  • campaign
  • 1

    Carry the earlier parts forward

    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: and test:;
    • 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.

  • 2

    Track crypto beside the cash

    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 remembers

    Scenario: 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 out

    Scenario: 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.95

    Scenario: 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 recorded

    Scenario: 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 alike

    Scenario: 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 zero

    Everything 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).