
Dmt Receipts
io.github.ColchoraPublished by GitHub account Colchorav0.2.0Updated Nov 6, 2026
Prepare and verify TAP/Ordinals payloads for AI agent memories on Bitcoin.
Overview
Local MCP server that canonicalizes AI agent memories into Bitcoin Ordinals/TAP inscription payloads and verifies inscribed content.
- What you can do
- Prepare a memory: canonicalize a five-field dmt-memory/v1 JSON object, hash it, and return an Ordinals/TAP inscription recipe with content bytes and an optional dta pointer.
- Verify an inscription: recompute the digest, optionally fetch public inscription content to compare, and return explorer links.
- Keep the returned memory and sha256 for later verification once an inscription id or txid exists.
- When to use it
- Use it when you want agent memories committed permanently on Bitcoin L1 as Ordinals content under TAP and need a deterministic, hash-checkable payload before inscribing. Not needed if you only want ordinary local memory storage.
- Requirements
- Runs as a local stdio process built from a git clone with Node.js 18+ (npm ci builds dist/index.js); it is not published to npm. Clients are configured with a node command pointing at the built file. No accounts, API keys or environment variables are declared. Verifying with content fetch contacts a public explorer.
Installation
In SourceWeft
- Open Dmt Receipts in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
DMT Receipts
Portable, Bitcoin-permanent agent memories via the TAP Protocol / Ordinals.
DMT Receipts is a local stdio MCP server (prepare_memory, verify_inscription) and a browser demo. It turns a five-field dmt-memory/v1 JSON object into an inscription-ready payload. Permanence means those memory bytes are committed on Bitcoin L1 as Ordinals inscription content under TAP ("p":"tap"). Keep the memory and inscription id / txid in storage you control. After prepare_memory, status is prepared. A wallet or Ordinals tool inscribes the bytes and pays the Bitcoin fee.
Live site · Protocol recipe · Repo show-and-tell · Full specification · TAP specs
Maintainer: github.com/Colchora
Start here
The live site prepares and verifies a memory in the browser. Nothing is uploaded; receipts stay in localStorage until you export them. This package is the same protocol as a local MCP server. It is not published to the npm registry, so install it from a clone (below) or use the site.
Optional honor-system funding is separate from inscription fees: Support and Buyback.
What a receipt does—and does not—establish
This MCP server does not broadcast transactions or pay fees. Status after prepare_memory is prepared, not inscribed.
Show and tell
Node.js 18+. npm ci installs dependencies and builds dist/index.js. The server speaks MCP on stdin and stays open until a client connects.
The script calls prepare_memory on examples/demo-memory.json, then verify_inscription with no inscription id. A passing run prints:
ok stays false while the memory is only prepared. Inscription content that matches the canonical bytes is what makes a later verify succeed. The same numbers are in examples/expected-digest.json.
Cursor loads .cursor/mcp.json after the build. ${workspaceFolder} is the directory that contains that file:
Claude Desktop and other clients use an absolute path to the built file:
Call prepare_memory with the five fields in examples/demo-memory.json (agent_id, key, content, tags, created_at). Pass the returned memory and sha256 to verify_inscription with fetch_content: false and include_trac: false until you have an inscription_id.
Tools:
prepare_memory— canonicalize a memory, hash it, and return an Ordinals/TAP inscription recipe (content UTF-8 + optionaldtapointer).verify_inscription— recompute the digest; optionally fetch inscription content and compare; return explorer links.
Walkthrough: examples/README.md. Agent index: llms.txt. Protocol bytes: live llms.txt.
Prepare, inscribe, verify
- Call
prepare_memorywithagent_id,key, andcontent. - Inscribe
inscription_recipe.content_utf8as Ordinals content (application/jsonortext/plain) with TAP Wallet or any Ordinals/TAP tool. Optional TAPdta(≤512 bytes) may carrysha256:<hex>on token-deploy flows. - Store the memory with
inscription_id/txid. - Call
verify_inscriptionwith the memory andinscription_id.
The same prepare and verify steps work in the browser with no install: Anchor, then Verify.
Canonical memory format
Compact UTF-8 JSON, no trailing newline, keys sorted by Unicode code point, literal non-ASCII:
Protocol and privacy
Inscription content is public on Bitcoin. Do not inscribe secrets. This tool never uploads memory bytes to a backend of its own; if you fetch content during verify, you contact a public explorer.
License
MIT
Support & Tap buyback
Optional honor-system funding lives on the live site:
- Support plans — Free prepare, Support, Tap buyback
- Buyback hub — all contribution proceeds are directed here (USDC address + local payment-reference log)
Prepare/inscribe memory tooling stays free aside from Bitcoin network inscription fees paid to miners/inscribers. This repository does not process card payments.
Source: README.md at commit 371a1d5
Tools
0Version history
1- v0.2.0LatestNov 6, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts