Data dictionary.

The 31 fields of the published files, then the research register’s own specification as the research team keeps it.

Fields in places.csv

FieldTypeMeaning
idstringPermanent record identifier, lower-case, never reassigned.
namestringThe place or programme’s current public name.
scopestringThe geography the operator claims, in their terms. Not a merchant-coverage claim.
localitystringThe town, district, island or country the record is mapped to.
country_iso2stringISO 3166-1 alpha-2 country code; empty for multi-country programmes.
countrystringCountry name.
regionstringAtlas region.
kindstringcircular-economy · island-initiative · city-programme · district · programme-network.
statusstringactive · quiet · ceased · unverified — the rules are on this page.
last_dated_activitystringThe most recent dated activity found (YYYY, YYYY-MM or YYYY-MM-DD); empty when none was found.
grade_basisstringOne sentence on why the record has its status.
summarystringWhat the place does and for whom, paraphrased from the operator.
operatorstringThe organisation that runs it. No personal contact data.
fundingstringHow it is funded, as far as the operator discloses.
adoptionstringAdoption figures exactly as the operator reports them; never audited by us.
evidence_limitstringWhat those figures do not show.
evidence_gradestringHow 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.
gradestringhigh · medium · low — the leading word of evidence_grade: the grade of the status claim’s source reading. Grades the evidence, never the place.
grade_notestringThe rest of evidence_grade: what the grade covers and its limits; empty when the note is the grade alone.
fact_as_ofstringThe date the source gives for its facts, or “unknown” when the source is undated. Never inferred from the access date.
evidence_urlstringThe operator’s or programme’s own page the record rests on.
source_locatorstringWhere on that page the facts sit (heading or label).
accessed_datedateThe day we last checked the source.
activity_urlstringA second first-party page, when the dated activity sits elsewhere.
wikidata_qidstringWikidata item for the locality (CC0).
latnumberLatitude of the locality, from Wikidata P625 (CC0). Not an address.
lonnumberLongitude of the locality, from Wikidata P625 (CC0).
coord_levelstringlocality · country · none.
graded_ondateThe day the status grade was last assigned.
record_urlstringThis record’s page in the atlas.
status_displaystringWhat 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.x while it is internal. A 1.0.0 package 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_date no older than 120 days at release time. Older evidence may remain when clearly labelled historical in status, merchant_or_adoption_evidence and fact_as_of.
  • Never silently overwrite a released file. Archive the prior version, preserve stable IDs and append a changelog entry.

Required release fields

fielddefinition and release rule
entity_idPermanent lower-case ASCII identifier; never reassigned.
placeCurrent public project/programme name.
country_or_cityGeographic scope claimed by the operator; not a merchant-coverage claim.
categoryBillasaari taxonomy for the unit observed.
operator_or_founderOperating organisation or project; exclude unnecessary personal contacts.
customer_or_visitorPeople the operator says the programme serves.
propositionNeutral paraphrase of the operator's mechanism.
merchant_or_adoption_evidenceExact dated numerator and denominator when available; otherwise state that none was found. Self-report status must be explicit.
revenue_or_funding_modelEvidence-backed operating/funding mechanism, with unknown allowed.
statusCurrent, historical, ceased or unresolved state plus the evidence limitation. Retrieval failure is not cessation.
evidence_urlRow's primary/operator evidence URL. Directory URLs are discovery-only unless the row is explicitly unresolved.
source_locatorHeading, 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_dateISO 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_ofISO 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.
confidenceEvidence-grade explanation, including self-report and denominator limits.
transferable_lessonBillasaari analysis, not source prose.
counter_evidenceWhy 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.