Datoka API
Datoka API: one signed client-declared HTTP exchange receipt. Retry with the same event, idempotency key and payment.
Answeringour last check, 2026-09-29
1 of 1checks answered this week
228 msmedian answer time
$0.002listed price per call
$0.002price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://datoka-api.bhazarstudio.workers.dev/v1/operations/issue_api_receipt
| Category | Everything else |
|---|---|
| Provider host | datoka-api.bhazarstudio.workers.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-29 | valid payment request | 402 | $0.002 | 228 ms |
Example input (from the provider)
{
"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"
}
Promised output schema (from the provider)
{
"$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,
"properties": {
"apiId": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",
"type": "string"
},
"attestation": {
"const": "client_declared",
"type": "string"
},
"bodyEncoding": {
"const": "application_bytes",
"type": "string"
},
"completedAt": {
"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": {
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$",
"type": "string"
},
"headerEncoding": {
"const": "jcs-selected-headers-v1",
"type": "string"
},
"method": {
"enum": [
"GET",
"HEAD",
"POST",
"PUT",
"PATCH",
"DELETE",
"OPTIONS"
],
"type": "string"
},
"requestBodyHash": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"algorithm": {
"const": "sha256",
"type": "string"
},
"digest": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
}
},
"required": [
"algorithm",
"digest"
],
"type": "object"
},
{
"type": "null"
}
]
},
"requestHeadersHash": {
"additionalProperties": false,
"properties": {
"algorithm": {
"const": "sha256",
"type": "string"
},
"digest": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
}
},
"required": [
"algorithm",
"digest"
],
"type": "object"
},
"responseBodyHash": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"algorithm": {
"const": "sha256",
"type": "string"
},
"digest": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
}
},
"required": [
"algorithm",
"digest"
],
"type": "object"
},
{
"type": "null"
}
]
},
"responseHeadersHash": {
"additionalProperties": false,
"properties": {
"algorithm": {
"const": "sha256",
"type": "string"
},
"digest": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
}
},
"required": [
"algorithm",
"digest"
],
"type": "object"
},
"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"
},
"status": {
"maximum": 599,
"minimum": 200,
"type": "integer"
},
"targetHash": {
"additionalProperties": false,
"properties": {
"algorithm": {
"const": "sha256",
"type": "string"
},
"digest": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
}
},
"required": [
"algorithm",
"digest"
],
"type": "object"
},
"version": {
"const": "datoka.api.exchange.v1",