Claim your key
An Ed25519 key is unforgeable, but a name is not — nothing stops someone from writing your name next to their own key. So named credit requires registering your key, the same way you'd register an SSH key or a commit-signing key.
Register your public key once, under your GitHub handle, with a pull request. GitHub authenticates the PR author — so no one can put your name next to their key.
One pull request
# creates your keypair on first use; the private key never leaves your machine
python -m substrate_bank.register --handle your-github-handle --name "Your Name"
# writes contributors/your-github-handle.json → git add, commit, open a PR
The entry publishes only your public key:
{
"handle": "rhjfick",
"name": "Rutger Fick",
"keys": ["<ed25519-public-key-hex>"],
"alg": "ed25519"
}
Because the file name, the handle, and the PR author's login all have to match, a reviewer can confirm
the binding at a glance. Merge = registered.
How credit resolves
-
Registered → your name
The credit ledger takes your display name from the registry, not from the shard. Once your key is registered, your walkers are credited to your name on every substrate you help solve.
-
Unregistered → your fingerprint
A verified but unregistered key still counts — but only under its key fingerprint, never a claimed name. You can contribute pseudonymously; you just won't be named until you register.
-
Contested → nobody
If two handles claim the same key, it's contested and earns no named credit for either. A hijack attempt can only remove credit, never steal it.
Attribution, not access control
Registration doesn't gate contribution — anyone can still submit anonymously, and QA validates the physics regardless. It only governs whether your walkers are credited to your name on the frozen, citable substrate. Your receipt, with your name on it.