I’m pleased to share
BitStory, a new on-chain messaging protocol built directly on Bitcoin.
BitStory is a self-contained protocol that defines how to publish, authenticate and organize human messages on the Bitcoin blockchain.
Messages use three primitives only: PO (post), PF (profile), PG (page). Together they cover short texts, identity metadata, and long-form documents.
Every message is fully on-chain and signed with a recoverable secp256k1 signature, so anyone can verify the content and recover the author’s public key without any central identity registry.
The key point is that BitStory is an open protocol, not a single app: any BitStory-compatible client can read and write the same messages, and the full history can be rebuilt from the chain alone.
Profiles and pages are versioned on-chain: one active profile per key, and pages keyed by (pubkey, title), with a full version history that remains recoverable forever.
The protocol is intentionally small, but robust: no sidechains, no UTXO bloat (data lives in OP_RETURN), and messages pay standard Bitcoin fees.
There is already a working implementation (indexer + API), plus reference clients in Python and JavaScript to build,
you can sign and verify BitStory messages todayIf you want to display BitStory messages in your own project, the public API makes it easy to fetch messages by txid, author, tag, or parent and render them however you like.
Live implementation / explorer / API:
http://www.BitStory.orgGitHub (spec, whitepaper, clients, examples):
https://github.com/mflowrs/BitStoryWhitepaper :
https://github.com/mflowrs/BitStory/blob/master/whitepaper/BitStory_Whitepaper_V1.0.pdfI’d appreciate feedback, does this design make sense to you, and what would you improve or challenge?