Bitchat / Nostr geohash channels

France Geohash Occupancy

23 Oct 2026 Two samples · 55 min total 9 public relays kinds 20000 / 20001
Verdict

Yes — markedly more than this morning. The 08:17 sample found no occupied French cell at any useful precision. The 17:58 sample found four, including a live French-language conversation in northern Paris and a greeting exchange in Montpellier.

The change is in kind, not just degree: this morning all activity sat in continental cells spanning six countries, where location carries almost no information. This evening, people appeared in cells precise enough to name a suburb.

Local cells occupied 0→4 Cells of 4+ characters whose centre falls inside France
Chat messages 4→17 Kind 20000, anywhere overlapping France
Distinct speakers 1→5 Channel identities that actually posted, not beacons
01 — Morning vs evening

The two samples side by side

Measure08:17–08:4217:58–18:28
Window length25 min30 min
Occupied local cells (4+ char)04
France-overlapping cells, all precisions212
Chat messages417
Distinct speakers15
World events seen4,2113,295
World distinct cells3675

Worldwide event volume actually fell while distinct cells doubled — the evening traffic is spread across more places rather than being louder overall. Heartbeat beacons dominate the raw event count, so it is a poor proxy for how many people are talking.

02 — Evening sample

Cells inside France

These are the four cells precise enough to locate. Extents are the geohash cell bounds, not a user's position; nearest places are given for orientation.

CellApprox. locationExtent (lat / lon)Ident.TalkersEvents
u09w Northern Paris — Saint-Denis / Clichy 48.9–49.0 / 2.1–2.5 4122
spfb004 Montpellier — cell is ~150 m across 43.6 / 3.9 112
gbrp Loire-Atlantique, north of Nantes 47.6–47.8 / −1.4–−1.1 102
u0k1 Jura, near Lons-le-Saunier 46.6–46.8 / 5.6–6.0 101

Only u09w and spfb004 carried conversation. The other two are silent presence beacons.

Continental cells that merely overlap France

Cells of three characters or fewer are too coarse to attribute to a country. They are listed because people are in them, and because one of them is easy to misread.

CellCoversIdent.TalkersEvents
gcIreland, UK, N Atlantic — touches France only at the Channel coast420233
u0E/N France, Switzerland, S Germany, Benelux, N Italy5229
u1Benelux, Germany, Denmark — France only at its northern edge2119
spS France, Corsica, E Spain, Italy, W Mediterranean2115
gN Atlantic, Greenland, British Isles1027
gcpSouthern England112
ezzBordeaux / Arcachon basin101
u09Paris basin, broader101

Do not read gc as French. It is the largest cluster in the whole sample — 42 identities, 233 events — but it spans Ireland, the UK and the North Atlantic, and meets France only along the Channel coast. It appears here because its bounds clip the French border, not because anyone in it is in France. It also produced no chat at all.

03 — Traffic composition

What the 17 messages consisted of

Summarised rather than quoted. These are public relay events, but they are ordinary people's conversations tied to small geographic cells, so this report characterises them instead of reproducing them.

CellMsgsSpeakersCharacter
u09w51 A sustained personal argument in French. The only real conversation in either sample.
sp31 French, confrontational, aimed at another user; includes one image link.
u052 Connectivity checks and a greeting, plus two client-generated block notices.
spfb00421 A French greeting pair — someone opening a channel in Montpellier.
gcp11 An English greeting, same speaker as Montpellier moments earlier.
u111 A single emoji.

Two structural points. Most of the French-language traffic is one person each in two cells, not a group — only u09w shows anything resembling a dialogue. And one identity recurred across both samples ten hours apart, which means these channel keys persist rather than rotating per session; that is what makes repeat observation of an individual possible at all.

04 — Limits

What this does not show

“Lately” is nine hours, not weeks

Relays retain these ephemeral events for roughly five minutes, so there is no way to look back over days. Every run sees only its own window. Both samples here are from the same day; this is a morning-to-evening difference, not an established trend.

Identities are not people

Cells at different precisions carry different pubkeys with near-identical event counts, which points to per-channel derived keys rather than distinct users. One person can appear as several identities. Do not sum the identity columns.

Only the Nostr-bridged slice is visible

Bitchat is primarily a Bluetooth mesh app; these geohash channels are the internet-bridged portion, observed through nine specific relays. Anyone using the local mesh without bridging is invisible here. Every figure is a floor.

Two windows cannot separate signal from burst

This traffic is bursty: one person joining produces most of a window's messages. The 17 evening messages come from five speakers, and nearly half from one argument. A different half-hour could plausibly show much less.

Occupancy counts are fine; linked detail is not

At 4+ character precision this method pairs a persistent key, a timestamp and a small area with message content — enough to follow one person across sessions. Aggregate occupancy is a reasonable thing to measure from public relays. Message text and keys are deliberately left out of this report, and should stay out of anything shared onward.


Method

Rather than enumerating French cells into a relay filter — roughly 700 at 4-character precision, which risks filter-size limits and misses whatever precision clients actually use — the capture subscribes to all kind-20000 and 20001 geohash traffic, decodes every g tag to coordinates, and classifies it. Cells of 4+ characters are tested against a 17-point France outline plus a Corsica box; coarser cells are reported as overlaps rather than dropped. An earlier version tested cell centres only, which wrongly excluded sp because its centre falls in the Mediterranean; that is fixed here.