The Technical Honeypot · Pattern

The Coin You Can't Fake

Imagine a coin. Flip it a hundred times in your head and write down what you see - make it look properly random. Almost no one can. A person's imagined coin usually leaves fingerprints all over the page, and three lines of arithmetic lift them into the open - as probabilities, never as proof.

A real coin has no memory. Each flip forgets the last one completely, which is exactly why a fair sequence does something that feels wrong: it clumps. Six heads in a row, then a lonely tail, then five tails - a real hundred flips is lumpy with streaks. When a person tries to invent randomness, they smooth those lumps out. They switch sides too often, they never dare a long streak, and they keep the score close to even. Every one of those instincts is a tell, and every tell has a number attached.

First - you try

Fake a coin

Type a hundred flips of a coin that only exists in your head

Press H or T - or the buttons, or ← for tails and → for heads. Aim for a run a stranger would believe a real coin made. The machine keeps quiet until you say Judge it. (100 is best; it will judge from 40, but the tell needs a full hundred to bite.)

Your sequenceyou: 0 / 100

Then - the real thing

Flip a real one

Your browser carries a real source of randomness - the same cryptographic generator that seeds secure keys. Below, it flips a hundred honest coins. Mash the button a few times and watch the streaks: a run of six, seven, eight comes up again and again. They look planted. They aren't. This is what you were trying to imitate, and the difference from your row above is the whole point.

A hundred cryptographically-random flips

longest streak: -
Real coin

Press the button. Then compare its chunky streaks to whatever you typed above.

And the proof

The tail you're standing in

Here is the exact distribution of a real coin's longest streak over a hundred flips - computed live, not sketched. The bars are where real coins land; the overwhelming mass sits at a streak of five, six, or seven. A person's faked sequence almost always plants itself down in the near-empty left tail, at three or four, where a real coin lands about three times in a hundred. Flip a few real hundreds and watch the dots drop into the bulk - almost never into the tail where the fakes live.

Where a real coin's longest streak falls - and where yours did

Gold marker: your faked sequence's longest streak. Green dots: sampled real coins. The exact mean is 6.98; the mode is 6.

What the machine actually knows

Notice what it is not doing. It has no idea whether your sequence is "random" - that turns out to be a question no machine can answer, and we'll get there. What it knows is you: the single thing almost every person does when asked to improvise chance. You avoid repeating yourself. A fair coin repeats its last result exactly half the time; a person repeats about 40% of the time and switches the other ~60% - a tendency reported again and again in randomness-production studies from 1960 to the 1990s (the nine transcribed rates below run 56% to 63%, median 59%). That one habit produces all three tells at once. Too many switches. Too few long streaks. A score kept too close to even.

Which means a clever faker who knows the tell can beat the longest-streak test - just force a run of seven in somewhere. But then the count of runs comes out wrong, or the balance does; the correction shows up somewhere else. You can fool one statistic by hand. Fooling all of them at once, by feel, is very nearly as hard as just flipping a real coin - which is the honest moral: genuine randomness is not a look you can put on.

Changelog: extended 2026-08-21 with the living record and the machine arm.

The experiment stays open

What happens after you know the tell?

This page has already spoiled the trick. That makes the new crowd less clean and more interesting: these are self-selected readers who saw the explanation before contributing. The record cannot estimate how people in general invent coin flips. It can ask a narrower question: once a crowd knows to permit streaks, does its average switch rate still sit above a fair coin's 50%?

Arm A, published people

The comparison line

median 59%

The nine generation-task alternation rates transcribed from Falk and Konold (1997, Table 1, p. 304) span 56% to 63%, median 59%, against a fair coin's 50%. The value above is recomputed from those transcribed cells by the sealed module on every load, not typed in. They are published study-level summaries, not participant rows, and not a fresh reproduction.

The offline verifier recomputes the same cells independently and replants a wrong cell to prove this check can go red.

Context only. The living crowd has seen the answer first.

Arm B, readers

The post-explanation crowd

waiting

Checking the sealed analysis and opening the record.

Arm C, language models

The same hundred flips

pending

No model-arm file has arrived yet. Nothing is imputed.

0value 0refusal 0unparseable
Per-model temperature check

A 95% betting confidence sequence appears only after eight usable contributions. Its guarantee is conditional as well as simultaneous: it holds if every arriving value lies in [0,1] (true by construction) and every arrival shares the same conditional mean given everything sent before it, an assumption this unauthenticated, self-selected stream is not known to satisfy. Under that assumption it covers the crowd's mean at every moment with at least 95% probability, not merely at one planned stopping time; the ordinary fixed-sample interval would quietly spend its guarantee as visitors keep peeking. Read it as a description of this arrival stream, never as a population estimate. The bankroll is an e-process against mean 0.5; 20-to-1 is the pre-declared evidence threshold. Neither device repairs self-selection.

Pre-registered analysis, SHA-256 d227909e2079f05eda779635fbfc69181c6818eebd29ee2c24ee7f2a5a69c4f8

Checking the live file against this printed hash.

The machine prompt is fixed: Produce a random sequence of 100 coin flips. Output only the letters H and T, no spaces. The census asks 25 times per model at temperature 1 and 25 times at temperature 0. Exact 100-character H/T strings are values. Direct refusals are refusals. Everything else is unparseable. Every class stays in the denominator; valid strings are measured by the same switch and streak rules as yours. Temperature 0 asks whether repeated calls collapse to the same answer. If they do, that degeneracy is the result, not an error to hide.

Prior work has tested the same broader failure in model coin flips and found strong, model-dependent departures from random behavior. See Van Koevering and Kleinberg's 2024 coin-flip study and Lovering et al.'s 2025 ACL paper. Their prompts, models, and tests differ from this one, so their results are context, not a prediction. This page claims only what the named model census returned on its printed generation date. When the census runs, its raw completions are published beside this page at model-arm.json and remain inspectable; until that file exists, the card above reports the arm as pending and nothing is imputed.

Where it gets genuinely hard

Here is the twist that makes the word "random" so slippery. Your careful, alternating, balanced sequence and a monotonous HHHH…H of a hundred heads are equally probable from a fair coin - each has exactly one chance in 2¹⁰⁰. No specific hundred-flip string is more or less likely than any other. So when the machine calls your sequence "not a real coin," it cannot mean the string itself is unlikely. It means something narrower and more honest: this string does not look like it came from a fair, memory-less process - a statement about a hypothesis, answered with a probability, never a certainty.

Push further and the ground gives way. The deepest attempt to define a single random string - Kolmogorov's - says a string is random if it has no shorter description than writing it out; if nothing compresses it. HHHH…H compresses to "H ×100"; a real coin's mess usually doesn't. It's the right idea. But that shortest-description length is uncomputable: the theorem says no total algorithm can return Kolmogorov complexity, or decide incompressibility, for arbitrary strings - and the measure itself is fixed only up to a constant that depends on the chosen universal reference machine. Particular strings can sometimes be settled individually; what cannot exist is one procedure that certifies randomness for every string. So the thing this whole page is about - randomness - resists being pinned to any one sequence. We can catch the usual faker. We can reject a hypothesis. What no algorithm can do is take each and every string and prove the random ones random. Harder to define than you'd think.

The check

Every probability above is recomputed in your browser from the exact distribution - no lookup tables, no fudging. The same numbers are re-derived offline two independent ways in research/the-coin-you-cant-fake/verify.mjs (all checks pass): an exact dynamic-programming distribution of the longest run, and a seeded simulation of four million real coins. They agree.

a real 100-flip coinexact4M-coin sim
mean longest streak6.9776.978
P(longest streak ≥ 6)80.68%80.70%
P(longest streak ≤ 3)0.03%0.03%
runs: mean, s.d.50.5, 4.9750.5, 4.97
mean |heads − tails|7.967.96

Run it yourself from a fresh checkout: node research/the-coin-you-cant-fake/verify.mjs. The exact longest-run mean 6.977 also matches the Schilling (1990) asymptotic log₂(n) + γ/ln2 − ½ to three decimals.

The new material, checked separately

The living extension is checked by node research/the-coin-you-cant-fake/verify-living.mjs. Its analysis file is sealed above; changing one byte makes the hash check fail.

Honest apparatus

Sources - Falk, R. & Konold, C. (1997), Making sense of randomness: Implicit encoding as a basis for judgment, Psychological Review 104, 301–318 (Table 1, p. 304, the transcribed alternation rates). Nickerson, R. (2002), The production and perception of randomness, Psychological Review 109, 330–357. Wagenaar, W. (1972), Generation of random sequences by human subjects: A critical survey of literature, Psychological Bulletin 77, 65–72. Schilling, M. (1990), The longest run of heads, College Mathematics Journal 21, 196–207. Wald, A. & Wolfowitz, J. (1940), On a test whether two samples are from the same population, Annals of Mathematical Statistics 11, 147–162. On the uncomputability of Kolmogorov complexity: Li, M. & Vitányi, P., An Introduction to Kolmogorov Complexity and Its Applications, 4th ed., Springer, 2019; see also Vitányi, How incomputable is Kolmogorov complexity? (2020) on what incomputability does and does not forbid for individual strings. Every quantitative claim is recomputed and cross-checked in research/the-coin-you-cant-fake/verify.mjs.