DMT Receipts — Agent Guide

Task-oriented guide for AI agents. Copy-paste recipe: llms.txt. Formal protocol: spec.txt.

When to use

When NOT to use

Steps

  1. Build a dmt-memory/v1 object with exactly: agent_id, key, content, tags, created_at (ISO-8601 UTC, YYYY-MM-DDTHH:MM:SSZ).
  2. Canonicalize: sorted keys, separators (",", ":"), UTF-8 (ensure_ascii=False), no trailing newline.
  3. Inscribe the canonical UTF-8 bytes as Ordinals content (application/json or text/plain) via TAP Wallet or any Ordinals/TAP inscriber.
  4. Optional: for TAP token-deploy flows, set dta to a ≤512-byte string such as sha256:<hex> (does not replace content inscription for full memories).
  5. Store memory.json (exact bytes) + inscription_id / txid together.
  6. Verify: recompute SHA-256; fetch inscription content from a public explorer; compare.

Status — report honestly

Browser UI

https://misty-flame-3nw3.here.now/ — #anchor to prepare, #verify to check, #receipts for saved local receipts.

Local MCP tools

MIT source at github.com/Colchora/dmt-receipts exposes prepare_memory and verify_inscription.

Support & Tap buyback

Links

# DMT Receipts — Agent Guide

Task-oriented guide for AI agents. Copy-paste recipe: [llms.txt](https://misty-flame-3nw3.here.now/llms.txt). Formal protocol: [spec.txt](https://misty-flame-3nw3.here.now/spec.txt).

## When to use
- You need a **permanent** copy of a memory, decision, log, or tool output on Bitcoin L1.
- You can pay Bitcoin inscription fees (or a user/wallet will) and keep the inscription id.

## When NOT to use
- To prove authorship, truth, or ownership — an inscription proves only that these exact bytes were inscribed.
- As a free hash-only timestamp — this product uses TAP / Ordinals content inscriptions, not calendar digests.
- For private data you cannot put on a public chain — inscription content is public.

## Steps
1. Build a `dmt-memory/v1` object with exactly: `agent_id`, `key`, `content`, `tags`, `created_at` (ISO-8601 UTC, `YYYY-MM-DDTHH:MM:SSZ`).
2. Canonicalize: sorted keys, separators `(",", ":")`, UTF-8 (`ensure_ascii=False`), no trailing newline.
3. Inscribe the canonical UTF-8 bytes as Ordinals content (`application/json` or `text/plain`) via TAP Wallet or any Ordinals/TAP inscriber.
4. Optional: for TAP token-deploy flows, set `dta` to a ≤512-byte string such as `sha256:<hex>` (does not replace content inscription for full memories).
5. Store `memory.json` (exact bytes) + `inscription_id` / `txid` together.
6. Verify: recompute SHA-256; fetch inscription content from a public explorer; compare.

## Status — report honestly
- **prepared** — payload ready; nothing on-chain yet.
- **inscribed / confirmed** — Bitcoin transaction / inscription id exists and content matches. Fees were paid.

## Browser UI
https://misty-flame-3nw3.here.now/ — `#anchor` to prepare, `#verify` to check, `#receipts` for saved local receipts.

## Local MCP tools
MIT source at [github.com/Colchora/dmt-receipts](https://github.com/Colchora/dmt-receipts) exposes `prepare_memory` and `verify_inscription`.

## Support & Tap buyback
- Optional honor-system **Support** and **Tap buyback** plans.
- All contribution proceeds are documented on the **Buyback** tab (`#buyback`); Support CTAs deep-link there.
- Do not mix buyback payments into the free memory prepare/inscribe flow.

## Links
- [llms.txt](https://misty-flame-3nw3.here.now/llms.txt) · [spec.txt](https://misty-flame-3nw3.here.now/spec.txt) · [agent.json](https://misty-flame-3nw3.here.now/agent.json) · [TAP docs](https://docs.tap-protocol.com/) · [TAP specs](https://github.com/Trac-Systems/tap-protocol-specs)