changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "properties": {
+ "data": {
+ "description": "The receipt kit: everything an agent needs to prove a hash was timestamped, without ever holding the original file. Save this alongside the original file, as it is the MCP equivalent of the browser's forced certificate download.",
+ "properties": {
+ "blockchain": {
+ "description": "Present only once status is 'submitted' and a transaction hash exists.",
+ "properties": {
+ "block_height": {
+ "description": "Decimal block number the transaction was mined in.",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "contract_address": {
+ "description": "The TimestampRegistry contract address that storeHash(bytes32) was called on.",
+ "type": "string"
+ },
+ "explorer_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "network": {
+ "type": "string"
+ },
+ "tx_hash": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "created_at": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "custody_status": {
+ "description": "Custody tier (BLUEPRINT.md). MVP is self-custody only. The client is responsible for keeping this receipt with the original file.",
+ "enum": [
+ "self_custody"
+ ],
+ "type": "string"
+ },
+ "disclose_identity": {
+ "description": "Whether this specific timestamp's certificate/manifest/verify page discloses the account's name and email together, or withholds both. Frozen at creation time. Does not change retroactively if the account's default preference changes later.",
+ "type": "boolean"
+ },
+ "file": {
+ "properties": {
+ "hash": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "original_name": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "size": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "id": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "origin_channel": {
+ "description": "Set to 'mcp_agent' when this item was created via an MCP agent key.",
+ "enum": [
+ "mcp_agent",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "public_verify_url": {
+ "description": "Human-viewable, Cloudflare Turnstile-protected confirmation page. Hand this to the human to open in their own browser. Do not fetch it programmatically, as it is not meant for agent traffic and will likely be blocked.",
+ "format": "uri",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "receipt_data": {
+ "description": "Structured receipt payload (shape varies: includes identity_claim block also surfaced publicly via verify_certificate).",
+ "type": "object"
+ },
+ "status": {
+ "enum": [
+ "pending",
+ "submitted",
+ "failed"
+ ],
+ "type": "string"
+ },
+ "verification_instructions": {
+ "description": "Step-by-step instructions for an agent to independently confirm the timestamp using only public blockchain data (recompute the hash locally, fetch the transaction, decode its calldata). Requires no trust in spArxx.io beyond the public chain itself. Present only once blockchain data is available.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+}