Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,534Letters: 13Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:e57625306cc8f305af16bcf940f7cb2978a2e95775d9c46eee98d65375a4d4db
What it is
What a remote MCP server returned when asked what it offers: 4 tools

The blob, as servednamed by its sha256

{ "instructions": "Receipts attest signed declarations, not independently observed HTTP exchanges. Public issuance costs 0.002 USDC when payments are enabled. Preserve event, idempotencyKey AND the original x402 payment payload across retries. A pending payment must not be replaced with a new authorization. EOA EIP-3009 wallets on the advertised network are supported. Start without paying: resources/read datoka-api://demo-receipt then verify_api_receipt with that JSON. Read datoka-api://integration for capture and recoverable purchase instructions. Smithery payment forwarding is not validated; direct HTTP purchase is supported.", "tools": [ { "description": "Return issuer public keys. Establish issuer trust independently before offline verification.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_api_public_keys", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "issuer": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", "type": "string" }, "keys": { "items": { "additionalProperties": false, "properties": { "jwk": { "additionalProperties": false, "properties": { "crv": { "const": "Ed25519", "type": "string" }, "ext": { "type": "boolean" }, "key_ops": { "items": { "type": "string" }, "type": "array" }, "kty": { "const": "OKP", "type": "string" }, "x": { "type": "string" } }, "required": [ "kty", "crv", "x" ], "type": "object" }, "keyId": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", "type": "string" } }, "required": [ "keyId", "jwk" ], "type": "object" }, "type": "array" } }, "required": [ "issuer", "keys" ], "type": "object" } }, { "description": "Buy a portable signed commitment to a declared API exchange when a recipient needs independently verifiable receipt integrity: response handoff, archived decision input, or change investigation. Costs 0.002 USDC per receipt via x402 when enabled; verification is free. A local log may suffice for disposable data. Requires caller-approved budget. Keep event, idempotency key and original payment unchanged on retry. Attests a client declaration, not provider origin, content truth or independent observation.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/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" } ], "description": "SHA-256 of exact application request bytes; null means no body, not an empty body." }, "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" } ], "description": "SHA-256 of exact application response bytes after HTTP decoding. Preserve those bytes; do not reserialize JSON." }, "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, "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", "type": "string" }, "digest": { "pattern": "^[a-f0-9]{64}$", "type": "string" } }, "required": [ "algorithm", "digest" ], "type": "object" }, "version": { "const": "datoka.api.exchange.v1", "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" }, "name": "issue_api_receipt", "outputSchema": null }, { "description": "Free validation before buying a receipt. Supply an event built locally with the SDK from real captured bytes; never fabricate hashes. Returns the commitment without issuing a receipt or paying. Use when retaining verifiable evidence of an API response for a handoff or archive.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/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" } ], "description": "SHA-256 of exact application request bytes; null means no body, not an empty body." }, "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" } ], "description": "SHA-256 of exact application response bytes after HTTP decoding. Preserve those bytes; do not reserialize JSON." }, "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, "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", "type": "string" }, "digest": { "pattern": "^[a-f0-9]{64}$", "type": "string" } }, "required": [ "algorithm", "digest" ], "type": "object" }, "version": { "const": "datoka.api.exchange.v1", "type": "string" } }, "required": [ "version", "attestation", "apiId", "exchangeId", "method", "status", "startedAt", "completedAt", "targetHash", "requestBodyHash", "responseBodyHash", "requestHeadersHash", "responseHeadersHash", "bodyEncoding", "headerEncoding" ], "type": "object" } }, "required": [ "event" ], "type": "object" }, "name": "prepare_api_exchange", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "chain": { "type": "string" }, "commitment": { "additionalProperties": false, "properties": { "algorithm": { "const": "sha256", "type": "string" }, "digest": { "type": "string" }, "encoding": { "const": "jcs", "type": "string" } }, "required": [ "algorithm", "encoding", "digest" ], "type": "object" }, "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" } ], "description": "SHA-256 of exact application request bytes; null means no body, not an empty body." }, "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" } ], "description": "SHA-256 of exact application response bytes after HTTP decoding. Preserve those bytes; do not reserialize JSON." }, "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, "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", "type": "string" }, "digest": { "pattern": "^[a-f0-9]{64}$", "type": "string" } }, "required": [ "algorithm", "digest" ], "type": "object" }, "version": { "const": "datoka.api.exchange.v1", "type": "string" } }, "required": [ "version", "attestation", "apiId", "exchangeId", "method", "status", "startedAt", "completedAt", "targetHash", "requestBodyHash", "responseBodyHash", "requestHeadersHash", "responseHeadersHash", "bodyEncoding", "headerEncoding" ], "type": "object" } }, "required": [ "event", "commitment", "chain" ], "type": "object" } }, { "description": "Free signature and declaration verification. To try before buying, read datoka-api://demo-receipt or /demo/receipt.json and pass the returned JSON here. No wallet needed for public verification. Verifies issuer, scope and event commitment; compare original response bytes locally with the SDK or /verify/.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/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" } ], "description": "SHA-256 of exact application request bytes; null means no body, not an empty body." }, "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" } ], "description": "SHA-256 of exact application response bytes after HTTP decoding. Preserve those bytes; do not reserialize JSON." }, "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, "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", "type": "string" }, "digest": { "pattern": "^[a-f0-9]{64}$", "type": "string" } }, "required": [ "algorithm", "digest" ], "type": "object" }, "version": { "const": "datoka.api.exchange.v1", "type": "string" } }, "required": [ "version", "attestation", "apiId", "exchangeId", "method", "status", "startedAt", "completedAt", "targetHash", "requestBodyHash", "responseBodyHash", "requestHeadersHash", "responseHeadersHash", "bodyEncoding", "headerEncoding" ], "type": "object" }, "receipt": { "additionalProperties": false, "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" }, "name": "verify_api_receipt", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "apiId": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", "type": "string" }, "attestation": { "const": "client_declared", "type": "string" }, "exchangeId": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", "type": "string" }, "receiptId": { "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" }, "scope": { "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$", "type": "string" }, "valid": { "const": true, "type": "boolean" } }, "required": [ "valid", "receiptId", "scope", "apiId", "exchangeId", "attestation" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e57625306cc8f305af16bcf940f7cb2978a2e95775d9c46eee98d65375a4d4db | sha256sum