Fields in places.csv
| Field | Type | Meaning |
|---|---|---|
| id | string | Permanent record identifier, lower-case, never reassigned. |
| name | string | The place or programme’s current public name. |
| scope | string | The geography the operator claims, in their terms. Not a merchant-coverage claim. |
| locality | string | The town, district, island or country the record is mapped to. |
| country_iso2 | string | ISO 3166-1 alpha-2 country code; empty for multi-country programmes. |
| country | string | Country name. |
| region | string | Atlas region. |
| kind | string | circular-economy · island-initiative · city-programme · district · programme-network. |
| status | string | active · quiet · ceased · unverified — the rules are on this page. |
| last_dated_activity | string | The most recent dated activity found (YYYY, YYYY-MM or YYYY-MM-DD); empty when none was found. |
| grade_basis | string | One sentence on why the record has its status. |
| summary | string | What the place does and for whom, paraphrased from the operator. |
| operator | string | The organisation that runs it. No personal contact data. |
| funding | string | How it is funded, as far as the operator discloses. |
| adoption | string | Adoption figures exactly as the operator reports them; never audited by us. |
| evidence_limit | string | What those figures do not show. |
| evidence_grade | string | How sure we are that we read the source correctly, with its limits — not a rating of whether the claim is true. The full note; grade and grade_note split it. |
| grade | string | high · medium · low — the leading word of evidence_grade: the grade of the status claim’s source reading. Grades the evidence, never the place. |
| grade_note | string | The rest of evidence_grade: what the grade covers and its limits; empty when the note is the grade alone. |
| fact_as_of | string | The date the source gives for its facts, or “unknown” when the source is undated. Never inferred from the access date. |
| evidence_url | string | The operator’s or programme’s own page the record rests on. |
| source_locator | string | Where on that page the facts sit (heading or label). |
| accessed_date | date | The day we last checked the source. |
| activity_url | string | A second first-party page, when the dated activity sits elsewhere. |
| wikidata_qid | string | Wikidata item for the locality (CC0). |
| lat | number | Latitude of the locality, from Wikidata P625 (CC0). Not an address. |
| lon | number | Longitude of the locality, from Wikidata P625 (CC0). |
| coord_level | string | locality · country · none. |
| graded_on | date | The day the status grade was last assigned. |
| record_url | string | This record’s page in the atlas. |
| status_display | string | What the atlas shows: the status, or “unconfirmed since <accessed_date>” once the last check is older than the review interval (freshness in places.json meta). status itself is never changed by age. |
The research specification
From bitcoin-places-DATA-DICTIONARY.md, as written.
Status: published v0.3.0 (2026-10-02, 50 rows) under CC BY 4.0 (Jukka 2026-10-01) at billasaari.com · the publication-boundary paragraph below records the 2026-09-30 candidate state
Purpose and unit of observation
One row is one named Bitcoin-place project, programme or place-oriented operator. The register is an evidence-graded status and freshness instrument, not a directory of merchants, a map, an independent adoption audit or a representative census. Stable entity_id values identify rows across display-name changes.
Version and update policy
- Use semantic versions. Patch releases correct or refresh row facts without changing the schema; minor releases add rows or backwards-compatible fields; major releases change the unit, schema or method.
- Keep the register at
0.xwhile it is internal. A1.0.0package requires all row-level evidence fields below, a published methodology, an owner-selected licence limited to Billasaari's original structure and analysis, and a clean validation run. The current candidate passes row/schema validation but has no owner-selected licence or publication authorisation. - If published, make a quarterly full release by reopening every row's primary/operator surface. Apply evidence-backed cessation, relaunch, correction or material-count changes at the next research run rather than waiting for the quarterly release.
- A row presented as currently live must have an
accessed_dateno older than 120 days at release time. Older evidence may remain when clearly labelled historical instatus,merchant_or_adoption_evidenceandfact_as_of. - Never silently overwrite a released file. Archive the prior version, preserve stable IDs and append a changelog entry.
Required release fields
| field | definition and release rule |
|---|---|
entity_id | Permanent lower-case ASCII identifier; never reassigned. |
place | Current public project/programme name. |
country_or_city | Geographic scope claimed by the operator; not a merchant-coverage claim. |
category | Billasaari taxonomy for the unit observed. |
operator_or_founder | Operating organisation or project; exclude unnecessary personal contacts. |
customer_or_visitor | People the operator says the programme serves. |
proposition | Neutral paraphrase of the operator's mechanism. |
merchant_or_adoption_evidence | Exact dated numerator and denominator when available; otherwise state that none was found. Self-report status must be explicit. |
revenue_or_funding_model | Evidence-backed operating/funding mechanism, with unknown allowed. |
status | Current, historical, ceased or unresolved state plus the evidence limitation. Retrieval failure is not cessation. |
evidence_url | Row's primary/operator evidence URL. Directory URLs are discovery-only unless the row is explicitly unresolved. |
source_locator | Heading, table, page or short quoted label that lets a reader find the retained fact. For an explicitly unresolved row, record the directory locator or failed-retrieval point rather than inventing an operator-page heading. |
accessed_date | ISO date the retained source was opened or its indexed first-party content was checked. This is never a substitute for the fact date. |
fact_as_of | ISO YYYY, YYYY-MM or YYYY-MM-DD when the source dates the retained fact; semicolon-separated ISO periods are allowed for a mixed historical row. Use the literal unknown when an operator displays a claim without dating it. Never infer a date from accessed_date. |
confidence | Evidence-grade explanation, including self-report and denominator limits. |
transferable_lesson | Billasaari analysis, not source prose. |
counter_evidence | Why the row does not establish broader adoption or transfer cleanly. |
Publication and validation boundary
The publishable package may include Billasaari's IDs, taxonomy, status grades, lessons and paraphrased first-party facts with row-level attribution. Exclude copied directory prose or memberships in bulk, BTC Map/OpenStreetMap coordinates or tags, logos/photos/article text, and personal contact data. A clean release must pass: exactly 17 columns; 26 or more unique stable IDs; no empty required fields; ISO accessed_date values; ISO date/period or explicit unknown in fact_as_of; HTTPS evidence URLs; explicit numerator/denominator limitations; all current rows within the freshness window; and a changelog entry.
The 2026-09-30 candidate passes the research package gate: 26 rows, 17 columns, 26 unique IDs, no empty required cells, valid access dates, non-empty locators, HTTPS evidence URLs and all current-row checks within 120 days. Twenty-two rows correctly say fact_as_of=unknown because their displayed operator claims are undated; that is an evidence limitation, not a schema failure. The conservative reuse boundary still passes. Public release remains withheld pending Jukka's decision on whether to publish and, if so, the licence and public methodology surface. This is a research publication boundary, not legal advice.