OPERATIONAL anchoring on mainnet · 0 anchors this hour (0/1000 all services) no issues in 19h 34m report a problem

🐦 X-post archiver

Timestamp a post on X without leaving X. Reply to the post and begin your reply with @DropReceipts — the mention itself is the request, no command word needed. We build a canonical manifest, anchor its SHA-256 on-chain, and reply with a branded receipt card linking a permanent /x/<hash> proof page. The proof is forever; the stored snapshot is best-effort.

trigger@DropReceipts must begin the part of the reply you typed (or .@DropReceipts)
anchoredthe tweet id, author id, posting time, capture time, and the SHA-256 of the post's text — plus a content hash of every attached image or video
returnsa branded receipt card and a permanent /x/<hash> proof page
free use10 archives per requester in a rolling 24-hour window; additional requests are queued

What gets anchored

Only what enters the SHA-256'd manifest is anchored — provable against the chain forever. Everything else (the author's handle, the plain readable text, link previews) is stored for display and can be checked against the anchored hashes, but is not itself in the transaction. What gets anchored differs by the shape of the post:

plain / media posttext hash + a content hash of each own image or video. This is the full case — nothing about the post is left out.
quote-postyour quote's own text and media are anchored, and the media from the quoted post is captured and anchored too. The quoted post's words, author, and id are not — only its pictures ride along.
replyonly the reply itself is anchored. The post it replies to and the thread context are not bound. (Mention the bot on someone else's post and that post is archived as its own record.)
linksthe URL, its unfurled title, and a content hash of the preview thumbnail are anchored — notarized by reference. The linked page or video itself is never mirrored or hashed.
uncaptured mediaif a fetch fails, the manifest records that the media existed but carries no content hash for it — the gap is on the record, not hidden.

X carries participants' handles into later replies. To prevent an accidental chain of bot replies, inherited or mid-sentence mentions are ignored. Start your reply with @DropReceipts (or .@DropReceipts) when you intend to archive something.

Verify it yourself

Each X proof anchors OP_RETURN bsv.cx x1 <sha256(manifest)>. Fetch /x/<hash>/manifest, recompute its SHA-256, and confirm the anchor's OP_RETURN carries bsv.cx / x1 / <hash> — anyone can recompute the manifest hash and verify the transaction without trusting bsv.cx.

← back to bsv.cx