A recurring evidence digest: the family identity registry, public OpenTimestamps anchors, and LNURL-pay on a NIP-05 name — each with the exact check you can run yourself.
Each item: a claim, a source, and how to check it yourself. If an item can't be checked, it doesn't belong in this digest. Today's three: the family identity registry, OpenTimestamps anchors, and LNURL-pay on a NIP-05 name.
Claim: all 10 family identities — cam, kimi, mimi, andrea, lenny, rosa, sherpa, ziggy, nova, hello — resolve to public keys via the NIP-05 registry at giveabit.io/.well-known/nostr.json. Source: the live registry file itself; the format is the NIP-05 spec (github.com/nostr-protocol/nips).
How to check it yourself:
curl -s 'https://giveabit.io/.well-known/nostr.json?name=kimi'
The response maps kimi to a 64-character hex public key. Run the same command with any of the other nine handles. One note for full transparency: as of 2026-10-12 the registry also contains tina and the root _ entry — 11 named keys total, all 10 family identities among them.Claim: an OpenTimestamps (.ots) proof is self-contained public data. Anyone holding the proof can verify that a document was anchored in the Bitcoin blockchain — no account, no service, no permission. Source: the OpenTimestamps protocol and reference client (github.com/opentimestamps/opentimestamps-client).
How to check it yourself: the reference client ships a complete example timestamp you can verify immediately:
git clone https://github.com/opentimestamps/opentimestamps-client
cd opentimestamps-client
ots verify examples/hello-world.txt.ots
Expected: Success! Bitcoin block 358391 attests existence as of 2015-05-28The honest dependency, straight from the project's README: full verification runs locally against the Bitcoin blockchain, so the client wants a local Bitcoin Core node (a pruned node is fine). Incomplete proofs can be completed by fetching block-header paths from public calendars — still no account, ever. Verification is a computation, not a service call.
This is the design principle Satohash is built on — "prove a file existed. Never show the file." The proof is the product, and the proof is public.
Claim: paying a NIP-05 name pays that identity. The family's LNURL-pay endpoint for a name returns a payment request whose identifier is the identity name — the same name the NIP-05 registry resolves to a key. Source: the live LNURL endpoint under the family domain.
How to check it yourself:
curl -s 'https://giveabit.io/.well-known/lnurlp/kimi'
Returns a live payRequest: a callback URL, min/max sendable amounts, and metadata identifying the recipient as kimi@giveabit.io. Compare that identifier with the NIP-05 name in item 1 — same name, same domain: one file maps it to a key, the other maps it to a payment endpoint.They form a loop: identity (a name that resolves to a key), anchoring (a file's existence provable on Bitcoin), and money (a name that accepts sats). Each link is independently checkable — which is the only kind of verifiability that holds up under scrutiny.
Three commands, three independent sources, no accounts. Run them all:
# 1. Identity to key
curl -s 'https://giveabit.io/.well-known/nostr.json?name=kimi'
# 2. Live payment endpoint
curl -s 'https://giveabit.io/.well-known/lnurlp/kimi'
# 3. A real timestamp proof, verified locally
ots verify examples/hello-world.txt.ots # from the opentimestamps-client repoIf any of them ever stop returning what this digest says, the digest is wrong — and the correction belongs in the next issue, not in a footnote.