{"spec_version":"v1","generated_at":"2026-11-05T00:39:55.301Z","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":"234982cb-3418-47da-9109-dd9a3b0e99db","issued_at":"2026-11-05T00:39:55.301Z","expires_at":"2026-11-05T00:40:55.301Z","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":"4890a370f88ae0f652ebc7315d73e28c985bf113b1442bae6d0ecfc6f3df595a4ea5d264f6c6940cf1a9f081af9eada1b6ed760a7c90cbb6cd4e6720dbfab008"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0xMS0wNVQwMDo0MDo1NS4zMDFaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTExLTA1VDAwOjM5OjU1LjMwMVoiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjIzNDk4MmNiLTM0MTgtNDdkYS05MTA5LWRkOWEzYjBlOTlkYiIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTQ0hFRFVMRSIsInN0YXR1cyI6Ik9QRU4ifQ==","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":"48668dbe-a7e0-491d-ac7c-667a646b9ddd","issued_at":"2026-11-05T00:39:55.301Z","expires_at":"2026-11-05T00:40:55.301Z","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":"bea92ebceda64ea34ad5f0f703fcdfd3878e0b548ac74c218701b40be768560a07f09f9b4275147b3c09c0e7df4fbc63f533f857a2be1ece9963133cf7ff9b09"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0xMS0wNVQwMDo0MDo1NS4zMDFaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTExLTA1VDAwOjM5OjU1LjMwMVoiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjQ4NjY4ZGJlLWE3ZTAtNDkxZC1hYzdjLTY2N2E2NDZiOWRkZCIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTQ0hFRFVMRSIsInN0YXR1cyI6IkNMT1NFRCJ9","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":"20c870c2-7c80-46e7-87ad-5095eaf11ecc","issued_at":"2026-11-05T00:39:55.301Z","expires_at":"2026-11-05T00:40:55.301Z","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":"6b2da10d3a1fce38f8bd918e2166f8ad378de0c53cec12f9140b3fb2d3b32c7696ba98d9c9f9683a40d7a238a9158e9a238187e895f3739f14283df4fc273b06"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0xMS0wNVQwMDo0MDo1NS4zMDFaIiwiaGFsdF9kZXRlY3Rpb24iOiJzY2hlZHVsZV9vbmx5IiwiaXNzdWVkX2F0IjoiMjAyNi0xMS0wNVQwMDozOTo1NS4zMDFaIiwiaXNzdWVyIjoiaGVhZGxlc3NvcmFjbGUuY29tIiwibWljIjoiWEpQWCIsInB1YmxpY19rZXlfaWQiOiJrZXlfMjAyNl92MSIsInJlY2VpcHRfaWQiOiIyMGM4NzBjMi03YzgwLTQ2ZTctODdhZC01MDk1ZWFmMTFlY2MiLCJyZWNlaXB0X21vZGUiOiJsaXZlIiwic2NoZW1hX3ZlcnNpb24iOiJ2NS4wIiwic291cmNlIjoiU0NIRURVTEUiLCJzdGF0dXMiOiJDTE9TRUQifQ==","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":"7bd60eb2-7ad0-4358-8415-e0e70fa76922","issued_at":"2026-11-05T00:39:55.301Z","expires_at":"2026-11-05T00:40:55.301Z","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":"717b652621c5d97a6cab443a3f041d3e5686724320fab62c88170b1e3925e6df6fbae4b3487ef8dbfa1daeac7316a2636d3e638fcca8b7413efe576f340a4505"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0xMS0wNVQwMDo0MDo1NS4zMDFaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTExLTA1VDAwOjM5OjU1LjMwMVoiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjdiZDYwZWIyLTdhZDAtNDM1OC04NDE1LWUwZTcwZmE3NjkyMiIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTWVNURU0iLCJzdGF0dXMiOiJVTktOT1dOIn0=","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-11-05T00:39:55.301Z","receipt":{"receipt_id":"060f496f-eb31-4734-a029-1981c5d288e3","issued_at":"2026-11-05T00:39:55.301Z","expires_at":"2026-11-05T00:40:55.301Z","issuer":"headlessoracle.com","status":"OK","source":"SYSTEM","public_key_id":"key_2026_v1","signature":"afef1a9ec1d9c378bf9c2889e81e24033fdf9323903ff2187ffc3dd35e21f3c6186703183d3ea5d38809e78d5646585632b5948277d7ca5c9de240379f91ea09"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0xMS0wNVQwMDo0MDo1NS4zMDFaIiwiaXNzdWVkX2F0IjoiMjAyNi0xMS0wNVQwMDozOTo1NS4zMDFaIiwiaXNzdWVyIjoiaGVhZGxlc3NvcmFjbGUuY29tIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjA2MGY0OTZmLWViMzEtNDczNC1hMDI5LTE5ODFjNWQyODhlMyIsInNvdXJjZSI6IlNZU1RFTSIsInN0YXR1cyI6Ik9LIn0=","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519"}]}