stampthisfile
Timestamp files in Bitcoin (OpenTimestamps): send a hash, pay per hash with x402, get a proof.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"url": "https://stampthisfile.com/mcp"
}
}
}Remote endpoints
https://stampthisfile.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟡stamp_hashes(hashes, webhook, payment)
Timestamp 1-100 SHA-256 hashes in Bitcoin. Paid per hash with x402: without a payment the tool returns an error whose structuredContent is an x402 PaymentRequired (x402Version 2, exact scheme, USDC on Base). Retry with the same arguments and the signed PaymentPayload in the request's _meta["x402/payment"] (the x402 MCP transport), or, if your client cannot set _meta, in the `payment` argument. The settlement comes back in _meta["x402/payment-response"]. Returns a batch with, per hash, the stamp id, a pending .ots proof (base64: save it now) and its ots_url, plus a receipt signed by us. Invalid input is never charged; retrying with the same payment and arguments returns the same answer without paying twice.
Input Schema
{
"type": "object",
"properties": {
"hashes": {
"type": "array",
"items": {
"type": "string",
"description": "SHA-256 of the file, 64 hex characters"
},
"description": "1-100 SHA-256 hashes, each only once (sha256sum file.pdf, shasum -a 256 file.pdf)"
},
"webhook": {
"description": "Optional webhook; deliveries are always signed with our Ed25519 key (see https://stampthisfile.com/llms.txt)",
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Public https URL that gets one POST when the batch completes or fails"
},
"signing_key": {
"description": "Optional whsec_<base64> for a Standard Webhooks HMAC (v1) signature",
"type": "string"
}
},
"required": [
"url"
]
},
"payment": {
"description": "Only if your client cannot send _meta[\"x402/payment\"]: the x402 PaymentPayload, as an object or base64",
"anyOf": [
{
"type": "string"
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
]
}
},
"required": [
"hashes"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_stamp(id)
Status of one stamp: pending, complete (with the Bitcoin block height and time, and a statement of what it proves) or failed (not confirmed within 7 days). Free.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The stamp id (stp_…), as returned by stamp_hashes"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_proof(id)
The current .ots proof of one stamp, base64. Once get_stamp says complete, fetch it again: the complete proof carries the Bitcoin attestation and can be verified by anyone, without us. Save it next to the file as <file>.ots. Free.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "The stamp id (stp_…), as returned by stamp_hashes"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_proof(hash, ots)
Check an OpenTimestamps proof (from us or anyone) against the SHA-256 of a file. Returns valid with status complete (Bitcoin block and the time the file existed by), valid with status pending (not in Bitcoin yet), or invalid with a reason. A pending proof whose calendars have since committed it comes back complete with `upgraded: true` and the completed proof in `ots` (base64): save it in place of the pending one. Nothing is stored. Free.
Input Schema
{
"type": "object",
"properties": {
"hash": {
"type": "string",
"description": "SHA-256 of the file, 64 hex characters"
},
"ots": {
"type": "string",
"description": "The .ots proof, base64"
}
},
"required": [
"hash",
"ots"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence