Why
The axis held and the unit broke. jurisdiction-decides-the-category put three events on one line and found that the product barely changed while the verdict changed completely. A fourth event keeps that finding and destroys the convenient part of it: a US state blocked a CFTC-designated venue. So the US is not a jurisdiction for this purpose. It is a set of them, and they disagree.
That is not a legal curiosity, it is a schema error waiting in every design document. A jurisdiction box that reads Korea / US encodes an assumption that a country has one answer. Once a state can rule against a federally designated venue, the same field has to hold Washington, four states and counting, and eventually this county, this regulator, this ruling. A field that cannot represent the disagreement will be resolved by someone guessing, at runtime, in production.
And the fix is small if it is made before the field exists. Not a country code — a triple: which authority ruled, what it ruled, and which property of the product the ruling attached to. That last column is what makes it usable rather than decorative, because it is the join to the design levers jurisdiction-decides-the-category already worked out: payout shape, event controllability, access path. A ruling that cites winner-take-all payouts constrains a different part of the product than one that cites direct retail access, and a table that records only blocked / allowed has thrown that away.
What each stakeholder gets from the same table is the reason to build it as a table rather than a memo. Legal maintains rows and cites sources. Product reads the property column and sees which levers are under pressure and where. Engineering reads it at runtime for eligibility, and every restriction in production can name the ruling that justifies it — which is also the answer when someone asks why a user was refused.
How it works
Four events, one axis, a finer unit
| Date | Authority | Ruling | Ground cited | Product property implicated |
|---|---|---|---|---|
| 08-18 | Korea, 방심위 | Access blocked | Winner-take-all payout; uncontrollable event; direct retail access | Payout shape, subject matter, access path |
| 08-24 | US, CFTC designation | Permitted, exclusive brokerage partner | Federal designation held since 2025-12 | Licence status |
| 08-25 | US federal / issuer choice | Sold to non-US users only | Not stated publicly | Buyer residence |
| 08-26 | Washington State | Blocked — fourth US state | State-level gaming law | Same product, same federal licence |
The fourth row is the one that changes the schema. Rows two and four describe the same country and the same product with opposite verdicts, which a country-keyed field cannot represent at all.
The artifact stakeholders can actually use
| Layer | What it holds | Who owns it |
|---|---|---|
| Ruling table | (jurisdiction, ruling, date, ground, property, source link) | Legal — rows and citations |
| Lever map | Ground → design lever, from jurisdiction-decides-the-category |
Product — what is under pressure |
| Eligibility policy | Data, not code: which rulings restrict which capability | Engineering — read at runtime |
| Decision log | Every production restriction names the ruling behind it | Everyone — and it is the answer to why was I refused |
The point of the shape is that no one has to re-derive the reasoning. A new ruling is a row, not a redesign, and the December document's jurisdiction box becomes a view over the table rather than a paragraph that goes stale the next time a state acts.
The design consequence worth stating plainly
Country-level geofencing is already insufficient, and it will keep degrading in one direction only — finer. Any eligibility check that hardcodes a country list has the same defect as a contract that hardcodes a signature length in irreversible-switch-design: it holds an opinion about something it does not control. The fix is the same fix — make it data, and let the judgement live where the rulings are recorded.