kairostamp.com
Receipt verification: read-only hash-chain verification of one existing Kairostamp receipt id. Recomputes the canonical SHA-256 digest, compares it with the stored chain hash, checks linkage to the preceding entry and reports whether the entry is covered by an on-chain checkpoint. Performs no outbound fetch. Single GET query parameter (receipt_id).
The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.
Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.
Live 402 challenge
Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.
{
"error": "Payment required",
"accepts": [
{
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"extra": {
"name": "USDC",
"version": "2"
},
"payTo": "0xdB6F694aE695C632C82677a50593B46137808453",
"amount": "5000",
"scheme": "exact",
"network": "eip155:84532",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://kairostamp.com/api/v1/verify"
},
"extensions": {
"builder-code": {
"info": {
"s": [
"cdp_sdk_server"
]
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"a": {
"type": "string",
"pattern": "^[a-z0-9_]{1,32}$",
"description": "App builder code"
},
"s": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9_]{1,32}$"
},
"maxItems": 11,
"description": "Service builder codes"
},
"w": {
"type": "string",
"pattern": "^[a-z0-9_]{1,32}$",
"description": "Wallet builder code"
}
},
"additionalProperties": false
}
},
"eip2612GasSponsoring": {},
"erc20ApprovalGasSponsoring": {}
},
"x402Version": 2,
"kairostamp_help": {
"docs": "https://kairostamp.com/docs",
"terms": {
"path": "/api/v1/verify",
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"price": "$0.005",
"method": "GET",
"pay_to": "0xdB6F694aE695C632C82677a50593B46137808453",
"network": "eip155:84532",
"testnet": true,
"resource": "https://kairostamp.com/api/v1/verify",
"amount_atomic": 5000,
"network_label": "base-sepolia",
"max_timeout_seconds": 300
},
"reason": "no_payment_offered",
"scheme": "exact",
"example": "curl -sS \"https://kairostamp.com/api/v1/verify?url=https://example.com\" -H \"PAYMENT-SIGNATURE: <base64 x402 exact payload>\"",
"summary": "This endpoint is machine-payable. Pay the exact terms below, or take the free trial call first.",
"version": 2,
"protocol": "x402",
"discovery": {
"mcp": "https://kairostamp.com/mcp",
"openapi": "https://kairostamp.com/openapi.json",
"llms_txt": "https://kairostamp.com/llms.txt",
"agent_card": "https://kairostamp.com/.well-known/agent-card.json"
},
"free_trial": {
"note": "Send the returned token in the X-Kairostamp-Trial header on any GET /api/v1/* endpoint.",
"claim": "curl -sS -X POST https://kairostamp.com/api/public/trial -H \"Content-Type: application/json\" -d '{\"wallet\":\"0xYourWallet\"}'",
"description": "One free call per wallet address, forever. No payment required.",
"spend_header": "X-Kairostamp-Trial"
},
"how_to_pay": [
"Read the PAYMENT-REQUIRED header (base64 JSON) or the \"accepts\" array in this body.",
"Sign an EIP-3009 \"exact\" authorization for $0.005 0x036CbD53842c5426634e7929541eC2318f3dCF7e on base-sepolia (eip155:84532) to 0xdB6F694aE695C632C82677a50593B46137808453.",
"Base64-encode the x402 v2 payment payload and resend the same request with the PAYMENT-SIGNATURE header.",
"The response is returned only after the payment settles; a platform or target failure is never charged."
],
"payment_header": "PAYMENT-SIGNATURE",
"common_mistakes": [
"Wrong header name: use \"PAYMENT-SIGNATURE\" (x402 v2). Legacy \"X-PAYMENT\" is accepted only for compatibility.",
"Header value must be base64 of the JSON payment payload — not raw JSON, not 0x-hex, not a bare signature.",
"The signed amount must equal the advertised atomic amount exactly; over- and under-payment are both rejected.",
"The signed network must match the advertised network id exactly (CAIP-2 form, e.g. eip155:8453).",
"payTo must be the advertised address; a payment to any other address is not credited.",
"Authorizations expire: re-sign if more than 300 seconds have passed since validAfter.",
"Send the payment on the same request as the parameters — a bare payment with no ?url= is rejected before settlement."
]
}
}Accepts
The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.
Pay 0.001 USDC on Base to 0xdB6F…08453. The signed payment is good for 5 minutes.
- Paid to
- 0xdB6F…08453
- USD Coin contract
- 0x8335…02913
- Payment window
- 5 minutes
- As published
- 1000 smallest units
The catalog’s raw entry
[
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xdB6F694aE695C632C82677a50593B46137808453",
"amount": "1000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
}
]Extensions
{
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"receipt_id": "85cd424c-b68b-440e-8f4f-e02147799f30"
}
},
"output": {
"type": "json",
"example": {
"chain": {
"linked": true,
"chain_seq": 12,
"chain_hash": "d084fff3e5d852089814f7d4d3ffe9d04d1a39ce9d2e0573a95f24cf78fb584d",
"previous_chain_hash": "da27fe24efc04330962d1b95c7929a9de901ad0ea49a7997edf9f2731bf88def"
},
"codes": [],
"anchor": {
"note": "Checkpoints record a chain hash only; anchoring is not a guarantee of availability, accuracy or legal effect.",
"status": "confirmed",
"covered": true,
"network": "eip155:84532",
"chain_seq": 14
},
"exists": true,
"method": "recomputed_digest",
"verdict": "valid",
"receipt_id": "85cd424c-b68b-440e-8f4f-e02147799f30"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"examples": [
{
"receipt_id": "85cd424c-b68b-440e-8f4f-e02147799f30"
}
],
"required": [
"receipt_id"
],
"properties": {
"receipt_id": {
"type": "string",
"format": "uuid",
"examples": [
"85cd424c-b68b-440e-8f4f-e02147799f30"
],
"description": "Identifier of a receipt previously returned by a Kairostamp paid endpoint. Sent as the `receipt_id` query parameter."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"receipt_id",
"exists",
"verdict",
"chain"
],
"properties": {
"chain": {
"type": "object",
"required": [
"chain_seq",
"chain_hash",
"previous_chain_hash",
"linked"
],
"properties": {
"linked": {
"type": [
"boolean",
"null"
],
"description": "True when the stored previous hash matches the preceding entry."
},
"chain_seq": {
"type": "integer"
},
"chain_hash": {
"type": [
"string",
"null"
]
},
"previous_chain_hash": {
"type": [
"string",
"null"
]
}
}
},
"codes": {
"type": "array",
"items": {
"type": "string"
}
},
"anchor": {
"type": "object",
"required": [
"covered"
],
"properties": {
"note": {
"type": "string"
},
"status": {
"type": [
"string",
"null"
]
},
"covered": {
"type": "boolean",
"description": "True when a checkpoint covers this entry."
},
"network": {
"type": [
"string",
"null"
]
},
"chain_seq": {
"type": [
"integer",
"null"
]
}
}
},
"exists": {
"type": "boolean"
},
"method": {
"type": "string",
"description": "Verification method used."
},
"verdict": {
"enum": [
"valid",
"invalid",
"indeterminate",
"quarantined_legacy"
],
"type": "string",
"description": "Result of recomputing the canonical digest for this entry."
},
"receipt_id": {
"type": "string",
"format": "uuid"
}
}
}
}
}
}
}
},
"builder-code": {
"info": {
"s": [
"cdp_sdk_server"
]
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"a": {
"type": "string",
"pattern": "^[a-z0-9_]{1,32}$",
"description": "App builder code"
},
"s": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9_]{1,32}$"
},
"maxItems": 11,
"description": "Service builder codes"
},
"w": {
"type": "string",
"pattern": "^[a-z0-9_]{1,32}$",
"description": "Wallet builder code"
}
},
"additionalProperties": false
}
},
"eip2612GasSponsoring": {},
"erc20ApprovalGasSponsoring": {}
}Provenance
- Seen in the source catalog
- 2026-08-23 09:07Z
- Last indexed by Roundhouse
- 2026-09-22 08:40Z
- Last enriched (probe, favicon, geo)
- 2026-09-10 01:45Z
- x402 version
- 2
- Max timeout
- 300s
- Liveness probe
- HTTP 402
Hand this page to an agent
Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.
GET api.roundhouseai.io/v0/endpoints
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 30 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.
Show the promptHide the prompt
Using Roundhouse, look up the x402 service kairostamp.com and tell me whether it is worth paying: what a call costs, whether the endpoint answered when last probed, and what its payment record actually shows. curl -s 'https://api.roundhouseai.io/v0/endpoints?q=kairostamp.com' curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>' Then call it: read the price from the live 402 at https://kairostamp.com/api/v1/verify, never from a cached figure, and pay with an x402 client. The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except /v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402, or use an organization key from https://roundhouseai.io/dashboard/team. If you do not have Roundhouse tools or skills installed, read https://roundhouseai.io/skill.md first — it is the whole procedure.