{"spec_version":"v1","generated_at":"2026-04-07T04:18:11.945Z","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":"e23f5e19-b82a-4c48-a53c-e79b083acef9","issued_at":"2026-04-07T04:18:11.945Z","expires_at":"2026-04-07T04:19:11.945Z","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":"95ae2296eead5d26f91d4029a6f0f84d3fa01d8192ea65b26d56dfc3e3237b8be10a3f3de115754d97845685a767a083508ed7bbd6375d4bded3de780ed04000"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wNC0wN1QwNDoxOToxMS45NDVaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA0LTA3VDA0OjE4OjExLjk0NVoiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6ImUyM2Y1ZTE5LWI4MmEtNGM0OC1hNTNjLWU3OWIwODNhY2VmOSIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTQ0hFRFVMRSIsInN0YXR1cyI6Ik9QRU4ifQ==","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":"3ad62020-9dd4-43f0-9e55-d9af257662c9","issued_at":"2026-04-07T04:18:11.945Z","expires_at":"2026-04-07T04:19:11.945Z","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":"ac34905fe500c5bc211fd1a30ad4011c8d97076282122373ed56fc95bd5f4fcd71bc825e9d7eb255db75048c725b92c361f35daf4e6288125fb3686ae1bdd20f"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wNC0wN1QwNDoxOToxMS45NDVaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA0LTA3VDA0OjE4OjExLjk0NVoiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjNhZDYyMDIwLTlkZDQtNDNmMC05ZTU1LWQ5YWYyNTc2NjJjOSIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTQ0hFRFVMRSIsInN0YXR1cyI6IkNMT1NFRCJ9","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":"3d6e64c8-21dc-4b3c-a227-8069381f7471","issued_at":"2026-04-07T04:18:11.945Z","expires_at":"2026-04-07T04:19:11.945Z","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":"a3342b9db7cd8c32053f1f1285268b55324df900a354039755da8bdaa37beaa36af53ba086208aa3bcf747b52eeb70d4eec3b258f05ba11b8ab8087819b3ea0c"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wNC0wN1QwNDoxOToxMS45NDVaIiwiaGFsdF9kZXRlY3Rpb24iOiJzY2hlZHVsZV9vbmx5IiwiaXNzdWVkX2F0IjoiMjAyNi0wNC0wN1QwNDoxODoxMS45NDVaIiwiaXNzdWVyIjoiaGVhZGxlc3NvcmFjbGUuY29tIiwibWljIjoiWEpQWCIsInB1YmxpY19rZXlfaWQiOiJrZXlfMjAyNl92MSIsInJlY2VpcHRfaWQiOiIzZDZlNjRjOC0yMWRjLTRiM2MtYTIyNy04MDY5MzgxZjc0NzEiLCJyZWNlaXB0X21vZGUiOiJsaXZlIiwic2NoZW1hX3ZlcnNpb24iOiJ2NS4wIiwic291cmNlIjoiU0NIRURVTEUiLCJzdGF0dXMiOiJDTE9TRUQifQ==","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":"d2e58a8c-60d3-497e-afcf-b011673f4f80","issued_at":"2026-04-07T04:18:11.945Z","expires_at":"2026-04-07T04:19:11.945Z","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":"a626cc31d4ee07951328c8213396e84161778ab65451cba682e2f6066b4d6a8f33311dac8cee117347e763bab1fcba53996f34ad141afc6b098c10a4acc4bb0e"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wNC0wN1QwNDoxOToxMS45NDVaIiwiaGFsdF9kZXRlY3Rpb24iOiJhY3RpdmUiLCJpc3N1ZWRfYXQiOiIyMDI2LTA0LTA3VDA0OjE4OjExLjk0NVoiLCJpc3N1ZXIiOiJoZWFkbGVzc29yYWNsZS5jb20iLCJtaWMiOiJYTllTIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6ImQyZTU4YThjLTYwZDMtNDk3ZS1hZmNmLWIwMTE2NzNmNGY4MCIsInJlY2VpcHRfbW9kZSI6ImxpdmUiLCJzY2hlbWFfdmVyc2lvbiI6InY1LjAiLCJzb3VyY2UiOiJTWVNURU0iLCJzdGF0dXMiOiJVTktOT1dOIn0=","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-04-07T04:18:11.945Z","receipt":{"receipt_id":"281bdf04-d67b-48df-8ec4-397db3c5ec46","issued_at":"2026-04-07T04:18:11.945Z","expires_at":"2026-04-07T04:19:11.945Z","issuer":"headlessoracle.com","status":"OK","source":"SYSTEM","public_key_id":"key_2026_v1","signature":"fc06e1cd3f787898912b046dfcb942e7d4ac442d83095d44d4dba106a90a238b015b2b9b3507d55c913d7aa7abe7cae3bfbc0d4705e9f3fe3a643ce6e8a3d60b"},"canonical_payload":"eyJleHBpcmVzX2F0IjoiMjAyNi0wNC0wN1QwNDoxOToxMS45NDVaIiwiaXNzdWVkX2F0IjoiMjAyNi0wNC0wN1QwNDoxODoxMS45NDVaIiwiaXNzdWVyIjoiaGVhZGxlc3NvcmFjbGUuY29tIiwicHVibGljX2tleV9pZCI6ImtleV8yMDI2X3YxIiwicmVjZWlwdF9pZCI6IjI4MWJkZjA0LWQ2N2ItNDhkZi04ZWM0LTM5N2RiM2M1ZWM0NiIsInNvdXJjZSI6IlNZU1RFTSIsInN0YXR1cyI6Ik9LIn0=","public_key":"03dc27993a2c90856cdeb45e228ac065f18f69f0933c917b2336c1e75712f178","algorithm":"ed25519"}]}