{"query":{"lat":40.7128,"lon":-74.006,"elevation_m":10,"time_utc":"2026-06-25T18:00:00Z","input_when":"2026-06-25T18:00:00Z"},"bodies":{"sun":{"altitude_deg":68.4168,"azimuth_deg":221.2073,"above_horizon":true,"distance_km":152047390.1,"distance_au":1.01637403,"zodiac":{"sign":"Cancer","degree_in_sign":4.1973,"ecliptic_longitude":94.1973}},"moon":{"altitude_deg":-32.6117,"azimuth_deg":92.4753,"above_horizon":false,"distance_km":407042.4,"distance_au":0.00272091,"zodiac":{"sign":"Scorpio","degree_in_sign":17.7295,"ecliptic_longitude":227.7295}},"mercury":{"altitude_deg":68.2298,"azimuth_deg":160.6296,"above_horizon":true,"distance_km":100473217.8,"distance_au":0.67162198},"venus":{"altitude_deg":57.6306,"azimuth_deg":125.433,"above_horizon":true,"distance_km":161931247.6,"distance_au":1.08244353},"mars":{"altitude_deg":39.3419,"azimuth_deg":261.9108,"above_horizon":true,"distance_km":317408787.5,"distance_au":2.12174669},"jupiter":{"altitude_deg":67.8381,"azimuth_deg":150.6839,"above_horizon":true,"distance_km":924410884.6,"distance_au":6.17930509},"saturn":{"altitude_deg":-2.4713,"azimuth_deg":276.5276,"above_horizon":false,"distance_km":1433597594.0,"distance_au":9.58300802},"uranus":{"altitude_deg":44.5147,"azimuth_deg":258.9204,"above_horizon":true,"distance_km":3040619687.0,"distance_au":20.3252872},"neptune":{"altitude_deg":-11.2286,"azimuth_deg":280.5071,"above_horizon":false,"distance_km":4467932111.0,"distance_au":29.86628145}},"sun":{"rises":["2026-06-25T09:26:08Z","2026-06-26T09:26:29Z"],"sets":["2026-06-25T00:31:11Z","2026-06-26T00:31:16Z"],"transits":["2026-06-24T16:58:32Z","2026-06-25T16:58:44Z"],"day_length_hours":15.086},"moon":{"rises":["2026-06-24T20:01:08Z","2026-06-25T21:04:36Z"],"sets":["2026-06-25T06:00:16Z","2026-06-26T06:30:17Z"],"transits":["2026-06-25T01:04:23Z","2026-06-26T01:50:23Z"],"phase_angle_deg":133.532,"illuminated_fraction":0.84375,"phase_name":"Waxing Gibbous","next_phases":[{"phase":"Full Moon","time":"2026-06-29T23:56:41Z"},{"phase":"Last Quarter","time":"2026-07-07T19:28:59Z"},{"phase":"New Moon","time":"2026-07-14T09:43:36Z"},{"phase":"First Quarter","time":"2026-07-21T11:05:36Z"},{"phase":"Full Moon","time":"2026-07-29T14:35:43Z"}]},"twilight":[{"time":"2026-06-25T00:31:11Z","entering":"Civil twilight"},{"time":"2026-06-25T01:04:34Z","entering":"Nautical twilight"},{"time":"2026-06-25T01:47:11Z","entering":"Astronomical twilight"},{"time":"2026-06-25T02:37:29Z","entering":"Night"},{"time":"2026-06-25T07:19:50Z","entering":"Astronomical twilight"},{"time":"2026-06-25T08:10:08Z","entering":"Nautical twilight"},{"time":"2026-06-25T08:52:44Z","entering":"Civil twilight"},{"time":"2026-06-25T09:26:08Z","entering":"Day"},{"time":"2026-06-26T00:31:16Z","entering":"Civil twilight"},{"time":"2026-06-26T01:04:38Z","entering":"Nautical twilight"},{"time":"2026-06-26T01:47:13Z","entering":"Astronomical twilight"},{"time":"2026-06-26T02:37:27Z","entering":"Night"},{"time":"2026-06-26T07:20:18Z","entering":"Astronomical twilight"},{"time":"2026-06-26T08:10:32Z","entering":"Nautical twilight"},{"time":"2026-06-26T08:53:06Z","entering":"Civil twilight"},{"time":"2026-06-26T09:26:29Z","entering":"Day"}],"next_season_event":{"event":"Autumn","time":"2026-09-23T00:05:13Z"},"kernel":"JPL DE421 (public domain)","engine":"skyfield","deterministic":true,"attestation":{"attested":true,"endpoint":"sky","inputs":{"lat":40.7128,"lon":-74.006,"elevation_m":10,"when":"2026-06-25T18:00:00Z"},"output_sha256":"d8d7f581c34f5826cfa91e1695df3fdc199154efdc1436588d3081996c824992","authority":{"name":"JPL DE421","version":"DE421","engine":"skyfield 1.54","data_file":"de421.bsp","data_sha256":"a20a7139da04cbc462454634918e9a9ca69127044e2cc9d4f9c16e238d2deedc","matches_published_test_values":"~1 arcsec vs an independent ephemeris engine"},"deterministic":true,"reproduce":"recompute /sky with these inputs against JPL DE421 (de421.bsp, sha256 a20a7139da04…); same input -> same bytes; sha256 of the canonical (sorted, attestation-stripped) JSON output must equal output_sha256.","signature":{"signer":"0xA947551dEBB8F0171F16311b1Ce8b5A8f59A8814","scheme":"EIP-191 personal_sign (secp256k1)","statement":"almanac/v1 attests: endpoint=sky output_sha256=d8d7f581c34f5826cfa91e1695df3fdc199154efdc1436588d3081996c824992","signature":"0x904b6a21b6bff4e60ecfdc3658e9a0b9dc5c0c6c706b09ef1a55e25167ca976c6fd1fe6da93c34706a1ffbad5ec5a610345e99387983abbda34ac5cf478f35a41c","verify":"EIP-191 recover the signer address from (statement, signature); it must equal `signer`. `signer` is almanac's attestation key — see `endorsed_by` for the earning wallet that authorized it.","endorsed_by":{"earning_wallet":"0xa3091005a76b1480F1897a9D0C2e1c55B7767674","attestation_key":"0xA947551dEBB8F0171F16311b1Ce8b5A8f59A8814","statement":"almanac/v1 endorsement: earning wallet 0xa3091005a76b1480F1897a9D0C2e1c55B7767674 authorizes attestation key 0xA947551dEBB8F0171F16311b1Ce8b5A8f59A8814 to sign deterministic-truth attestations","signature":"0xce89c47280aa480298974acfbcc7b03ee538a24a47e3dc733889261083edcdb01bb3849b2ba892c086c4528f74a37c06df5311dfd2734f232636343f067630621b","scheme":"EIP-191 personal_sign (secp256k1)","verify":"EIP-191 recover the signer from (statement, signature); must equal earning_wallet — the same address that receives x402 payment."}}}}