{
  "_readme": [
    "The money. WEBSITE_SPEC_v2.md section 5.",
    "This file holds CONFIGURATION and ESTIMATES only. Live balances and transactions are never",
    "written here by hand — they are fetched from feed.url at page load. If the feed is unreachable,",
    "the page says 'Ledger unavailable' and shows nothing. It never shows a stale or invented number.",
    "Account and routing numbers must never appear in this file. It is public."
  ],
  "currency": "USD",
  "feed": {
    "adapter": "none",
    "url": null,
    "asOf": null,
    "note": "No public ledger is connected yet. The dedicated NYN business bank account and its public mirror do not exist at build time, so there is no balance to show and none is shown.",
    "adapters": {
      "none": "No feed. The page renders the not-connected state. This is the honest default.",
      "csv": "Set url to a published CSV with the header: date,amount,purpose,direction. direction is 'in' or 'out'. A Google Sheet published to the web as CSV works. The running balance is computed in the browser from the rows, so the arithmetic is reproducible by anyone who downloads the same CSV.",
      "json": "Set url to a JSON endpoint returning { asOf, transactions: [ { date, amount, purpose, direction } ] }."
    },
    "openCollective": "Open Collective is named in the spec as a candidate ledger host. No adapter is shipped for it: its API shape was not verified at build time, and an unverified endpoint would be a claim we cannot support. Confirm the current API in Open Collective's own documentation before adding one.",
    "connectionState": "not-connected"
  },
  "pool": {
    "target": {
      "value": null,
      "status": "estimated",
      "note": "The pool climbs toward a land price. No land price is known, because no site has been scouted and no offer has been made. The meter shows the climb, not a failed bid.",
      "openDecision": "WEBSITE_SPEC_v2.md section 10 item 1 and item 7"
    },
    "offerThreshold": {
      "value": null,
      "status": "estimated",
      "note": "Offers to buy specific land at specific prices become public only above this threshold. Until Chad sets it, the offers panel stays hidden — hidden by absence of a decision, not by a number we chose for him.",
      "openDecision": "WEBSITE_SPEC_v2.md section 10 item 7"
    },
    "chadContribution": {
      "value": null,
      "status": "estimated",
      "horizon": "3-4 years",
      "note": "Chad expects to be able to put more than $1M into the pool within three to four years. That is an expectation stated by one person about his own future finances. It is not a commitment, not an audited figure, and not money that exists today."
    }
  },
  "membership": {
    "basePrice": {
      "value": 3,
      "status": "verified",
      "note": "The current price. $3 per month."
    },
    "landPathPrice": {
      "value": 20,
      "status": "estimated",
      "note": "The price basic membership would step up to if land is bought. A future state, not a current charge. Nobody is billed $20 today."
    },
    "sliderMax": {
      "value": 500,
      "status": "estimated",
      "note": "Placeholder ceiling on the pay-more slider.",
      "openDecision": "WEBSITE_SPEC_v2.md section 10 item 2"
    }
  },
  "compensation": {
    "value": null,
    "period": null,
    "status": "missing",
    "note": "Team compensation is published as a single aggregate figure per quarter. No individual names, no individual amounts, ever. Nothing has been paid yet, so there is no figure to publish."
  },
  "capitalEfficiency": {
    "missionPct": null,
    "overheadPct": null,
    "status": "missing",
    "note": "Share of funds spent on mission versus overhead. Cannot be computed until money has moved. A donut with no data renders as an empty ring, not as 100%."
  },
  "landCostEstimates": {
    "status": "estimated",
    "note": "Placeholder rows. No site has been scouted, priced or valued. Every cell below is empty on purpose: the table shows what will be tracked, not what is known.",
    "columns": [
      "Site",
      "Region",
      "Hectares",
      "Estimated price",
      "Basis"
    ],
    "rows": [
      {
        "site": null,
        "region": null,
        "hectares": null,
        "price": null,
        "basis": null
      },
      {
        "site": null,
        "region": null,
        "hectares": null,
        "price": null,
        "basis": null
      },
      {
        "site": null,
        "region": null,
        "hectares": null,
        "price": null,
        "basis": null
      }
    ]
  },
  "trace": {
    "enabled": false,
    "status": "estimated",
    "note": "An optional per-member trace from payment to bank account, possibly on-chain.",
    "openDecision": "WEBSITE_SPEC_v2.md section 10 item 8"
  },
  "demo": {
    "enabled": false,
    "_switch": "Set enabled to false and this vanishes: the site returns to its honest empty state. Nothing else needs changing.",
    "_warning": "EVERY FIGURE IN THIS BLOCK IS INVENTED FOR LAYOUT PURPOSES. It is not NYN's money. It exists so the meter, the ledger table, the donut and the tracker can be seen working before a real ledger is connected. While demo.enabled is true the page states this on screen, and every figure derived from it is tagged SAMPLE in the page and in the audit panel.",
    "asOf": "2026-09-21",
    "target": 250000,
    "offerThreshold": 120000,
    "compensation": {
      "value": 0,
      "period": "Q3 2026"
    },
    "capitalEfficiency": {
      "missionPct": 88,
      "overheadPct": 12
    },
    "transactions": [
      {
        "date": "2026-06-02",
        "purpose": "Founder contribution",
        "amount": 5000,
        "direction": "in"
      },
      {
        "date": "2026-06-14",
        "purpose": "Memberships — 212 at $3",
        "amount": 636,
        "direction": "in"
      },
      {
        "date": "2026-06-30",
        "purpose": "Bank account setup",
        "amount": 120,
        "direction": "out"
      },
      {
        "date": "2026-07-14",
        "purpose": "Memberships — 498 at $3",
        "amount": 1494,
        "direction": "in"
      },
      {
        "date": "2026-07-22",
        "purpose": "Legal — entity formation",
        "amount": 1850,
        "direction": "out"
      },
      {
        "date": "2026-08-01",
        "purpose": "Founder contribution",
        "amount": 25000,
        "direction": "in"
      },
      {
        "date": "2026-08-14",
        "purpose": "Memberships — 913 at $3",
        "amount": 2739,
        "direction": "in"
      },
      {
        "date": "2026-08-27",
        "purpose": "Site survey — desk research",
        "amount": 2400,
        "direction": "out"
      },
      {
        "date": "2026-09-14",
        "purpose": "Memberships — 1,406 at $3",
        "amount": 4218,
        "direction": "in"
      },
      {
        "date": "2026-09-18",
        "purpose": "Hosting and domain",
        "amount": 96,
        "direction": "out"
      }
    ]
  }
}
