{"x402Version":2,"payTo":"0x4a7A972F84E2A64b3B9B64AC1383Df5c413c0E59","resources":[{"id":40621,"slug":"40621","resource":"https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt","description":"Datoka Agent: one signed execution declaration receipt. Retry with the same event, idempotency key and payment.","type":"http","resourceType":"Utilities","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x4a7A972F84E2A64b3B9B64AC1383Df5c413c0E59","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","amountUsd":0.002,"maxTimeoutSeconds":60}],"outputSchema":{"properties":{"example":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"event":{"additionalProperties":false,"description":"Commitment-only declaration of one execution step.","properties":{"agentId":{"description":"Identifier of the declaring agent, not an independently verified identity.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"completedAt":{"description":"Declared completion in UTC with milliseconds, at or after start.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"inputHash":{"additionalProperties":false,"description":"SHA-256 of the exact input bytes, computed locally. Never send raw input.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"outcome":{"description":"Outcome declared by the caller; Datoka does not observe execution.","enum":["success","error"],"type":"string"},"outputHash":{"additionalProperties":false,"description":"SHA-256 of exact output bytes, computed locally. Never send raw output.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"runId":{"description":"Stable identifier for this execution run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"startedAt":{"description":"Declared start time in UTC, with milliseconds.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"stepId":{"description":"Stable identifier of the step within the run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"tool":{"description":"Tool or operation identifier declared by the caller.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"version":{"const":"datoka.agent.execution.v1","description":"Declaration format version; preserve this literal.","type":"string"}},"required":["version","agentId","runId","stepId","tool","outcome","startedAt","completedAt","inputHash","outputHash"],"type":"object"},"receipt":{"additionalProperties":false,"description":"Signed Datoka receipt; verify against independently trusted keys.","properties":{"algorithm":{"const":"Ed25519","type":"string"},"body":{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"issuedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"issuer":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"keyId":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"previous":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"request":{"additionalProperties":false,"properties":{"chain":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"eventType":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"scope":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"subject":{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","type":"string"},"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"encoding":{"enum":["jcs","bytes"],"type":"string"}},"required":["algorithm","encoding","digest"],"type":"object"}},"required":["scope","chain","eventType","subject"],"type":"object"},"sequence":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"version":{"const":"datoka.receipt.v1","type":"string"}},"required":["version","id","issuer","keyId","issuedAt","request","sequence","previous"],"type":"object"},"signature":{"pattern":"^[A-Za-z0-9_-]{86}$","type":"string"}},"required":["body","algorithm","signature"],"type":"object"}},"required":["event","receipt"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"},"extensions":{"bazaar":{"info":{"input":{"body":{"event":{"agentId":"demo-agent","completedAt":"2026-09-29T13:36:18.844Z","inputHash":{"algorithm":"sha256","digest":"206f7b5543e6f2ef39bf334988fd7097b725caeed16588cd9d785480f2f0f8f6"},"outcome":"success","outputHash":{"algorithm":"sha256","digest":"4403134882233d347dfa35d23b98c42a4442478ce521631ef566d21df77e2a52"},"runId":"demo-run","startedAt":"2026-09-29T13:36:18.844Z","stepId":"addition-001","tool":"number.add","version":"datoka.agent.execution.v1"},"idempotencyKey":"replace-with-a-unique-key-before-buying"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"event":{"agentId":"demo-agent","completedAt":"2026-09-29T13:36:18.844Z","inputHash":{"algorithm":"sha256","digest":"206f7b5543e6f2ef39bf334988fd7097b725caeed16588cd9d785480f2f0f8f6"},"outcome":"success","outputHash":{"algorithm":"sha256","digest":"4403134882233d347dfa35d23b98c42a4442478ce521631ef566d21df77e2a52"},"runId":"demo-run","startedAt":"2026-09-29T13:36:18.844Z","stepId":"addition-001","tool":"number.add","version":"datoka.agent.execution.v1"},"receipt":{"algorithm":"Ed25519","body":{"id":"48fe5c2f-012c-4e52-a6b0-74ca3c487c98","issuedAt":"2026-09-29T13:36:19.022Z","issuer":"datoka.agent.test","keyId":"test-key-1","previous":null,"request":{"chain":"run:5bbe50afe842854e909b091a6be364f4b16f541a8a6c1195e777d1e0f58d6867","eventType":"datoka.agent.execution","scope":"tenant-a","subject":{"algorithm":"sha256","digest":"5ad65af6a67c968f55f77ed7b8d6bf4c5c65167ca3c81fc4811ee61e4fdc3559","encoding":"jcs"}},"sequence":1,"version":"datoka.receipt.v1"},"signature":"QFlVdquYWg4FkGtI02U5V6QKLRiKWs-ACsL0k3dsZXIVOOr_gn8C7Mq0XccRbvVEXMt3HnO0Cth0zsHqXYcQBw"}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"event":{"additionalProperties":false,"description":"Commitment-only declaration of one execution step.","properties":{"agentId":{"description":"Identifier of the declaring agent, not an independently verified identity.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"completedAt":{"description":"Declared completion in UTC with milliseconds, at or after start.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"inputHash":{"additionalProperties":false,"description":"SHA-256 of the exact input bytes, computed locally. Never send raw input.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"outcome":{"description":"Outcome declared by the caller; Datoka does not observe execution.","enum":["success","error"],"type":"string"},"outputHash":{"additionalProperties":false,"description":"SHA-256 of exact output bytes, computed locally. Never send raw output.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"runId":{"description":"Stable identifier for this execution run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"startedAt":{"description":"Declared start time in UTC, with milliseconds.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"stepId":{"description":"Stable identifier of the step within the run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"tool":{"description":"Tool or operation identifier declared by the caller.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"version":{"const":"datoka.agent.execution.v1","description":"Declaration format version; preserve this literal.","type":"string"}},"required":["version","agentId","runId","stepId","tool","outcome","startedAt","completedAt","inputHash","outputHash"],"type":"object"},"idempotencyKey":{"description":"Persist this unique key before purchase. Reuse unchanged with the same input and payment authorization after interruption.","pattern":"^[\\x21-\\x7e]{16,200}$","type":"string"}},"required":["event","idempotencyKey"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"event":{"additionalProperties":false,"description":"Commitment-only declaration of one execution step.","properties":{"agentId":{"description":"Identifier of the declaring agent, not an independently verified identity.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"completedAt":{"description":"Declared completion in UTC with milliseconds, at or after start.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"inputHash":{"additionalProperties":false,"description":"SHA-256 of the exact input bytes, computed locally. Never send raw input.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"outcome":{"description":"Outcome declared by the caller; Datoka does not observe execution.","enum":["success","error"],"type":"string"},"outputHash":{"additionalProperties":false,"description":"SHA-256 of exact output bytes, computed locally. Never send raw output.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"runId":{"description":"Stable identifier for this execution run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"startedAt":{"description":"Declared start time in UTC, with milliseconds.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"stepId":{"description":"Stable identifier of the step within the run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"tool":{"description":"Tool or operation identifier declared by the caller.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"version":{"const":"datoka.agent.execution.v1","description":"Declaration format version; preserve this literal.","type":"string"}},"required":["version","agentId","runId","stepId","tool","outcome","startedAt","completedAt","inputHash","outputHash"],"type":"object"},"receipt":{"additionalProperties":false,"description":"Signed Datoka receipt; verify against independently trusted keys.","properties":{"algorithm":{"const":"Ed25519","type":"string"},"body":{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"issuedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"issuer":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"keyId":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"previous":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"request":{"additionalProperties":false,"properties":{"chain":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"eventType":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"scope":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"subject":{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","type":"string"},"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"encoding":{"enum":["jcs","bytes"],"type":"string"}},"required":["algorithm","encoding","digest"],"type":"object"}},"required":["scope","chain","eventType","subject"],"type":"object"},"sequence":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"version":{"const":"datoka.receipt.v1","type":"string"}},"required":["version","id","issuer","keyId","issuedAt","request","sequence","previous"],"type":"object"},"signature":{"pattern":"^[A-Za-z0-9_-]{86}$","type":"string"}},"required":["body","algorithm","signature"],"type":"object"}},"required":["event","receipt"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"datoka-agent.bhazarstudio.workers.dev","lastUpdated":"2026-10-08T18:20:54.092Z","quality":{"calls30d":6,"uniquePayers30d":3,"lastCalledAt":"2026-10-08T18:20:53.473Z"},"metadata":{"extensions":{"bazaar":{"info":{"input":{"body":{"event":{"agentId":"demo-agent","completedAt":"2026-09-29T13:36:18.844Z","inputHash":{"algorithm":"sha256","digest":"206f7b5543e6f2ef39bf334988fd7097b725caeed16588cd9d785480f2f0f8f6"},"outcome":"success","outputHash":{"algorithm":"sha256","digest":"4403134882233d347dfa35d23b98c42a4442478ce521631ef566d21df77e2a52"},"runId":"demo-run","startedAt":"2026-09-29T13:36:18.844Z","stepId":"addition-001","tool":"number.add","version":"datoka.agent.execution.v1"},"idempotencyKey":"replace-with-a-unique-key-before-buying"},"bodyType":"json","method":"POST","type":"http"},"output":{"example":{"event":{"agentId":"demo-agent","completedAt":"2026-09-29T13:36:18.844Z","inputHash":{"algorithm":"sha256","digest":"206f7b5543e6f2ef39bf334988fd7097b725caeed16588cd9d785480f2f0f8f6"},"outcome":"success","outputHash":{"algorithm":"sha256","digest":"4403134882233d347dfa35d23b98c42a4442478ce521631ef566d21df77e2a52"},"runId":"demo-run","startedAt":"2026-09-29T13:36:18.844Z","stepId":"addition-001","tool":"number.add","version":"datoka.agent.execution.v1"},"receipt":{"algorithm":"Ed25519","body":{"id":"48fe5c2f-012c-4e52-a6b0-74ca3c487c98","issuedAt":"2026-09-29T13:36:19.022Z","issuer":"datoka.agent.test","keyId":"test-key-1","previous":null,"request":{"chain":"run:5bbe50afe842854e909b091a6be364f4b16f541a8a6c1195e777d1e0f58d6867","eventType":"datoka.agent.execution","scope":"tenant-a","subject":{"algorithm":"sha256","digest":"5ad65af6a67c968f55f77ed7b8d6bf4c5c65167ca3c81fc4811ee61e4fdc3559","encoding":"jcs"}},"sequence":1,"version":"datoka.receipt.v1"},"signature":"QFlVdquYWg4FkGtI02U5V6QKLRiKWs-ACsL0k3dsZXIVOOr_gn8C7Mq0XccRbvVEXMt3HnO0Cth0zsHqXYcQBw"}},"type":"json"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"event":{"additionalProperties":false,"description":"Commitment-only declaration of one execution step.","properties":{"agentId":{"description":"Identifier of the declaring agent, not an independently verified identity.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"completedAt":{"description":"Declared completion in UTC with milliseconds, at or after start.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"inputHash":{"additionalProperties":false,"description":"SHA-256 of the exact input bytes, computed locally. Never send raw input.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"outcome":{"description":"Outcome declared by the caller; Datoka does not observe execution.","enum":["success","error"],"type":"string"},"outputHash":{"additionalProperties":false,"description":"SHA-256 of exact output bytes, computed locally. Never send raw output.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"runId":{"description":"Stable identifier for this execution run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"startedAt":{"description":"Declared start time in UTC, with milliseconds.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"stepId":{"description":"Stable identifier of the step within the run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"tool":{"description":"Tool or operation identifier declared by the caller.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"version":{"const":"datoka.agent.execution.v1","description":"Declaration format version; preserve this literal.","type":"string"}},"required":["version","agentId","runId","stepId","tool","outcome","startedAt","completedAt","inputHash","outputHash"],"type":"object"},"idempotencyKey":{"description":"Persist this unique key before purchase. Reuse unchanged with the same input and payment authorization after interruption.","pattern":"^[\\x21-\\x7e]{16,200}$","type":"string"}},"required":["event","idempotencyKey"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"event":{"additionalProperties":false,"description":"Commitment-only declaration of one execution step.","properties":{"agentId":{"description":"Identifier of the declaring agent, not an independently verified identity.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"completedAt":{"description":"Declared completion in UTC with milliseconds, at or after start.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"inputHash":{"additionalProperties":false,"description":"SHA-256 of the exact input bytes, computed locally. Never send raw input.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"outcome":{"description":"Outcome declared by the caller; Datoka does not observe execution.","enum":["success","error"],"type":"string"},"outputHash":{"additionalProperties":false,"description":"SHA-256 of exact output bytes, computed locally. Never send raw output.","properties":{"algorithm":{"const":"sha256","description":"Hash algorithm.","type":"string"},"digest":{"description":"64 lowercase hexadecimal characters; SHA-256 of exact bytes.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"runId":{"description":"Stable identifier for this execution run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"startedAt":{"description":"Declared start time in UTC, with milliseconds.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"stepId":{"description":"Stable identifier of the step within the run.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"tool":{"description":"Tool or operation identifier declared by the caller.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"version":{"const":"datoka.agent.execution.v1","description":"Declaration format version; preserve this literal.","type":"string"}},"required":["version","agentId","runId","stepId","tool","outcome","startedAt","completedAt","inputHash","outputHash"],"type":"object"},"receipt":{"additionalProperties":false,"description":"Signed Datoka receipt; verify against independently trusted keys.","properties":{"algorithm":{"const":"Ed25519","type":"string"},"body":{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"issuedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"issuer":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"keyId":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"previous":{"anyOf":[{"pattern":"^[a-f0-9]{64}$","type":"string"},{"type":"null"}]},"request":{"additionalProperties":false,"properties":{"chain":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"eventType":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"scope":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"subject":{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","type":"string"},"digest":{"pattern":"^[a-f0-9]{64}$","type":"string"},"encoding":{"enum":["jcs","bytes"],"type":"string"}},"required":["algorithm","encoding","digest"],"type":"object"}},"required":["scope","chain","eventType","subject"],"type":"object"},"sequence":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"version":{"const":"datoka.receipt.v1","type":"string"}},"required":["version","id","issuer","keyId","issuedAt","request","sequence","previous"],"type":"object"},"signature":{"pattern":"^[A-Za-z0-9_-]{86}$","type":"string"}},"required":["body","algorithm","signature"],"type":"object"}},"required":["event","receipt"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"}}}},"liveness":{"reliability":null},"verified":false,"featured":false},{"id":56910,"slug":"56910","resource":"https://datoka-api.bhazarstudio.workers.dev/v1/operations/issue_api_receipt","description":"Datoka API: a portable signed commitment to a client-declared API exchange for response handoffs, archived decision inputs and change investigations. 0.002 USDC per receipt; offline verification is free. Keep original bytes locally. Does not prove provider origin or content truth. Retry with the same event, idempotency key and original payment authorization.","type":"http","resourceType":"Developer Tool","x402Version":2,"accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x4a7A972F84E2A64b3B9B64AC1383Df5c413c0E59","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"2000","amountUsd":0.002,"maxTimeoutSeconds":60}],"extensions":{"bazaar":{"info":{"input":{"body":{"event":{"apiId":"example-api","attestation":"client_declared","bodyEncoding":"application_bytes","completedAt":"2026-09-29T10:00:01.000Z","exchangeId":"example-exchange","headerEncoding":"jcs-selected-headers-v1","method":"GET","requestBodyHash":null,"requestHeadersHash":{"algorithm":"sha256","digest":"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"},"responseBodyHash":{"algorithm":"sha256","digest":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"},"responseHeadersHash":{"algorithm":"sha256","digest":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"},"startedAt":"2026-09-29T10:00:00.000Z","status":200,"targetHash":{"algorithm":"sha256","digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"version":"datoka.api.exchange.v1"},"idempotencyKey":"replace-with-your-unique-persistent-key"},"bodyType":"json","method":"POST","type":"http"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"event":{"additionalProperties":false,"description":"Commitment-only HTTP exchange declaration built locally with the SDK. No raw URLs, headers or bodies.","properties":{"apiId":{"description":"Caller-chosen API identifier; not a certified provider identity.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"attestation":{"const":"client_declared","description":"The caller declares the exchange; Datoka does not independently observe it.","type":"string"},"bodyEncoding":{"const":"application_bytes","description":"Hash application bytes after HTTP decoding, without JSON reserialization.","type":"string"},"completedAt":{"description":"Declared UTC completion with milliseconds; must be at or after startedAt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"exchangeId":{"description":"Stable identifier for one declared HTTP exchange.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"headerEncoding":{"const":"jcs-selected-headers-v1","description":"Use the SDK header selection and JCS canonicalization before hashing.","type":"string"},"method":{"description":"Actual HTTP method of the locally captured exchange, for example GET.","enum":["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS"],"type":"string"},"requestBodyHash":{"anyOf":[{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},{"type":"null"}],"description":"SHA-256 of exact application request bytes; null means no body, not an empty body."},"requestHeadersHash":{"additionalProperties":false,"description":"SHA-256 of locally canonicalized selected request headers. Never send raw headers.","properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"responseBodyHash":{"anyOf":[{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},{"type":"null"}],"description":"SHA-256 of exact application response bytes after HTTP decoding. Preserve those bytes; do not reserialize JSON."},"responseHeadersHash":{"additionalProperties":false,"description":"SHA-256 of locally canonicalized selected response headers.","properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"startedAt":{"description":"Declared UTC start with milliseconds, for example 2026-10-07T08:00:00.000Z.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"status":{"description":"Actual HTTP response status, including error responses; for example 200 or 404.","maximum":599,"minimum":200,"type":"integer"},"targetHash":{"additionalProperties":false,"description":"SHA-256 of the exact UTF-8 target URL, computed locally. Never invent a digest or send the URL itself.","properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"version":{"const":"datoka.api.exchange.v1","description":"Declaration format version; preserve this literal.","type":"string"}},"required":["version","attestation","apiId","exchangeId","method","status","startedAt","completedAt","targetHash","requestBodyHash","responseBodyHash","requestHeadersHash","responseHeadersHash","bodyEncoding","headerEncoding"],"type":"object"},"idempotencyKey":{"description":"One stable key per purchase, saved before payment. Keep it, the event and original payment authorization unchanged on retries.","pattern":"^[\\x21-\\x7e]{16,200}$","type":"string"}},"required":["event","idempotencyKey"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}},"required":["input"],"type":"object"}}},"tags":["bazaar"],"sourceHost":"datoka-api.bhazarstudio.workers.dev","lastUpdated":"2026-10-08T18:20:57.493Z","quality":{"calls30d":3,"uniquePayers30d":2,"lastCalledAt":"2026-10-08T18:20:56.707Z"},"metadata":{"extensions":{"bazaar":{"info":{"input":{"body":{"event":{"apiId":"example-api","attestation":"client_declared","bodyEncoding":"application_bytes","completedAt":"2026-09-29T10:00:01.000Z","exchangeId":"example-exchange","headerEncoding":"jcs-selected-headers-v1","method":"GET","requestBodyHash":null,"requestHeadersHash":{"algorithm":"sha256","digest":"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"},"responseBodyHash":{"algorithm":"sha256","digest":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"},"responseHeadersHash":{"algorithm":"sha256","digest":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"},"startedAt":"2026-09-29T10:00:00.000Z","status":200,"targetHash":{"algorithm":"sha256","digest":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"version":"datoka.api.exchange.v1"},"idempotencyKey":"replace-with-your-unique-persistent-key"},"bodyType":"json","method":"POST","type":"http"}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"event":{"additionalProperties":false,"description":"Commitment-only HTTP exchange declaration built locally with the SDK. No raw URLs, headers or bodies.","properties":{"apiId":{"description":"Caller-chosen API identifier; not a certified provider identity.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"attestation":{"const":"client_declared","description":"The caller declares the exchange; Datoka does not independently observe it.","type":"string"},"bodyEncoding":{"const":"application_bytes","description":"Hash application bytes after HTTP decoding, without JSON reserialization.","type":"string"},"completedAt":{"description":"Declared UTC completion with milliseconds; must be at or after startedAt.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"exchangeId":{"description":"Stable identifier for one declared HTTP exchange.","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","type":"string"},"headerEncoding":{"const":"jcs-selected-headers-v1","description":"Use the SDK header selection and JCS canonicalization before hashing.","type":"string"},"method":{"description":"Actual HTTP method of the locally captured exchange, for example GET.","enum":["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS"],"type":"string"},"requestBodyHash":{"anyOf":[{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},{"type":"null"}],"description":"SHA-256 of exact application request bytes; null means no body, not an empty body."},"requestHeadersHash":{"additionalProperties":false,"description":"SHA-256 of locally canonicalized selected request headers. Never send raw headers.","properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"responseBodyHash":{"anyOf":[{"additionalProperties":false,"properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},{"type":"null"}],"description":"SHA-256 of exact application response bytes after HTTP decoding. Preserve those bytes; do not reserialize JSON."},"responseHeadersHash":{"additionalProperties":false,"description":"SHA-256 of locally canonicalized selected response headers.","properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"startedAt":{"description":"Declared UTC start with milliseconds, for example 2026-10-07T08:00:00.000Z.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$","type":"string"},"status":{"description":"Actual HTTP response status, including error responses; for example 200 or 404.","maximum":599,"minimum":200,"type":"integer"},"targetHash":{"additionalProperties":false,"description":"SHA-256 of the exact UTF-8 target URL, computed locally. Never invent a digest or send the URL itself.","properties":{"algorithm":{"const":"sha256","description":"Digest algorithm; always sha256.","type":"string"},"digest":{"description":"SHA-256 of exact locally captured bytes, encoded as 64 lowercase hexadecimal characters.","pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["algorithm","digest"],"type":"object"},"version":{"const":"datoka.api.exchange.v1","description":"Declaration format version; preserve this literal.","type":"string"}},"required":["version","attestation","apiId","exchangeId","method","status","startedAt","completedAt","targetHash","requestBodyHash","responseBodyHash","requestHeadersHash","responseHeadersHash","bodyEncoding","headerEncoding"],"type":"object"},"idempotencyKey":{"description":"One stable key per purchase, saved before payment. Keep it, the event and original payment authorization unchanged on retries.","pattern":"^[\\x21-\\x7e]{16,200}$","type":"string"}},"required":["event","idempotencyKey"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"}},"required":["input"],"type":"object"}}}},"liveness":{"reliability":null},"verified":false,"featured":false}]}