Skip to content
Open source · MIT licensed · Built with educators

Understand the Machine Behind Money.

The open-source, gamified platform teaching macroeconomics, central banking, and credit creation — one balance sheet entry at a time.

Balance sheet tiers
4Balance sheet tiers
Lessons drafted
30Lessons drafted
Free, forever
100%Free, forever

Central bank balance sheet

Tightening: holding steady

QE off

Assets

What it owns
  • Government bonds$2,100B
  • Loans to banks$480B
  • FX & gold$320B
Total$2,900B

Liabilities

What it owes
  • Bank reserves$1,650B
  • Currency in circulation$980B
  • Capital & other$270B
Total$2,900B

Both sides move together. The reserves the bank pays with are created on the spot — the sheet always balances.

Playable teaser

Don’t read about QE. Post the entries.

This is a real lesson step: place each entry on the right sheet and the right side, then find out what actually moved. No sign-up, no download.

🏛️

Quantitative Easing, Posted by Hand

Module 3 · The Fed & ECB Levers · Challenge 2 of 5

+25 XP

The Fed executes $10B of QE, buying Treasuries from a primary dealer.

The dealer banks with a commercial bank, so the Fed's payment settles there. Four entries are needed — three of the seven do not belong.

Entries to post

0 of 7 placed

Pick an entry, then choose whose sheet it lands on and which side. Every sheet must balance.

Federal Reserve

Issuer of the monetary base

Assets

What it owns

  • US Treasuries$5.2T

    Liabilities

    What it owes

    • Commercial bank reserves$3.1T
    • Banknotes in circulation$2.1T

      Dealer's Commercial Bank

      Holds the dealer's deposit

      Assets

      What it owns

      • Reserve deposits at the Fed$80B

        Liabilities

        What it owes

        • Customer deposits$640B

          Simplified in one respect: the dealer’s own sheet is left off screen to keep two T-accounts on a phone. In the app the dealer appears as a third entity, and the same operation is replayed with randomised counterparties and amounts so the answer cannot be memorised.

          The model

          Four balance sheets, one machine.

          Money is somebody's liability at every level. OpenMacro teaches the whole hierarchy, not a cartoon of the top of it.

          Tier 1 · The Fed & the ECB

          The Central Bank

          The only balance sheet that settles everything else. Its liabilities are the base of the system.

          Assets

          What it owns
          • Sovereign bonds
          • Private securities (APP/PEPP)
          • Gold & FX reserves
          • Discount loans

          Liabilities

          What it owes
          • Banknotes in circulation
          • Commercial bank reserves (M0)
          • Reverse repos
          • Government cash (TGA)

          What you learn to operate

          • IORB
          • ON RRP
          • ECB Deposit Facility Rate
          • MRO
          • QE / QT

          Features & philosophy

          Personal finance teaches you to budget. We teach you the machine.

          Three convictions shape every lesson we ship.

          Not Another Budgeting App

          Knowing to skip the daily coffee will not tell you why rent outran your raise. And “money basics” courses stop exactly where it gets interesting — at the point where you would have to open a central bank’s balance sheet.

          Budgeting apps ask

          • Where did my money go?
          • Can I afford this?
          • How much should I save?

          OpenMacro asks

          • Whose liability is this money?
          • What settles when a payment clears?
          • Which line on the Fed’s sheet just moved?

          100% Open Source

          Lessons are plain JSON — no React, no build step. An economist can write a T-account scenario in a text editor and open a pull request from the GitHub web UI.

          1. 1Fork the repo
          2. 2Drop a lesson file into src/content/lessons
          3. 3CI checks every sheet actually balances
          4. 4A maintainer reviews the economics

          Parent & Educator Led

          Built with the people who will actually sit next to the learner. Classroom and kitchen-table tools are first-class features, not an enterprise upsell.

          Custom tracks

          Reorder modules, hide what you have not covered yet, and pin a lesson as this week's homework.

          Sponsored prize pools

          Fund a bounty for your class or your kid — books, hardware, or privileges. You set the goal and award it directly.

          Non-custodial ledger

          The reward ledger lives on the learner’s device. No wallet, no real money, nothing to cash out.

          Syllabus

          Four tracks, from tax liabilities to swap lines.

          Each track builds the mechanism the next one depends on, and every one of them ends in a balance sheet you post yourself.

          In testing9 lessonsOperates on Tier 1 & Tier 3

          The Fed & ECB Levers

          Post every major policy operation yourself — QE, the floor, the corridor, the window.

          • IORB & the SOFR corridor
          • ON RRP floor
          • Discount window
          • DFR, MRO & TLTROs
          • Yield curve control

          The incentive loop

          The knowledge is free. The retention is the product.

          Every central bank publishes its balance sheet. Almost nobody reads one twice. Rewards exist to fix that, and they are earned by demonstrating the mechanism — never by showing up.

          Proof of Competency

          Adaptive micro-tests and T-account scenarios with randomised parameters. The same operation comes back with different counterparties and amounts, so memorising an answer key gets you nowhere.

          MacroXP & MintBucks

          Points earned only through verified mastery, daily analysis streaks and module completions. Non-inflationary by design: there is no way to buy them, farm them, or trade them.

          Tiered Credentials

          Cryptographic attestations for a demonstrated skill — “Open-Market Operations Specialist”, “Balance Sheet Mechanic: ECB Architecture”. Verifiable by anyone, issued only against a passed assessment.

          Prize Pools & Bounties

          Sponsored by parents, educators and the community: books (Mehrling, Bagehot, Stigum), hardware, or family-set privileges. Sponsors fund and award them directly — never the platform.

          What points are not

          MacroXP and MintBucks are a learning score. They are not currency, not a token you can buy or sell, and there is no exchange, wallet or cash-out path anywhere in the product. Prize pools are funded and awarded by the sponsor who created them — a parent, a school, a community — and OpenMacro never takes custody of the money. Nothing here is a wager, and nothing costs a learner anything to enter.

          Contributor hub

          A lesson is a JSON file. That is the whole barrier.

          Economists, teachers and developers all contribute the same way: one file, one pull request. Encode a central bank operation as postings, and the app plays it.

          src/content/lessons/module-03-fed-ecb-levers/lesson-02-rrp-floor-mechanics.json
          {  "id": "rrp-floor-mechanics",  "title": "The Floor Under Every Overnight Rate",  "subtitle": "Watch the ON RRP facility drain reserves and set the price of cash.",  "icon": "🪜",  "difficulty": "advanced",  "challenges": [    {      "id": "rrp-flow-step",      "type": "t_account_flow",      "prompt": "A money market fund parks $500M at the Fed's ON RRP window overnight.",      "explanation": "Total Fed liabilities are unchanged: $500M moved from the reserves line to the reverse repo line. But reserves are base money and reverse repos are not.",      "currency": "USD",      "entities": [        { "id": "fed", "label": "Federal Reserve", "tier": "central_bank",          "openingLines": [            { "account": "Commercial bank reserves", "side": "liability", "amount": 3100000000000 },            { "account": "Reverse repurchase agreements", "side": "liability", "amount": 420000000000 }          ] },        { "id": "mmf", "label": "Money Market Fund", "tier": "shadow_bank",          "role": "Cannot hold reserves" }      ],      "expectedShifts": [        { "entityId": "fed", "side": "liability",          "account": "Reverse repurchase agreements", "delta": 500000000 },        { "entityId": "fed", "side": "liability",          "account": "Commercial bank reserves", "delta": -500000000 },        { "entityId": "mmf", "side": "asset",          "account": "Reverse repo claims", "delta": 500000000 },        { "entityId": "mmf", "side": "asset",          "account": "Bank deposits", "delta": -500000000 }      ],      "aggregateEffects": [        { "aggregate": "M0", "direction": "contract",          "note": "Reserves fell by $500M. Reverse repos are a Fed liability too, but they are not base money." }      ],      "xp": 30    }  ]}

          Validated in CI against src/content/schema.ts by npm run lint:content, which rejects any scenario whose expected postings leave a balance sheet unbalanced — the mistake every first-time contributor makes.

          openmacro/openmacro

          Live from GitHub
          GitHub stars
          105
          Open PRs
          0
          Contributors
          2
          Forks
          14

          Start here

          Good first issues are labelled good-first-lesson. Bring the economics; we will help with the tooling. Reviews are about the mechanism, not the syntax.