{"spec_version":"v1","generated_at":"2026-09-20T14:20:10.617Z","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519","ttl_seconds":60,"note":"Freshly signed on every call. receipt_id/issued_at/expires_at/signature change each time. Verify: base64-decode canonical_payload → UTF-8 bytes → Ed25519.verify(sig_hex, bytes, pub_key_hex).","vectors":[{"vector_id":"v1_xnys_open","description":"XNYS OPEN — weekday trading hours (09:30–16:00 ET). status: OPEN, source: SCHEDULE.","synthetic_time":"2026-04-07T15:00:00.000Z","receipt":{"receipt_id":"15955ff6-d4da-4787-9f71-64bf269c6e83","issued_at":"2026-09-20T14:20:10.617Z","expires_at":"2026-09-20T14:21:10.617Z","issuer":"headlessoracle.com","receipt_mode":"live","schema_version":"v5.0","public_key_id":"key_2026_v1","mic":"XNYS","status":"OPEN","source":"SCHEDULE","halt_detection":"active","signature":"818b8a91246d2912a2313d8e1354ad86a23a80071cddbf9546cb35f5b7f07cb14437f26acfa29cb35002421f89b186acf00ac6fc9f903598dcc179fd0b0c4908"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wOS0yMFQxNDoyMToxMC42MTdaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA5LTIwVDE0OjIwOjEwLjYxN1oiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjE1OTU1ZmY2LWQ0ZGEtNDc4Ny05ZjcxLTY0YmYyNjljNmU4MyIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTQ0hFRFVMRSIsInN0YXR1cyI6Ik9QRU4ifQ==","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519"},{"vector_id":"v1_xnys_closed","description":"XNYS CLOSED — weekend (Saturday). status: CLOSED, source: SCHEDULE.","synthetic_time":"2026-04-04T15:00:00.000Z","receipt":{"receipt_id":"8c94ece9-e77b-405e-83c6-4920d011c370","issued_at":"2026-09-20T14:20:10.617Z","expires_at":"2026-09-20T14:21:10.617Z","issuer":"headlessoracle.com","receipt_mode":"live","schema_version":"v5.0","public_key_id":"key_2026_v1","mic":"XNYS","status":"CLOSED","source":"SCHEDULE","halt_detection":"active","signature":"60f204fd3a2177a41b8437ced9b0b0bad53022f5027c1644074825057b261b5b299b25262ef91669185de29f6fd1bd08fc08f152fee3f670c56b31bed2b7c500"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wOS0yMFQxNDoyMToxMC42MTdaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA5LTIwVDE0OjIwOjEwLjYxN1oiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjhjOTRlY2U5LWU3N2ItNDA1ZS04M2M2LTQ5MjBkMDExYzM3MCIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTQ0hFRFVMRSIsInN0YXR1cyI6IkNMT1NFRCJ9","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519"},{"vector_id":"v1_xjpx_lunch","description":"XJPX CLOSED — lunch break 11:30–12:30 JST. status: CLOSED, source: SCHEDULE.","synthetic_time":"2026-04-07T03:00:00.000Z","receipt":{"receipt_id":"03f44756-3c36-4b91-aa4f-6fcdbc8758ac","issued_at":"2026-09-20T14:20:10.617Z","expires_at":"2026-09-20T14:21:10.617Z","issuer":"headlessoracle.com","receipt_mode":"live","schema_version":"v5.0","public_key_id":"key_2026_v1","mic":"XJPX","status":"CLOSED","source":"SCHEDULE","halt_detection":"schedule_only","signature":"b4a8febe6e6613db9a03bd55d1f84997a6ba7be78bc35197153d8da1326ccbafc9c15fa29a64d128c50930d70d3faea9949b02d080bb89e6d456a5e0f002b904"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wOS0yMFQxNDoyMToxMC42MTdaIiwiaGFsdF9kZXRlY3Rpb24iOiJzY2hlZHVsZV9vbmx5IiwiaXNzdWVkX2F0IjoiMjAyNi0wOS0yMFQxNDoyMDoxMC42MTdaIiwiaXNzdWVyIjoiaGVhZGxlc3NvcmFjbGUuY29tIiwibWljIjoiWEpQWCIsInB1YmxpY19rZXlfaWQiOiJrZXlfMjAyNl92MSIsInJlY2VpcHRfaWQiOiIwM2Y0NDc1Ni0zYzM2LTRiOTEtYWE0Zi02ZmNkYmM4NzU4YWMiLCJyZWNlaXB0X21vZGUiOiJsaXZlIiwic2NoZW1hX3ZlcnNpb24iOiJ2NS4wIiwic291cmNlIjoiU0NIRURVTEUiLCJzdGF0dXMiOiJDTE9TRUQifQ==","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519"},{"vector_id":"v1_unknown","description":"UNKNOWN/SYSTEM — no holiday data for this year. Agents MUST treat UNKNOWN as CLOSED.","synthetic_time":null,"receipt":{"receipt_id":"24344c35-cc93-4f5b-be04-addee17540bc","issued_at":"2026-09-20T14:20:10.617Z","expires_at":"2026-09-20T14:21:10.617Z","issuer":"headlessoracle.com","receipt_mode":"live","schema_version":"v5.0","public_key_id":"key_2026_v1","mic":"XNYS","status":"UNKNOWN","source":"SYSTEM","halt_detection":"active","signature":"113eb3752554d867432e5ec26d6a0f6f809f64cc7e8ac427f8013f85dcdb9ec398949ab5947edfc86b034f1cfd670a502e63cdb36882473fe3eddaea6eecdd02"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wOS0yMFQxNDoyMToxMC42MTdaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA5LTIwVDE0OjIwOjEwLjYxN1oiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjI0MzQ0YzM1LWNjOTMtNGY1Yi1iZTA0LWFkZGVlMTc1NDBiYyIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTWVNURU0iLCJzdGF0dXMiOiJVTktOT1dOIn0=","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519"},{"vector_id":"v1_health","description":"HEALTH OK — same schema as /v5/health. No mic or schema_version fields.","synthetic_time":"2026-09-20T14:20:10.617Z","receipt":{"receipt_id":"8e9424f5-e738-47dc-b4a9-3d3b3d4b160f","issued_at":"2026-09-20T14:20:10.617Z","expires_at":"2026-09-20T14:21:10.617Z","issuer":"headlessoracle.com","status":"OK","source":"SYSTEM","public_key_id":"key_2026_v1","signature":"39ec484107d191011615f491ba9e6fc6e63dad4be9499f1cd3fcff15e2e55bd6279730691cdd3ed43d1a0c9d66921aa229bc6e1aa80f4d245d97aec77677ee0a"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wOS0yMFQxNDoyMToxMC42MTdaIiwiaXNzdWVkX2F0IjoiMjAyNi0wOS0yMFQxNDoyMDoxMC42MTdaIiwiaXNzdWVyIjoiaGVhZGxlc3NvcmFjbGUuY29tIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjhlOTQyNGY1LWU3MzgtNDdkYy1iNGE5LTNkM2IzZDRiMTYwZiIsInNvdXJjZSI6IlNZU1RFTSIsInN0YXR1cyI6Ik9LIn0=","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519"}]}