01 · The problem
Nostr took the owner out of the network. Groups still have one.
Under NIP-29, groups are run by admins whose roles carry special powers, and the relay decides which roles may do what. In a dispute, a member can accept the key-holder's decision or leave.
That is the platform problem again, on a smaller scale: an authority just as unaccountable and more fragile. When the person holding the keys loses interest, the community often goes with them.
One light holds every thread.
02 · The idea
Law without a sovereign.
World society has no address, no legislator and no demos to appeal to. Yet rules are made, followed and enforced across the planet every day. Legal theory has been explaining how for a century.
The textbook answer is the state. The 1933 Montevideo Convention asks for four things, and Max Weber added a fifth: the monopoly of legitimate force within a territory. Set a Nostr community against the list.
- A permanent population
- Members, each with a key
- A defined territory
- None, ever
- A government
- One it writes for itself
- Relations with others
- Forks, and recognition between communities
- A monopoly of force
- None, by design
If law needed a state, such a community could have owners but never law.
Medieval merchants trading at the great fairs settled their disputes in courts held at the fair itself, by merchants' own customs, quickly enough for traders who would soon move on. At the Champagne fairs, Milgrom, North and Weingast (1990) argue, judges who kept a record of who had cheated let strangers trade on trust, with exclusion as the sanction and no state behind it.
Gunther Teubner calls the modern lex mercatoria "the most successful example of global law without a state". Its working court is arbitration: panels chosen partly by the parties, whose awards courts in 172 states enforce under the 1958 New York Convention. A Granny Bot panel has the same shape. Part of it is chosen by the accused, and part is drawn.
Historians dispute how uniform the medieval law merchant ever was (Kadens, 2012). The mechanism is the part that matters here: a public record of conduct, kept by people the parties trust. Nostr makes that record a stream of signed events that anyone can check.
In 1913 Eugen Ehrlich, teaching in Czernowitz at the edge of the Austrian empire, saw that the people of Bukovina lived by the rules of their own families, trades and villages more than by the official code. He called it living law, and his book on it is often read as the founding text of the sociology of law.
Teubner's "Global Bukowina" (1997) carried the idea to world society: a new living law, growing out of networks that no state organises. International custom works the same way, binding states as "a general practice accepted as law", with no legislature at all.
An online community is a Bukovina without the empire. Its living law already exists, in norms nobody wrote down. Granny Bot asks the community to write it down, sign it and run it.
H. L. A. Hart's The Concept of Law (1961) asks what turns a set of rules into a legal system. His answer is three secondary rules: one that says which rules count, one for changing them, and one for deciding when they have been broken. On Nostr, each one is an event kind.
- Recognition
- 39100 The constitution, its version chain and its lineage. A new version counts only if an amendment trail stands behind it.
- Change
- 9907 Amendment proposals, carried by ballots at thresholds the constitution sets for itself.
- Adjudication
- 9900–9904 Filing, panel draw, deliberation, ballots and a verdict anyone can recompute.
Elinor Ostrom found that commons which endure, some of them for centuries, share a handful of design principles. Several are written directly into the Village, the project's pilot constitution.
- Collective choice
- Members amend their own constitution.
- Monitoring
- Every step of a case is a public, signed event.
- Graduated sanctions
- Six steps, from a private notice to removal.
- Cheap conflict resolution
- Panels of seven, and a summary track for admitted matters.
- Recognition by others
- The open question, and the third phase of the plan.
None of these orders rests on a sovereign. They hold because the parties accept the procedure, others can check the record, and other legal orders recognise the outcome. Nostr can supply the first two directly. Whether a community without territory can earn the third is the question at the heart of this experiment.
Nostr made speech a protocol instead of a platform. Granny Bot asks whether law can be one too.
03 · The constitution · kind 39100
Two layers. Members read one, the agent runs the other.
Every clause carries the prose members ratify and, if it can be enforced, the rule the agent executes. A clause with no rule cannot be enforced at all, so the limit of the agent's power is written inside the document members vote on.
No sanction without a verdict
No member's voting rights may be suspended, and no member's content may be permanently removed, except by a verdict following a complete case. Every other sanction also requires such a verdict, except a c9 emergency concealment of a specific item pending review. This clause binds Granny Bot as it binds any member.
{
"trigger": { "event": "sanction_enactment_requested" },
"guard": {
"require": "matching_valid_verdict_event_or_active_c9_hide"
},
"on_guard_fail": { "action": "reject_enactment" }
}
No silent exile
No member shall be barred from speaking in this community's public spaces except as a sanction enacted following a verdict, or during a c9 emergency concealment of a specific item pending review. Exclusion by informal means is not a sanction this constitution recognises.
{
"trigger": { "event": "speech_restriction_requested" },
"guard": {
"require": "matching_valid_verdict_or_active_c9_hide"
},
"on_guard_fail": { "action": "reject_restriction" }
}
Emergency hide
Content may be concealed without waiting for a panel only where it is unlawful to host, constitutes active doxxing, or coordinates an ongoing raid, and only once three members in good standing have flagged it. Granny Bot opens a review case the moment she conceals the item, and the item is restored automatically unless a panel upholds the concealment within seventy-two hours.
{
"trigger": {
"event": "emergency_flag",
"flag_count_min": 3,
"flagger_role": "member_in_good_standing"
},
"action": "hide_content",
"review": {
"opened_by": "agent_at_concealment",
"within_hours": 72,
"if_not_upheld": "restore"
}
}
Hiding deletes nothing. A hidden item goes on a public concealment list (kind 39101) that clients honour, and restoring it means taking it off the list. A tool checks that the two layers agree, because a rule that changes while its prose stays the same is the most dangerous edit the system allows.
“The member most likely to require this constitution's protection is the one raising an objection the community would rather not hear.” The Village, preamble
04 · Run a case
Nobody is sanctioned unless their own side agrees.
A routine panel has seven seats. The accused names three and four are drawn at random. A violation needs a majority of the seven and the assent of at least two of the three the accused named. Those three do not need to be impartial. They need to tell a made-up complaint from a real one.
Or click a light in the field: orange for a dissenter, blue for a member of the majority.
Named by the accusedDrawn at random× convict · ○ acquit
No case yet. Choose who stands accused.
- Events appear here as the case runs. Open any row to read the event.
The draw is seeded so that anyone can re-run it and check the panel. The plan is to seed it from a Bitcoin block hash fixed before the case is filed, so that nobody, the filer included, can steer who sits. Votes here come from the project's simulation model, not from people.
All twelve event kinds
| Kind | Event | Signed by |
|---|---|---|
| 39100 | Constitution | Granny Bot, after a passing amendment vote |
| 39101 | Concealment list | Granny Bot, from an enactment or a lapsed review |
| 9900 | Case filing | Any member |
| 9901 | Panel draw | Granny Bot, deterministically and reproducibly |
| 9902 | Deliberation statement | A panellist |
| 9903 | Ballot | A panellist |
| 9904 | Verdict | Granny Bot, as a mechanical tally of the ballots |
| 9905 | Appeal | The sanctioned member |
| 9906 | Sanction enactment | Granny Bot, carrying out a verdict |
| 9907 | Amendment proposal | Any member with standing |
| 9908 | Fork declaration | The forking group |
| 9909 | Vouch record | The vouching member |
Highlighted rows are the only events the agent signs. Every judgement is signed by a person. The range sits clear of NIP-29's reserved blocks.
05 · What the simulations found
Majority rule convicts the dissenter.
Picture 105 people: 95 broadly agree and 10 do not. One of the ten is accused of something they did not do, on a charge written along the community's dividing line. A jury drawn at random and deciding by majority convicts, through a fair process and a sincere vote. The nomination rule changes that.
Simulated, not measured. These figures come from a model, at one setting of it, and your browser recomputes them from the same model. They rest on assumptions nobody has yet tested with people, above all that an ally can tell a made-up complaint from a real one. Where the accused knows nobody to name, the protection is gone. That is the design's most serious known weakness, and it is shown here on purpose. Testing the assumption with people is part of the plan below.
06 · Founders
Founders' power runs out, on a clock in the founding text.
The Village has five founders and a hundred members. In amendment votes a founder's ballot starts at four times the weight of anyone else's and falls to parity after a year. Panel ballots always count once.
The clock runs in time, not in members admitted, so a founder cannot outlast it by vouching for accounts they control. It is keyed to the lineage, so forking does not reset it. Turnout matters more than the multiplier: at five per cent turnout, founders at four times weight would hold 81% of an amendment vote (research paper 07), which is why the Village also requires at least 35 ballots, capping that share at 40%.
07 · Exit · kind 9908
Any group can fork, and take its law with it.
A faction that disagrees can leave with the constitution, the case record and the precedents. Its new constitution points back to the old one, and a fork declaration lists every clause that changed and in which layer. A tool checks the declaration against both documents and reports which precedents still apply.
Riverside declares
- clause_delta
- c1, prose only
- procedure_delta
- none
- decay_epoch
- ratification of this constitution
genealogy.py finds
c8c9c12changed in the rule only: members reading the fork would see no differencec10No silent exile, removed and not declaredc13Uncontested matters, removed and not declared- Nomination and the routine panel changed, declared as "none"
- Founder clock reset by the fork, against the parent's lineage rule
- Five entrenched structures changed, among them the participation floor
Which precedents still apply
- c1
- c2
- c3
- c4
- c5
- c6
- c7
- c8
- c9
- c10
- c11
- c12
- c13
- c14
Portable 8Persuasive 1Void 3Orphaned 2
The output of tools/genealogy.py on the project's worked fork, which hides its changes on purpose. The genealogy half of the protocol, kinds 39100 and 9908, is published as a NIP.
08 · The neighbourhood
It fits the Nostr being built around it.
Granny Bot adds law, not another app. Projects from the And Other Stuff collective already cover much of what a self-governing community needs. This is where each would sit in the system.
DittoCommunity servers with their own relay. A natural place for a community's agent to run.
ArmadaDiscord-style communities over NIP-29 groups and Concord: the groups a constitution is written for.
+chorusGroups with a built-in ecash wallet, made for organisers. A community like this is what Granny Bot would govern.- White NoisePrivate, encrypted group chat. Panels need a place to deliberate out of public view.
CashuEcash. A filing bond or an appeal deposit could be held and returned by verdict.- AgoraFunding for movements under pressure, whose members most need protection for dissent.
- DivineA creator platform with house rules, the kind a constitution makes the members' own.
ShakespeareBuilds Nostr apps from a description: ballots, case views and constitution editors among them.
Named to show where Granny Bot would fit. No partnership or endorsement is claimed, and each logo belongs to its project.
09 · Progress
What exists today.
- 112,000words of research
A white paper, a thesis, a protocol specification, two adversarial reviews and two pilot constitutions.
- 37releases, each timestamped on Bitcoin
Every version's manifest carries an OpenTimestamps proof, so a later rewrite of the record would show.
- 224tests for the verdict engine
The specification's tally as a pure function: ballots in, verdict out.
- 106tests for the genealogy tool
It audits a constitution, compares forks and reports which precedents survive.
- 1published NIP
Constitutional lineage for NIP-29 groups, on NostrHub.
- 1working Nostr client
Bubble Hub, served from Nostr itself as an nsite.
Not built yet: the agent itself. No community runs on Granny Bot today.
10 · Roadmap
From one community to law between communities.
Each phase starts only if the one before passes its gate. The long aim is communities that recognise each other's verdicts, as states recognise arbitral awards: a working order of law between communities, with Nostr as the common ground.
-
Phase 1 · month 2
Foundations
- Panel draws from a Bitcoin block hash
- Constitutions and their forks live on relays
- A working paper on law without a sovereign
- Safety design for communities under pressure
- Gate 1
The code runs on live relays, and the legal analysis finds no blocking conflict.
-
Phase 2 · months 3 to 6
A first community
- Outside review
- A community that did not write the design adopts a constitution
- An experiment tests whether allies judge on evidence
- A first agent on a NIP-29 relay
- Gate 2
That community governs itself with it, and the experiment does not reject the nomination rule.
-
Phase 3 · month 7 onward
Law between communities
- Communities recognise each other's verdicts
- Shared rules for members of several communities
- Each piece proposed as an open Nostr standard
11 · Who we are
Granny Bot is a project of Solidarity Works! International in Berlin, which works on global solidarity, human rights and the rule of law.
Nabil Izagaren
Governance design, simulations, the protocol specification and its tools.
Dr Reik Kirchhof
Lawyer and sociology of law scholar. His Grundlegung einer Soziologie der Scharia (Springer VS, 2019) develops a theory of normative order and law beyond the state and its territory.
12 · Get involved
The experiment needs people.
- A community willing to be first Ready to measure its participation before adopting anything, and to decline if the numbers do not support it.
- Nostr developers To take the specification from proposal to running code on relays.
- Researchers For the experiment on whether allies can tell a made-up complaint from a real one.
- Lawyers For the conflict with the EU right to erasure, and for liability across jurisdictions.