The documents

The movement is these documents, not any piece of software. Anyone holding them can build their own app, their own register, or take part with neither.

Six of them are general. Only the declaration is about Liverpool — so fans of any club, or anyone buying anything their crowd means to keep, can take the rest as they stand.

Together those six are a method called Crowdlock. The Kop Fund is a Crowdlock: one declaration about Liverpool, run on the six general documents.

1 · The declaration

What the fund is for and what it will never do. Eleven principles. The only document that does not change — everything else here can be amended, and this cannot.

declaration-v1.txt · v1 · 3,408 bytes · sha256:3a0a0bca…6209b96

2 · Registration format

What a membership record is, how to make one, how to verify one, and how to submit it without anyone's permission. Two fields: an address and a signature.

registration-format.md · v1

3 · Counting rule

How every published figure is computed, precisely enough that two people reach the same answer from public data. Includes what must never be published and why.

counting-rule.md · v1

4 · Lock format

How committed money is held: the script, the two exits, the lengths offered, and the four behaviours that must hold or nothing else can be relied on.

lock-format.md · v1

5 · Proposal and settlement format

How committed money is actually spent. There is no vote — a proposal is funded or it is not. The window, how settlement is paced, and what happens when a proposal fails.

proposal-and-settlement.md · v1

6 · Commitment format

The record by which a supporter backs one purchase: one transaction, signed by its owner and nobody else, which cannot move a coin until the co-signer adds the second signature. Eight verification steps, seven of which need no network.

commitment-format.md · v1

7 · Published destinations format

The only addresses committed money may be sent to, and the whole defence against a forged proposal. Append-only, hash-chained, separately signed, and subject to a public waiting period, chosen by each Crowdlock (seven days for this fund, and recommended), before any proposal may name an address.

destinations-format.md · v1 · list: destinations.json

Running your own — which of these are general, the parameters your own instance must publish, what this method is good and bad at, and the one condition that is not negotiable. For any club, any sport, any cause.

Take it

Everything here is free to copy, for any club, any sport, or any cause that fits. Copying it is not tolerated, it is the point. Nobody needs permission, nobody needs to tell us, and nothing is owed to anybody if it works.

Write your own declaration and keep the other six documents as they are. They describe a mechanism, not a football club: a crowd committing money towards buying something it means to hold permanently, with nobody ever holding anybody else's money. A pub, a woodland, a local paper, a shuttered factory — same shape.

One condition is not negotiable. Contributors must receive nothing financial, ever. If you intend to pay anybody a return, this is the wrong specification and what you would be building is a regulated investment scheme with none of the protections one is required to have. Running your own spells out the rest.

Why documents rather than software

If this movement were a piece of software, whoever controlled that software would control the movement. Principle 9 of the declaration exists to prevent exactly that, and these documents are how it is kept.

Everything a client needs is here. Our website and our app are two possible readings of these documents; they are not the thing itself, and the register is obliged to treat an independent implementation exactly the same as our own.

Checking it all yourself

git clone https://github.com/Jimbus9/fanfund
cd fanfund

# the lock's construction (first: the other tests use its libraries)
cd method/lock && npm ci && node selftest.mjs

# the taproot form of the same lock, which nothing uses yet
node taproot.test.mjs

# commitments, and the destinations list that guards them
node commitment.test.mjs

# the lock's enforcement, on testnet with free coins
node run-testnet.mjs

# back at the top: the verifier, every Crowdlock's own file, and the rest
cd ../..
for t in method/js/*.test.mjs; do node "$t" || break; done

The declaration's fingerprint can be reproduced from the published text with the canonicalisation rules in the registration format. Nothing here asks to be believed.

Versions

DocumentVersionDated
The declaration115 October 2026
Registration format124 October 2026
Counting rule124 October 2026
Lock format124 October 2026
Proposal and settlement format124 October 2026
Commitment format124 October 2026
Published destinations format124 October 2026
Running your own124 October 2026

What a version means here. The declaration's version is load-bearing: a signature is made over one specific text, so a v2 would be published with its reason and members asked whether they wish to sign it, never applied retrospectively to words its signatories did not read. The other six are working documents whose version history begins the moment anybody can depend on them. They were drafted over the week to 24 October and are all at v1 as of that date; every change before and since is in the public commit history.

Copy them. These documents are licensed CC BY 4.0: copy, adapt and use them for anything, including your own club or cause, as long as you credit where they came from and say what you changed. The code is under the MIT licence. Details in spec/LICENSE.