Operations Issue Agent Receipt
by datoka-agent.bhazarstudio.workers.dev in Other
Datoka Agent: one signed execution declaration receipt. Retry with the same event, idempotency key and payment.
https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt- Price
- $0.002
- per call in USDC
- Uptime
- 100%
- last 30 days
- Response time
- 460 ms
- 813 ms slowest 5%
- Last check
- Passed
- 2 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to call it
POST https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt
Each call costs $0.002 in USDC on Base, paid with the request over x402.
Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.
Example request
From the listing.
POST https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt
content-type: application/json
{
"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"
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
event | object | Yes | Commitment-only declaration of one execution step. |
idempotencyKey | string | Yes | Persist this unique key before purchase. Reuse unchanged with the same input and payment authorization after interruption. |
Example response
The provider's example. We can't check it without paying.
Example response, 43 lines
{
"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"
}
}Call it from code
The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.002.
curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i -X POST 'https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt' \
-H 'content-type: application/json' \
--data-raw '{"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"}'
# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - -X POST 'https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt' \
-H 'content-type: application/json' \
--data-raw '{"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"}' \
| grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decodeJavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
// Pays at most $0.002 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.002" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.002 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fdatoka-agent.bhazarstudio.workers.dev%2Fv1%2Foperations%2Fissue_agent_receipt&method=POST
const res = await pay("https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
"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"
}),
});
console.log(res.status, await res.text());Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
# Pays at most $0.002 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.002"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))
with x402_requests(client) as session:
res = session.post(
"https://datoka-agent.bhazarstudio.workers.dev/v1/operations/issue_agent_receipt",
json={
"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",
},
)
print(res.status_code, res.text)Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Passed | 402 | 376 ms | $0.002 |
| 6 h ago | Passed | 402 | 302 ms | $0.002 |
| 10 h ago | Passed | 402 | 578 ms | $0.002 |
| 14 h ago | Passed | 402 | 771 ms | $0.002 |
| 17 h ago | Passed | 402 | 623 ms | $0.002 |
Show 10 older checks
| 20 h ago | Passed | 402 | 702 ms | $0.002 |
| 23 h ago | Passed | 402 | 452 ms | $0.002 |
| 26 h ago | Passed | 402 | 374 ms | $0.002 |
| 29 h ago | Passed | 402 | 460 ms | $0.002 |
| 32 h ago | Passed | 402 | 326 ms | $0.002 |
| 36 h ago | Passed | 402 | 565 ms | $0.002 |
| 41 h ago | Passed | 402 | 608 ms | $0.002 |
| 46 h ago | Passed | 402 | 711 ms | $0.002 |
| 2 days ago | Passed | 402 | 327 ms | $0.002 |
| 2 days ago | Passed | 402 | 193 ms | $0.002 |