← The evidence ledger
Evidence row 780508
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 754e55ee-f58e-48ec-95f9-653a73f5135c
- Recorded
- Previous row
- #737214
- Body SHA-256
- 9084b05dc08c09930ba8ff15f623638b7229ab851cef1b6e54b6dc07fc2bfff9
- Leaf
- 0xbc17f301e08a8efd84c5203f69f2afef88bfe318569b24fe60484bfc5cf7c5e5
What was observed
{
"count": 5,
"tools": [
{
"description": "Cancel an eligible purchase at its current revision. Before payment, only whole-purchase cancellation is supported: omit card_ids. After payment, supply returned card_ids to cancel only eligible items, or omit them for the whole eligible purchase. The service verifies ownership and each fulfillment cutoff, and returns actual refund state. Requires the parent order_id and private order_access_token.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"card_ids": {
"description": "Omit to cancel the whole eligible purchase. For a paid purchase, list the returned card IDs to cancel only those eligible items. The service verifies every ID belongs to this order.",
"items": {
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"type": "string"
},
"maxItems": 500,
"minItems": 1,
"type": "array"
},
"expected_revision": {
"exclusiveMinimum": 0,
"maximum": 2147483646,
"type": "integer"
},
"order_access_token": {
"description": "Private purchase capability. Keep it secret; never put it in a public URL or log.",
"pattern": "^[A-Za-z0-9_-]{43}$",
"type": "string"
},
"order_id": {
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"type": "string"
}
},
"required": [
"order_id",
"order_access_token",
"expected_revision"
],
"type": "object"
},
"name": "cancel_order"
},
{
"description": "Prepare one unpaid purchase of 1–500 cards, mixed across any occasions, designs, formats, messages, recipients and dates. One card uses the same cards array. Returns the order and its card records, the exact sum of current per-card prices, one review_url for buyer review and payment, and a private order_access_token. Optional per-card previews are available on the review page. No charge or mailing is authorized here. The 500-card/4-MiB bounds are technical request limits. Use a caller-generated UUID request_id. Omit order_access_token on the first call so Paddock securely generates and returns it; preserve the returned token privately. Never invent or type a random-looking token. Retry the same request_id only with the exact token and unchanged cards. If the first response is lost before saving the server-generated token, use a new request_id for another unpaid purchase. Only clients with a cryptographic random generator may optionally pre-generate and privately store 32 random bytes encoded as 43 base64url characters for first-response recovery. Validation issues identify zero-based card indices without copying private content.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"cards": {
"description": "One purchase containing 1–500 explicit card compositions in their supplied order. Mix any supported designs, formats, messages, recipients, occasions and dates. Do not group purchases by occasion. One card uses this same array.",
"items": {
"additionalProperties": false,
"description": "One manual guest card. Each card may have its own artwork, format, message, recipient, optional occasion and timing. Existing destination/calendar rules apply. No member, Property, recipient, card or calendar-event IDs.",
"properties": {
"design_key": {
"maxLength": 160,
"minLength": 1,
"type": "string"
},
"design_version": {
"exclusiveMinimum": 0,
"maximum": 2147483646,
"type": "integer"
},
"format": {
"description": "Postcard, flat card in an envelope, or folded card in an envelope. Omit to select flat_card_in_envelope.",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
],
"type": "string"
},
"include_paddock_gift": {
"type": "boolean"
},
"message": {
"description": "Body of the personal message, at most 2000 Unicode characters. Paddock prints the greeting \"Dear {greeting_name or display_name},\" above it automatically, so do not start the message with a salutation. Printed artwork wording is separate.",
"maxLength": 4000,
"type": "string"
},
"message_font": {
"enum": [
"serif",
"sans_serif",
"old_school",
"handwriting"
],
"type": "string"
},
"occasion": {
"additionalProperties": false,
"description": "Optional occasion and timing context, independent of the selected artwork. Omit for an ordinary just-because card.",
"properties": {
"calendar": {
"const": "us-western-v1",
"type": "string"
},
"day": {
"maximum": 31,
"minimum": 1,
"type": "integer"
},
"kind": {
"description": "Exact catalog occasion ID, such as birthday, thank_you or just_because. Use just_because with send_on for a one-time mailing date. Use underscores, not display labels or hyphens.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"month": {
"maximum": 12,
"minimum": 1,
"type": "integer"
},
"send_on": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"required": [
"kind",
"calendar"
],
"type": "object"
},
"recipient": {
"additionalProperties": false,
"properties": {
"address_confirmed": {
"const": true,
"type": "boolean"
},
"anniversary_day": {
"maximum": 31,
"minimum": 0,
"type": "integer"
},
"anniversary_month": {
"maximum": 12,
"minimum": 0,
"type": "integer"
},
"birthday_day": {
"default": 0,
"maximum": 31,
"minimum": 0,
"type": "integer"
},
"birthday_month": {
"default": 0,
"maximum": 12,
"minimum": 0,
"type": "integer"
},
"birthday_year": {
"anyOf": [
{
"maximum": 9999,
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
]
},
"display_name": {
"description": "Name on the envelope or address panel.",
"maxLength": 240,
"type": "string"
},
"greeting_name": {
"description": "Name printed in the automatic greeting, such as Ida for \"Dear Ida,\". Defaults to display_name.",
"maxLength": 240,
"type": "string"
},
"mailing_address": {
"additionalProperties": false,
"properties": {
"country_code": {
"pattern": "^[A-Z]{2}$",
"type": "string"
},
"line1": {
"maxLength": 320,
"type": "string"
},
"line2": {
"default": "",
"description": "Optional second line, such as an apartment or suite. Omitted means empty.",
"maxLength": 320,
"type": "string"
},
"locality": {
"maxLength": 320,
"type": "string"
},
"postal_code": {
"maxLength": 48,
"type": "string"
},
"region": {
"maxLength": 160,
"type": "string"
}
},
"required": [
"line1",
"locality",
"region",
"postal_code",
"country_code"
],
"type": "object"
},
"origin": {
"const": "manual",
"type": "string"
}
},
"required": [
"display_name",
"mailing_address",
"address_confirmed",
"origin"
],
"type": "object"
},
"return_address": {
"additionalProperties": false,
"properties": {
"display_name": {
"maxLength": 240,
"type": "string"
},
"mailing_address": {
"additionalProperties": false,
"properties": {
"country_code": {
"pattern": "^[A-Z]{2}$",
"type": "string"
},
"line1": {
"maxLength": 320,
"type": "string"
},
"line2": {
"default": "",
"description": "Optional second line, such as an apartment or suite. Omitted means empty.",
"maxLength": 320,
"type": "string"
},
"locality": {
"maxLength": 320,
"type": "string"
},
"postal_code": {
"maxLength": 48,
"type": "string"
},
"region": {
"maxLength": 160,
"type": "string"
}
},
"required": [
"line1",
"locality",
"region",
"postal_code",
"country_code"
],
"type": "object"
},
"source_kind": {
"const": "manual",
"type": "string"
}
},
"required": [
"display_name",
"mailing_address",
"source_kind"
],
"type": "object"
}
},
"required": [
"design_key",
"design_version",
"message",
"recipient"
],
"type": "object"
},
"maxItems": 500,
"minItems": 1,
"type": "array"
},
"order_access_token": {
"description": "Omit on the first call so Paddock securely generates and returns the private token. Never invent or type a random-looking token. On retries use the exact returned token, same request_id and unchanged cards. Only clients with a cryptographic random generator may pre-generate 32 random bytes encoded as 43 base64url characters for first-response recovery. Existing purchase capabilities cannot be replaced.",
"pattern": "^[A-Za-z0-9_-]{43}$",
"type": "string"
},
"request_id": {
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"type": "string"
}
},
"required": [
"request_id",
"cards"
],
"type": "object"
},
"name": "prepare_order"
},
{
"description": "Read a private purchase and its order.cards using the parent order_id and order_access_token. Payment, per-card production and mailing are distinct states.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"order_access_token": {
"description": "Private purchase capability. Keep it secret; never put it in a public URL or log.",
"pattern": "^[A-Za-z0-9_-]{43}$",
"type": "string"
},
"order_id": {
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"type": "string"
}
},
"required": [
"order_id",
"order_access_token"
],
"type": "object"
},
"name": "read_order"
},
{
"description": "Optionally report a technical problem, suggestion category or neutral successful outcome using fixed choices. Never required to buy a card. Do not include personal content, credentials, links, conversations or hidden reasoning. Reports are unverified feedback, not proof of payment or mailing.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"category": {
"enum": [
"no_suitable_card",
"irrelevant_results",
"unclear_result",
"preview_unavailable",
"request_rejected",
"slow_response",
"unexpected_error",
"recovery_failed",
"broader_selection",
"clearer_results",
"better_recovery",
"simpler_checkout",
"faster_responses",
"better_documentation",
"completed_as_expected"
],
"type": "string"
},
"code": {
"default": "none",
"description": "Reported public error code only; no provider error text.",
"enum": [
"none",
"INVALID_REQUEST",
"CARD_VALIDATION_FAILED",
"NOT_FOUND",
"CONFLICT",
"GONE",
"CATALOG_ARTWORK_UNAVAILABLE",
"CARD_SAMPLE_ACCEPTANCE_REQUIRED",
"CARD_ARTWORK_ACCEPTANCE_REQUIRED",
"ARTIST_PRINT_SETUP_REQUIRED",
"DESTINATION_INVALID",
"DESTINATION_SUSPENDED",
"DESTINATION_REVIEW_REQUIRED",
"MESSAGE_DOES_NOT_FIT",
"RETURN_ADDRESS_REQUIRED",
"PRICE_CHANGED",
"QUOTE_EXPIRED",
"PAYMENT_UNAVAILABLE",
"CHECKOUT_UNAVAILABLE",
"CANCELLATION_NOT_ALLOWED",
"REFUND_NOT_ELIGIBLE",
"SERVICE_PAUSED",
"TRY_LATER",
"UNAVAILABLE"
],
"type": "string"
},
"field": {
"default": "none",
"description": "Reported field name only; never its value.",
"enum": [
"none",
"design_key",
"design_version",
"format",
"message",
"recipient.mailing_address",
"return_address",
"occasion",
"price",
"printed_text",
"availability",
"preview"
],
"type": "string"
},
"kind": {
"enum": [
"problem",
"suggestion",
"success"
],
"type": "string"
},
"operation": {
"enum": [
"search_cards",
"prepare_order",
"read_order",
"cancel_order",
"checkout",
"connection",
"documentation"
],
"type": "string"
},
"severity": {
"enum": [
"none",
"minor",
"major",
"blocked"
],
"type": "string"
}
},
"required": [
"kind",
"operation",
"category",
"severity"
],
"type": "object"
},
"name": "report_feedback"
},
{
"description": "Find currently available ordinary and artist cards by occasion, tone, format, artist or budget. Returns three concise matches by default; use next_cursor for more. Public browsing needs no account or key.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"artist": {
"maxLength": 120,
"type": "string"
},
"cursor": {
"pattern": "^(?:\\d{1,6})?$",
"type": "string"
},
"format": {
"description": "Postcard, flat card in an envelope, or folded card in an envelope. Omit to select flat_card_in_envelope.",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
],
"type": "string"
},
"humor": {
"enum": [
"any",
"none",
"light",
"playful",
"funny"
],
"type": "string"
},
"kind": {
"enum": [
"any",
"standard",
"artist"
],
"type": "string"
},
"limit": {
"default": 3,
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"max_price_cents": {
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"occasion": {
"maxLength": 100,
"type": "string"
},
"printed_text_contains": {
"description": "Required phrase in verified artwork lettering, matched without case sensitivity. This does not search the customizable message.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"query": {
"maxLength": 300,
"type": "string"
},
"require_printed_text": {
"description": "Filter verified wording already printed in the artwork. Unknown wording does not match absent or present.",
"enum": [
"any",
"absent",
"present"
],
"type": "string"
},
"tone": {
"description": "Mood such as warm, cheerful, elegant or gentle. For funny cards, use humor instead.",
"maxLength": 40,
"type": "string"
}
},
"type": "object"
},
"name": "search_cards"
}
]
}What the leaf hashes
{"body":"9084b05dc08c09930ba8ff15f623638b7229ab851cef1b6e54b6dc07fc2bfff9","id":780508,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793204922291017,"prev":737214,"subject":"754e55ee-f58e-48ec-95f9-653a73f5135c","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (231336 rows).
- 0xbc180bcde9e746b65ec0e6ccc0ab043748aca76e2693320927761e57fc202d9d
- 0x5462e6528f91803b8f6f8813d84ade6813866cb7f91fc2f962aeae7caf06757d
- 0xac1637accc2f0ff9dc03a83811e90fef58db342e1ecde5cf263028f5184ac34c
- 0x4bad48c2bc1f8e5d39c08499b7f20163b3b7ba2d6c45dee48dc527e4fdaf515f
- 0x5b3dfc851d24751272ee66f6f89d654afe1ef3716ca441e81edbb58534895667
- 0xb468f8e3048e78141443d309085d67b240aa26e7f4115b5e0f6753cd94af2e43
- 0x723dd9366944c85a738bc85656d64da3866450e6fbe1156e617c573d5ee62d7e
- 0x9fe7fad2b25b02eb53fa2b214c899dc7591427ed0e1dcc5ec0e2872a710823c0
- 0x4c7f097041fea5df5726ab4f306ba9221b999ed694e89ef927ee3989a14a36f4
- 0x4a6f0b06de92af42186e7e9a61eab4432fb6cddd63344d9e390ca196b66615eb
- 0xdc17d09d616964f6d4ff09478ef10d80d1749cd342c52a13a766eb0e24872a7d
- 0xa42249b090ae432aa9ec0f4e12cf99fad33a8413dd4f3af6b68755cb14247205
- 0x744c716c853a3362037fdca13f258e5f46e796ddc212d5fca6bed32d9a3b234a
- 0xbff5cb8c10a36d79ad312f3729888eb704e81907920e704f80c8e5b670139050
- 0xc21e7661f5d6220994a88cc71b1262eeee3b912a2d383d18f38a631c534bfd71
- 0x32beeeb960280bc48748681cb10297ede9403461fe9c8143fdf946548e552926
- 0xe08e8bd91858a8a10c46ecde9c29a6288b960987303173c5e882afb46ce91fa0
- 0xe6cfe00ae4e02bc12327e45b5f3334ea5850ba3bcc8e3101d30a8189856a95af
- Day root
- 0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
- Chained
- 0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
- Published
- On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae