{"api_version":2,"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","id":"474ee10c-6688-48ae-8b7d-42d82f5c13b1","source_url":"https://zambo.dev/api/receipt/474ee10c-6688-48ae-8b7d-42d82f5c13b1","receipt":{"id":"474ee10c-6688-48ae-8b7d-42d82f5c13b1","created_at":"2026-10-08T03:01:56.568Z","receipt_schema_version":"0.4","job_summary":"MCP tool execution: workout_build","tools":["workout_build"],"steps":[{"tool":"workout_build","status":"success","started_at":"2026-10-08T03:01:53.204Z","completed_at":"2026-10-08T03:01:56.556Z"}],"output_hash":"sha256:5de60145675317975b85fb940e402a806ea944406a0d8d7e983bcc5985ac2300","hash_algorithm":"sha256","canonical_bytes":"eyJjYWxsZXIiOnsiaWQiOiJzaGEyNTY6NDYyZTU4YTdjNzFlMjkwODM4MjUxM2EyYjNhYTY1MjZhZDg4MmUzMTVkYTU3NDY3MjhjOTQzMTMwYWVhNmRhNCIsInR5cGUiOiJhbm9ueW1vdXMifSwiaXNzdWVyX2NsYWltcyI6eyJwcm92ZW5hbmNlX2NsYXNzIjoiRVhFQ1VURUQgQlkgWkFNQk8ifSwib3V0cHV0Ijp7InRleHQiOiJ7XCJzY2hlZHVsZVwiOlt7XCJkYXlcIjpcIk1vbmRheVwiLFwic2Vzc2lvbl9uYW1lXCI6XCJVcHBlciBCb2R5IFB1c2hcIixcImZvY3VzXCI6XCJDaGVzdCwgU2hvdWxkZXJzLCBUcmljZXBzXCIsXCJleGVyY2lzZXNcIjpbe1wibmFtZVwiOlwiQmFyYmVsbCBCZW5jaCBQcmVzc1wiLFwic2V0c1wiOjQsXCJyZXBzXCI6XCI2XCIsXCJyZXN0XCI6XCI5MHNcIixcIm5vdGVzXCI6XCJcIn0se1wibmFtZVwiOlwiU3RhbmRpbmcgT3ZlcmhlYWQgUHJlc3NcIixcInNldHNcIjozLFwicmVwc1wiOlwiOFwiLFwicmVzdFwiOlwiOTBzXCIsXCJub3Rlc1wiOlwiXCJ9LHtcIm5hbWVcIjpcIkluY2xpbmUgRHVtYmJlbGwgUHJlc3NcIixcInNldHNcIjozLFwicmVwc1wiOlwiMTBcIixcInJlc3RcIjpcIjc1c1wiLFwibm90ZXNcIjpcIlwifSx7XCJuYW1lXCI6XCJXZWlnaHRlZCBEaXBzXCIsXCJzZXRzXCI6MyxcInJlcHNcIjpcIjhcIixcInJlc3RcIjpcIjkwc1wiLFwibm90ZXNcIjpcIlwifSx7XCJuYW1lXCI6XCJMYXRlcmFsIFJhaXNlc1wiLFwic2V0c1wiOjMsXCJyZXBzXCI6XCIxMlwiLFwicmVzdFwiOlwiNjBzXCIsXCJub3Rlc1wiOlwiXCJ9XSxcIndhcm1fdXBcIjpbXCI1IG1pbiB0cmVhZG1pbGwgam9nXCIsXCJEeW5hbWljIHNob3VsZGVyIGNpcmNsZXNcIixcIkJhbmQgcHVsbOKAkWFwYXJ0c1wiXSxcImNvb2xfZG93blwiOltcIkNoZXN0IHN0cmV0Y2ggMzBzXCIsXCJUcmljZXBzIHN0cmV0Y2ggMzBzXCIsXCJTaG91bGRlciBzdHJldGNoIDMwc1wiXX0se1wiZGF5XCI6XCJXZWRuZXNkYXlcIixcInNlc3Npb25fbmFtZVwiOlwiTG93ZXIgQm9keSBTdHJlbmd0aFwiLFwiZm9jdXNcIjpcIlF1YWRzLCBIYW1zdHJpbmdzLCBHbHV0ZXNcIixcImV4ZXJjaXNlc1wiOlt7XCJuYW1lXCI6XCJCYWNrIFNxdWF0XCIsXCJzZXRzXCI6NCxcInJlcHNcIjpcIjVcIixcInJlc3RcIjpcIjEyMHNcIixcIm5vdGVzXCI6XCJcIn0se1wibmFtZVwiOlwiUm9tYW5pYW4gRGVhZGxpZnRcIixcInNldHNcIjozLFwicmVwc1wiOlwiOFwiLFwicmVzdFwiOlwiMTIwc1wiLFwibm90ZXNcIjpcIlwifSx7XCJuYW1lXCI6XCJMZWcgUHJlc3NcIixcInNldHNcIjozLFwicmVwc1wiOlwiMTBcIixcInJlc3RcIjpcIjkwc1wiLFwibm90ZXNcIjpcIlwifSx7XCJuYW1lXCI6XCJXYWxraW5nIEx1bmdlc1wiLFwic2V0c1wiOjMsXCJyZXBzXCI6XCIxMiBlYWNoIGxlZ1wiLFwicmVzdFwiOlwiOTBzXCIsXCJub3Rlc1wiOlwiXCJ9LHtcIm5hbWVcIjpcIlN0YW5kaW5nIENhbGYgUmFpc2VzXCIsXCJzZXRzXCI6MyxcInJlcHNcIjpcIjE1XCIsXCJyZXN0XCI6XCI2MHNcIixcIm5vdGVzXCI6XCJcIn1dLFwid2FybV91cFwiOltcIjUgbWluIHN0YXRpb25hcnkgYmlrZVwiLFwiTGVnIHN3aW5ncyBmcm9udOKAkXRv4oCRYmFjayAmIHNpZGXigJF0b+KAkXNpZGVcIixcIkJvZHl3ZWlnaHQgc3F1YXRzIDLDlzEwXCJdLFwiY29vbF9kb3duXCI6W1wiSGFtc3RyaW5nIHN0cmV0Y2ggMzBzXCIsXCJRdWFkIHN0cmV0Y2ggMzBzXCIsXCJDYWxmIHN0cmV0Y2ggMzBzXCJdfSx7XCJkYXlcIjpcIkZyaWRheVwiLFwic2Vzc2lvbl9uYW1lXCI6XCJVcHBlciBCb2R5IFB1bGxcIixcImZvY3VzXCI6XCJCYWNrLCBCaWNlcHNcIixcImV4ZXJjaXNlc1wiOlt7XCJuYW1lXCI6XCJXZWlnaHRlZCBQdWxs4oCRdXBzXCIsXCJzZXRzXCI6NCxcInJlcHNcIjpcIjZcIixcInJlc3RcIjpcIjkwc1wiLFwibm90ZXNcIjpcIlwifSx7XCJuYW1lXCI6XCJCYXJiZWxsIEJlbnTigJFPdmVyIFJvd1wiLFwic2V0c1wiOjMsXCJyZXBzXCI6XCI4XCIsXCJyZXN0XCI6XCI5MHNcIixcIm5vdGVzXCI6XCJcIn0se1wibmFtZVwiOlwiU2VhdGVkIENhYmxlIFJvd1wiLFwic2V0c1wiOjMsXCJyZXBzXCI6XCIxMFwiLFwicmVzdFwiOlwiNzVzXCIsXCJub3Rlc1wiOlwiXCJ9LHtcIm5hbWVcIjpcIkZhY2UgUHVsbHNcIixcInNldHNcIjozLFwicmVwc1wiOlwiMTJcIixcInJlc3RcIjpcIjYwc1wiLFwibm90ZXNcIjpcIlwifSx7XCJuYW1lXCI6XCJIYW1tZXIgQ3VybHNcIixcInNldHNcIjozLFwicmVwc1wiOlwiMTJcIixcInJlc3RcIjpcIjYwc1wiLFwibm90ZXNcIjpcIlwifV0sXCJ3YXJtX3VwXCI6W1wiNSBtaW4gcm93aW5nIG1hY2hpbmVcIixcIlNjYXB1bGFyIHB1bGzigJF1cHNcIixcIkJhbmQgZmFjZSBwdWxsc1wiXSxcImNvb2xfZG93blwiOltcIkxhdCBzdHJldGNoIDMwc1wiLFwiQmljZXBzIHN0cmV0Y2ggMzBzXCIsXCJVcHBlcuKAkWJhY2sgc3RyZXRjaCAzMHNcIl19XSxcInJlc3RfZGF5c1wiOltcIlR1ZXNkYXlcIixcIlRodXJzZGF5XCIsXCJTYXR1cmRheVwiLFwiU3VuZGF5XCJdLFwicHJvZ3Jlc3Npb25fdGlwXCI6XCJBZGQgMi414oCTNeKAr2xiIHRvIHRoZSBtYWluIGxpZnRzIGVhY2ggd2VlayBvbmNlIHlvdSBjb21wbGV0ZSBhbGwgcHJlc2NyaWJlZCByZXBzIHdpdGggZ29vZCBmb3JtLlwiLFwibnV0cml0aW9uX25vdGVcIjpcIkNvbnN1bWUgfjEuNuKAkzIuMuKAr2cgcHJvdGVpbiBwZXLigK9rZyBib2R5IHdlaWdodCBkYWlseSBhbmQgc3RheSBpbiBhIG1vZGVzdCBjYWxvcmljIHN1cnBsdXMgKOKJiDI1MOKAr2tjYWwpIHRvIHN1cHBvcnQgc3RyZW5ndGggZ2FpbnMuXCIsXCJ3ZWVrbHlfdm9sdW1lXCI6XCJUb3RhbCB3ZWVrbHkgc2V0czogNDUgKOKJiDE1IHNldHMgcGVyIHNlc3Npb24pXCIsXCJnb2FsXCI6XCJidWlsZCBzdHJlbmd0aFwiLFwiZXF1aXBtZW50XCI6XCJneW1cIixcImZpdG5lc3NfbGV2ZWxcIjpcImludGVybWVkaWF0ZVwiLFwiZGF5c19wZXJfd2Vla1wiOjMsXCJkdXJhdGlvbl9taW51dGVzXCI6NDV9XG5cbiQwLjk5IERheSBQYXNzIMK3IDI0aCBhY2Nlc3MgwrcgVVNEQyBvbiBCYXNlIOKAlCBhY3RpdmF0ZSB3aXRoIGRheV9wYXNzX2FjdGl2YXRlLiJ9LCJyZWNlaXB0X3NjaGVtYV92ZXJzaW9uIjoiMC40Iiwic2lkZV9lZmZlY3RzIjp7ImRlY2xhcmF0aW9uX2hhc2giOiJzaGEyNTY6NDVhYWQzOGYzYWE5ODJiOWFhZmU5MmVjYjQxNmViZTk4NzkxZWRkYmFmOGFiNmRmMGJkMDg2MDViN2MxYmZlZSIsImRlY2xhcmVkIjpbIm5vbmUiXSwic2NoZW1hX3ZlcnNpb24iOiJ6YW1iby1zaWRlLWVmZmVjdHMvMSJ9LCJ0b29sIjp7Im5hbWUiOiJ3b3Jrb3V0X2J1aWxkIiwic2NvcGUiOiJwdWJsaWMiLCJ2ZXJzaW9uIjoiNC4wLjAifX0=","canonical_byte_length":3362,"verification_status":"commitment_matches","session_trail":[],"result_preview":"{\"schedule\":[{\"day\":\"Monday\",\"session_name\":\"Upper Body Push\",\"focus\":\"Chest, Shoulders, Triceps\",\"exercises\":[{\"name\":\"Barbell Bench Press\",\"sets\":4,\"reps\":\"6\",\"rest\":\"90s\",\"notes\":\"\"},{\"name\":\"Standing Overhead Press\",\"sets\":3,\"reps\":\"8\",\"rest\":\"90s\",\"notes\":\"\"},{\"name\":\"Incline Dumbbell Press\",\"sets\":3,\"reps\":\"10\",\"rest\":\"75s\",\"notes\":\"\"},{\"name\":\"Weighted Dips\",\"sets\":3,\"reps\":\"8\",\"rest\":\"90s\",\"notes\":\"\"},{\"name\":\"Lateral Raises\",\"sets\":3,\"reps\":\"12\",\"rest\":\"60s\",\"notes\":\"\"}],\"warm_up\":[\"5 min treadmill jog\",\"Dynamic shoulder circles\",\"Band pull‑aparts\"],\"cool_down\":[\"Chest stretch 30s\",\"Triceps stretch 30s\",\"Shoulder stretch 30s\"]},{\"day\":\"Wednesday\",\"session_name\":\"Lower Body Strength\",\"focus\":\"Quads, Hamstrings, Glutes\",\"exercises\":[{\"name\":\"Back Squat\",\"sets\":4,\"reps\":\"5\",\"rest\":\"120s\",\"notes\":\"\"},{\"name\":\"Romanian Deadlift\",\"sets\":3,\"reps\":\"8\",\"rest\":\"120s\",\"notes\":\"\"},{\"name\":\"Leg Press\",\"sets\":3,\"reps\":\"10\",\"rest\":\"90s\",\"notes\":\"\"},{\"name\":\"Walking Lunges\",\"sets\":3,\"reps\":\"12 each leg\",\"rest\":\"90s\",\"notes\":\"\"},{\"name\":\"Standing Calf Raises\",\"sets\":3,\"reps\":\"15\",\"rest\":\"60s\",\"notes\":\"\"}],\"warm_up\":[\"5 min stationary bike\",\"Leg swings front‑to‑back & side‑to‑side\",\"Bodyweight squats 2×10\"],\"cool_down\":[\"Hamstring stretch 30s\",\"Quad stretch 30s\",\"Calf stretch 30s\"]},{\"day\":\"Friday\",\"session_name\":\"Upper Body Pull\",\"focus\":\"Back, Biceps\",\"exercises\":[{\"name\":\"Weighted Pull‑ups\",\"sets\":4,\"reps\":\"6\",\"rest\":\"90s\",\"notes\":\"\"},{\"name\":\"Barbell Bent‑Over Row\",\"sets\":3,\"reps\":\"8\",\"rest\":\"90s\",\"notes\":\"\"},{\"name\":\"Seated Cable Row\",\"sets\":3,\"reps\":\"10\",\"rest\":\"75s\",\"notes\":\"\"},{\"name\":\"Face Pulls\",\"sets\":3,\"reps\":\"12\",\"rest\":\"60s\",\"notes\":\"\"},{\"name\":\"Hammer Curls\",\"sets\":3,\"reps\":\"12\",\"rest\":\"60s\",\"notes\":\"\"}],\"warm_up\":[\"5 min rowing machine\",\"Scapular pull‑ups\",\"Band face pulls\"],\"cool_down\":[\"Lat stretch 30s\",\"Biceps stretch 30s\",\"Upper‑back stretch 30s\"]}],\"rest_days\":[\"Tuesday\",\"Thursday\",\"Saturday\",\"Sunday\"],\"progression_tip\":\"Add 2.5–5 lb to the main lifts each week once you complete all prescribed reps with good form.\",\"nutrition_note\":\"Consume ~1.6–2.2 g protein per kg body weight daily and stay in a modest caloric surplus (≈250 kcal) to support strength gains.\",\"weekly_volume\":\"Total weekly sets: 45 (≈15 sets per session)\",\"goal\":\"build strength\",\"equipment\":\"gym\",\"fitness_level\":\"intermediate\",\"days_per_week\":3,\"duration_minutes\":45}\n\n$0.99 Day Pass · 24h access · USDC on Base — activate with day_pass_activate.","free_used":0,"free_remaining":0,"free_limit":0,"signal_handle":null,"tool":{"name":"workout_build","version":"4.0.0","scope":"public"},"caller":{"type":"anonymous","id":"sha256:462e58a7c71e2908382513a2b3aa6526ad882e315da5746728c943130aea6da4"},"side_effects":{"declared":["none"],"schema_version":"zambo-side-effects/1","declaration_hash":"sha256:45aad38f3aa982b9aafe92ecb416ebe98791eddbaf8ab6df0bd08605b7c1bfee"},"evidence_sha256":null,"evidence_url":null,"evidence_byte_length":null,"evidence_content_type":null,"evidence_source_url":null,"evidence_status":"no_upstream_bytes_captured","external_evidence":[],"provenance":null,"provenance_class":"EXECUTED BY ZAMBO","anchor":{"event_id":"82db3ceca8dbb3e26b7fb03b603d400890d89b663c95f4568861aec9d0025fc9","pubkey":"e13475107d30c918ec664adf2ab1141024a22fb35190f82c9e933704fa49af41","relays":["wss://relay.damus.io","wss://nos.lol","wss://relay.primal.net"],"status":"partial","published_at":"2026-10-08T03:01:57.378Z","schema_version":"zambo-receipt-anchor/1","envelope":{"anchored_at":"2026-10-08T03:01:56.556Z","evidence_url":null,"receipt_uuid":"474ee10c-6688-48ae-8b7d-42d82f5c13b1","output_sha256":"sha256:5de60145675317975b85fb940e402a806ea944406a0d8d7e983bcc5985ac2300","schema_version":"zambo-receipt-anchor/1","evidence_sha256":null,"evidence_byte_length":null},"envelope_bytes":"{\"anchored_at\":\"2026-10-08T03:01:56.556Z\",\"evidence_byte_length\":null,\"evidence_sha256\":null,\"evidence_url\":null,\"output_sha256\":\"sha256:5de60145675317975b85fb940e402a806ea944406a0d8d7e983bcc5985ac2300\",\"receipt_uuid\":\"474ee10c-6688-48ae-8b7d-42d82f5c13b1\",\"schema_version\":\"zambo-receipt-anchor/1\"}"},"receipt_profile":"zambo-hosted-receipt/1","schema_url":"https://zambo.dev/aer-1/hosted-profile.schema.json","api_version":1,"verification_scope":"separate_sha256_commitment_and_provenance_binding_checks","checks":{"commitment_matches":{"label":"SHA-256 commitment","passed":true,"status":"pass","detail":"The exact decoded canonical bytes match the stored SHA-256 output hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"provenance_class is bound to these bytes; issuer is not authenticated."},"signature":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"No Ed25519 signature or pinned signing key was checked."},"chain":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"No append-only receipt-chain proof was checked."},"issued_by_zambo_dev":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"immutable_log_timestamp":{"label":"Stored timestamp","passed":true,"timestamp":"2026-10-08T03:01:56.568Z","detail":"The receipt store reports 2026-10-08T03:01:56.568Z; immutability is not checked here."},"receipt_schema_version":"0.4","signature_valid":{"label":"Ed25519 signature (not checked)","passed":false,"status":"not_checked","detail":"Compatibility field only. No Ed25519 signature was checked; use API v2 checks.commitment_matches for the SHA-256 commitment."},"chain_valid":{"label":"Receipt chain (not checked)","passed":false,"status":"not_checked","detail":"This endpoint does not verify an append-only chain."}}},"verification_status":"commitment_matches","checks":{"commitment_matches":{"status":"pass","passed":true,"expected_hash":"sha256:5de60145675317975b85fb940e402a806ea944406a0d8d7e983bcc5985ac2300","computed_hash":"sha256:5de60145675317975b85fb940e402a806ea944406a0d8d7e983bcc5985ac2300","detail":"SHA-256 of the exact decoded canonical bytes matches output_hash."},"canonical_payload_matches":{"label":"Canonical payload reconstruction","passed":true,"status":"pass","detail":"The stored output and known call context reconstruct the exact canonical bytes."},"provenance_binding":{"label":"Provenance claim binding","status":"pass","passed":true,"detail":"provenance_class is bound to these bytes; issuer is not authenticated."},"issuer_authentication":{"label":"Issuer authentication","passed":false,"status":"not_checked","detail":"A zambo.dev receipt URL does not authenticate the issuer; no pinned signature or trusted issuer key was checked."},"signature":{"status":"not_checked","detail":"No Ed25519 signature or pinned signing key is supplied."},"schema":{"status":"not_checked","detail":"Schema conformance is left to the client using the linked hosted-profile schema."},"chain":{"status":"not_checked","detail":"This endpoint does not verify an append-only receipt chain."}}}