Skip to main content
Glama

Third-Party Observation

buy_observation

Commission a signed observation from an independent observatory to verify payments, endpoints, or transaction facts. Choose the item that fits your need and receive a verifiable attestation.

Instructions

Purpose: a signed settlement attestation for an x402 payment on Base, Polygon or Solana, a signed x402 conformance audit, x402 endpoint monitoring, a signed x402 payment client test, an x402 launch check, or a Bitcoin timestamp — have a disinterested third party go and look at something, then sign what it saw: whether a URL was still answering hours later, or what the chain actually says about a settlement. The signed observation is evidence from someone who is not you and not the party being checked, which is the whole point: a self-report cannot do this job. Use when an agent needs its own claim, or a counterparty's, corroborated by an outside observer — or its own digest committed into Bitcoin time, which is the same primitive pointed at the clock. Prices run $0.001 to $49 depending on item_id.

Items on this shelf (pass one as item_id):

  • settlement_attestation: Settlement Attestation, $0.004 fixed, one-off, instant. Prove to a third party that a payment actually settled on chain

  • settlement_reconciliation: Settlement Reconciliation, $0.006 fixed, one-off, instant. Observe an agent payment's USDC movement against an attributable fixed value or a declared ceiling, stating when no cap is observable

  • the_case_file: The Case File, $0.25 fixed, one-off, instant. Hand the person deciding what went wrong with one agent purchase everything a neutral party observed about it, in one signed file, with what it did not observe stated

  • attestation_bundle: A Sheaf of Attestations, $0.05 fixed, one-off, instant. Prove a whole run of payments settled, one signed receipt per transaction

  • standing_watch: The Night Watch, $5 fixed, covering a 7-day term, one payment, instant. Monitor my x402 endpoint hourly for a week with signed uptime history

  • service_audit: The Once-Over, $5 fixed, one-off, instant. Get a signed point-in-time audit of an x402 endpoint that I can hand to a third party

  • a2a_repair_kit: The A2A Repair Kit, $49 fixed, one-off, instant. Find reproducible failures in my A2A agent and hand my developer tested repair instructions

  • good_buyer: The Good Buyer, $0.99 fixed, one-off, instant. Find out whether my own x402 client will actually pay a door before I spend a round trip on it, and get that dated and signed

  • conformance_watch: The Conformance Watch, $5 fixed, covering a 7-day term, one payment, instant. Catch a deploy quietly breaking my x402 endpoint's payment challenge during the week

  • signature_agent_card: The Calling Card, $0.99 fixed, one-off, instant. Show origins my crawler's Web Bot Auth key directory is set up right, with somebody who is not me saying so

  • onpage_audit: The Shop Window, $3 fixed, one-off, instant. Get a signed readout of what my page actually serves a machine reader — title, metadata, structured data — that I can hand to a third party

  • launch_check: The Launch Check, $5 fixed, one-off, instant. See my x402 buy path the way a real paying buyer sees it — a genuine settlement attempt, stage by stage, signed

  • opening_day: The Opening Day, $9 fixed, covering a 7-day term, one payment, instant. Open my x402 endpoint properly — one real purchase attempt, a week of signed daily checks, and my passport page, under one certificate at one URL

  • provenance_check: The Company an Address Keeps, $5 fixed, one-off, instant. Learn which doors have advertised a receiving address and when, signed from the public chain, before routing money at it — or about my own address, free, once proved

  • the_statement: The Statement, $0.99 fixed, one-off, instant. Get a neutral signed record of everything my agent's wallet actually moved on chain, to audit against its own ledger

  • operator_statement: The Operator's Statement, $21 fixed, covering a 30-day term, one payment, instant. Have my receiving address read off the chain four times a day for a month by a party that is not me — who paid, how many, how much — signed pass by pass

  • the_mandate: The Mandate, $0.1 fixed, one-off, instant. Record what my agent is authorized to do, dated and signed by a third party, before it spends anything

  • bitcoin_anchor: A Bitcoin Anchor, $1 fixed, one-off, instant. Timestamp my own digest into Bitcoin so its existence is provable forever

  • passport_refresh: The Refresh, $1 fixed, one-off, instant. Turn my endpoint passport fresh again right now — a new census observation of my door, without waiting for Sunday's walk

  • trust_profile: The Hosted Profile, $21 fixed, covering a 30-day term, one payment, instant. Give my endpoint a standing evidence page at a neutral third party's domain — my passport, chip and history at one URL I can hand to anyone

  • spot_check: Spot Check, $0.001 fixed, one-off, instant. Ask what the observatory already knows about an x402 host — signed, from its books, before I spend anything at that door

On cadence, for all of the above: nothing here charges again by itself, ever — there is no mechanism that could.

Required beyond item_id: settlement_attestation needs tx_hash; settlement_reconciliation needs tx_hash; the_case_file needs tx_hash; attestation_bundle needs tx_hashes; standing_watch needs url; service_audit needs url; a2a_repair_kit needs url; good_buyer needs url; conformance_watch needs url; signature_agent_card needs url; onpage_audit needs url; launch_check needs url; opening_day needs url; provenance_check needs address; the_statement needs wallet; operator_statement needs wallet; the_mandate needs mandate; bitcoin_anchor needs digest; passport_refresh needs url; trust_profile needs url; spot_check needs host. Other items need only item_id.

Choose item_id. instant items return deliverable, cert_id and patron_number in one call. x402 payment: _meta['x402/payment']. Without payment: error 402 with the terms in error.data. Closed or empty shelves refuse before quoting. Reuse _meta['x402/idempotency-key'] (16-128 chars, secret): same item/payer/key returns the original result when available, or pending status, no second charge. Use idempotency.suggested_key only without an earlier key. A fresh payment without a key can charge again. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoOptional. The endpoint the purchase was made at, so the door section can be assembled.
hostNoA bare hostname, e.g. example.com. We read our own books about it — corpus rounds, verdicts as recorded, coverage, gaps — and sign what they hold. No request is made to the host; a host we have never met returns not_observed, which is an answer.
claimNoOptional. Your own account of what happened, stored verbatim and marked declared. Never checked.
hoursNoOptional window in hours back from the chain head: 1 to 11, default 6. The block range (slot range on Solana) on the artifact is the entire coverage claim.
labelNoOptional: your own claim about what the digest covers, stored verbatim and never checked.
nonceNoOptional, EVM rails only. Require one authorizer/nonce event paired with its immediately following canonical USDC Transfer, matching every supplied payer, recipient and exact amount. Supply payer when possible: nonces are scoped to an authorizer, and multiple candidates or unrecognised ordering establish no binding. Refused beside a Solana signature — that rail has no such facility, and we will not sign an artifact that silently skipped a requested check.
payerNoOptional payer: 0x EVM address, or Solana public key for a Solana transaction.
digestNosha256 of bytes you keep, 64 hex characters, no 0x prefix. The store never sees the bytes.
walletNoThe wallet to state: a 0x address on the selected EVM network, a base58 pubkey on Solana. Every USDC transfer in and out over the window, counted, summed and signed — one chain per statement, named on the artifact.
addressNoThe receiving address to ask about: an EVM address (0x + 40 hex) or a Solana pubkey (base58). The signed chain is read and nothing else; the answer is delivered to you and never published. Your own address is free once proved — GET /api/provenance/self.
item_idYesWhich item on this shelf to buy. Required. Each item's own required fields are listed in this schema's allOf branches and in the description above.
mandateNoThe claimed instructions, verbatim, up to 2000 Unicode characters: what this agent is authorized to do, as the submitter claims it. Recorded exactly as it arrives, signed and dated. Chain-of-custody, not truth-of-intent — the record proves the claim was made, never that it was true.
max_usdNoOptional finite nonnegative decimal. Your client's spendControls.maxAmountPerPayment, in dollars; zero is retained. Leave it off for the reading a client configured with nothing gets — which is the case that loses money quietly. Recorded as your declaration, never verified.
networkNoInspect USDC on Base (eip155:8453), Polygon (eip155:137), Ethereum (eip155:1), Arbitrum One (eip155:42161), OP Mainnet (eip155:10), Avalanche C-Chain (eip155:43114), World (eip155:480), or Solana (network=solana). Base is the default. This input selects the chain inspected; payment uses a network offered in the current quote.
purposeNoOptional: what this purchase is for, in your words. Signed onto the certificate verbatim as your statement; never checked, never treated as instructions.
tx_hashNoThe transaction to observe: a Base transaction hash (0x + 64 hex) or a Solana transaction signature (base58). The identifier's shape selects the chain. Read once, at one moment; never polled.
recipientNoOptional recipient: 0x EVM address, or Solana public key for a Solana transaction.
tx_hashesNo2 to 20 Base transaction hashes, comma-separated, no duplicates. Each is read once at one moment and signed on its own; never polled. One hash wants the single settlement_attestation instead.
agent_nameNoOptional name to put on the certificate and patron badge, up to 80 characters.
expires_atNoOptional claimed expiry, ISO 8601. Declared, never enforced by the store.
mandate_idNoOptional. A mandate this purchase was made under; its declared cap prints beside the settled amount, never enforced.
amount_usdcNoOptional. Require a transfer of exactly this many USDC. Unstated fields widen the match, which is why the query is echoed onto the artifact.
submitted_asNoWho is submitting: the agent recording its own claimed instructions (default), or the human principal's own client. Recorded as a claim either way.
launch_check_idNoOptional. A launch check you hold about the same door, for the delivery section.
payment_payloadNoOptional. The base64 PAYMENT-SIGNATURE you sent, verbatim. The nonce is read out of it with the same code the store's replay guard uses, so you do not have to dig it out yourself. Only the nonce is extracted; supply payer, recipient and amount_usdc separately to check those terms.
payment_responseNoOptional. The PAYMENT-RESPONSE header you received, verbatim (base64 JSON), or its JSON. Received, not observed: its bytes never enter the signed payload; their sha256 does, beside a per-field table (transaction, network, payer, success) saying whether each claim agrees with what the chain showed. The bytes are echoed outside the signature so you can check both.
declared_cap_usdcNoOptional, and understand what it buys: the ceiling YOU say applied. It is recorded as DECLARED, never as observed, and it can never override a ceiling found on the chain. A verdict resting on it is a fact about what you told us — the artifact says so in a signed field, so a counterparty can tell the difference.
no_spend_controlsNoOptional: "true" for spendControls: false, "false" for enabled controls, or empty to omit. Declared, never verified.
expected_amount_usdcNoOptional positive USDC amount claimed for this purchase.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cert_idYesThe signed certificate's id.
messageNoThe store's confirmation line.
tip_usdcNoAnything above the minimum.
badge_urlNoYour patron badge, SVG.
paid_usdcNoWhat settled, in USDC.
signatureNoed25519 signature over the certificate.
verify_urlNoCheck the signature here any time, free.
deliverableNoThe goods themselves, as text. Instant items.
patron_numberYesYour sequential patron number.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed32 schema fields changedv1.0.1
    • changedInput schema / allOf
      Previous value: -[
      -  {
      -    "if": {
      -      "properties": {
      -        "item_id": {
      -          "const": "phantom_check"
      -        }
      -      },
      -      "required": [
      -        "item_id"
      -      ]
      -    },
      -    "then": {
      -      "required": [
      -        "url"
      -      ]
      -    }
      -  }
      -]New value: +[
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "settlement_attestation"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "tx_hash"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "settlement_reconciliation"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "tx_hash"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "the_case_file"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "tx_hash"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "attestation_bundle"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "tx_hashes"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "standing_watch"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "service_audit"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "a2a_repair_kit"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "good_buyer"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "conformance_watch"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "signature_agent_card"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "onpage_audit"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "launch_check"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "opening_day"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "provenance_check"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "address"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "the_statement"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "wallet"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "operator_statement"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "wallet"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "the_mandate"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "mandate"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "bitcoin_anchor"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "digest"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "passport_refresh"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "trust_profile"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "url"
      +      ]
      +    }
      +  },
      +  {
      +    "if": {
      +      "properties": {
      +        "item_id": {
      +          "const": "spot_check"
      +        }
      +      },
      +      "required": [
      +        "item_id"
      +      ]
      +    },
      +    "then": {
      +      "required": [
      +        "host"
      +      ]
      +    }
      +  }
      +]
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "item_id": "settlement_attestation",
      +    "tx_hash": "0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0"
      +  },
      +  {
      +    "item_id": "settlement_reconciliation",
      +    "tx_hash": "0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0"
      +  },
      +  {
      +    "item_id": "the_case_file",
      +    "tx_hash": "0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0"
      +  },
      +  {
      +    "item_id": "attestation_bundle",
      +    "tx_hashes": "0x47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee47c8fee0,0x9b04e1c9b04e1c9b04e1c9b04e1c9b04e1c9b04e1c9b04e1c9b04e1c9b04e1c0"
      +  },
      +  {
      +    "item_id": "standing_watch",
      +    "url": "https://your-shop.example/api/buy/thing"
      +  },
      +  {
      +    "item_id": "service_audit",
      +    "url": "https://your-shop.example/api/buy/thing"
      +  },
      +  {
      +    "item_id": "a2a_repair_kit",
      +    "url": "https://your-agent.example/.well-known/agent-card.json"
      +  },
      +  {
      +    "item_id": "good_buyer",
      +    "url": "https://somebody-elses-shop.example/api/buy/thing"
      +  },
      +  {
      +    "item_id": "conformance_watch",
      +    "url": "https://your-shop.example/api/buy/thing"
      +  },
      +  {
      +    "item_id": "signature_agent_card",
      +    "url": "https://your-agent.example"
      +  },
      +  {
      +    "item_id": "onpage_audit",
      +    "url": "https://your-site.example/pricing"
      +  },
      +  {
      +    "item_id": "launch_check",
      +    "url": "https://your-shop.example/api/buy/thing"
      +  },
      +  {
      +    "item_id": "opening_day",
      +    "url": "https://your-shop.example/api/buy/thing"
      +  },
      +  {
      +    "address": "0x1111111111111111111111111111111111111111",
      +    "item_id": "provenance_check"
      +  },
      +  {
      +    "item_id": "the_statement",
      +    "wallet": "0x843b544bf5f0AA6cbf13E94563874878C98cc4a7"
      +  },
      +  {
      +    "item_id": "operator_statement",
      +    "wallet": "0x843b544bf5f0AA6cbf13E94563874878C98cc4a7"
      +  },
      +  {
      +    "item_id": "the_mandate",
      +    "mandate": "Research x402 tooling and buy verification artifacts as needed, at most $5 per item."
      +  },
      +  {
      +    "digest": "9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f",
      +    "item_id": "bitcoin_anchor"
      +  },
      +  {
      +    "item_id": "passport_refresh",
      +    "url": "https://your-endpoint.example/api/thing"
      +  },
      +  {
      +    "item_id": "trust_profile",
      +    "url": "https://your-endpoint.example/api/thing"
      +  },
      +  {
      +    "host": "example.com",
      +    "item_id": "spot_check"
      +  }
      +]
    • addedInput schema / properties / address
      Added value: +{
      +  "description": "The receiving address to ask about: an EVM address (0x + 40 hex) or a Solana pubkey (base58). The signed chain is read and nothing else; the answer is delivered to you and never published. Your own address is free once proved — GET /api/provenance/self.",
      +  "pattern": "^\\s*(?:0x[0-9a-fA-F]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})\\s*$",
      +  "type": "string"
      +}
    • changedInput schema / properties / agent_name / description
      Previous value: -"Optional name for the certificate and badge."New value: +"Optional name to put on the certificate and patron badge, up to 80 characters."
    • addedInput schema / properties / amount_usdc
      Added value: +{
      +  "description": "Optional. Require a transfer of exactly this many USDC. Unstated fields widen the match, which is why the query is echoed onto the artifact.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / claim
      Added value: +{
      +  "description": "Optional. Your own account of what happened, stored verbatim and marked declared. Never checked.",
      +  "maxLength": 1000,
      +  "type": "string"
      +}
    • addedInput schema / properties / declared_cap_usdc
      Added value: +{
      +  "description": "Optional, and understand what it buys: the ceiling YOU say applied. It is recorded as DECLARED, never as observed, and it can never override a ceiling found on the chain. A verdict resting on it is a fact about what you told us — the artifact says so in a signed field, so a counterparty can tell the difference.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / digest
      Added value: +{
      +  "description": "sha256 of bytes you keep, 64 hex characters, no 0x prefix. The store never sees the bytes.",
      +  "pattern": "^[0-9a-fA-F]{64}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / expected_amount_usdc
      Added value: +{
      +  "description": "Optional positive USDC amount claimed for this purchase.",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / expires_at
      Added value: +{
      +  "description": "Optional claimed expiry, ISO 8601. Declared, never enforced by the store.",
      +  "type": "string"
      +}
    • addedInput schema / properties / host
      Added value: +{
      +  "description": "A bare hostname, e.g. example.com. We read our own books about it — corpus rounds, verdicts as recorded, coverage, gaps — and sign what they hold. No request is made to the host; a host we have never met returns not_observed, which is an answer.",
      +  "pattern": "^\\s*(?:[a-zA-Z0-9][a-zA-Z0-9.-]*\\.[a-zA-Z0-9-]+)\\s*$",
      +  "type": "string"
      +}
    • addedInput schema / properties / hours
      Added value: +{
      +  "description": "Optional window in hours back from the chain head: 1 to 11, default 6. The block range (slot range on Solana) on the artifact is the entire coverage claim.",
      +  "type": "string"
      +}
    • changedInput schema / properties / item_id / enum
      Previous value: -[
      -  "phantom_check",
      -  "settlement_attestation"
      -]New value: +[
      +  "settlement_attestation",
      +  "settlement_reconciliation",
      +  "the_case_file",
      +  "attestation_bundle",
      +  "standing_watch",
      +  "service_audit",
      +  "a2a_repair_kit",
      +  "good_buyer",
      +  "conformance_watch",
      +  "signature_agent_card",
      +  "onpage_audit",
      +  "launch_check",
      +  "opening_day",
      +  "provenance_check",
      +  "the_statement",
      +  "operator_statement",
      +  "the_mandate",
      +  "bitcoin_anchor",
      +  "passport_refresh",
      +  "trust_profile",
      +  "spot_check"
      +]
    • addedInput schema / properties / label
      Added value: +{
      +  "description": "Optional: your own claim about what the digest covers, stored verbatim and never checked.",
      +  "maxLength": 120,
      +  "type": "string"
      +}
    • addedInput schema / properties / launch_check_id
      Added value: +{
      +  "description": "Optional. A launch check you hold about the same door, for the delivery section.",
      +  "type": "string"
      +}
    • addedInput schema / properties / mandate
      Added value: +{
      +  "description": "The claimed instructions, verbatim, up to 2000 Unicode characters: what this agent is authorized to do, as the submitter claims it. Recorded exactly as it arrives, signed and dated. Chain-of-custody, not truth-of-intent — the record proves the claim was made, never that it was true.",
      +  "maxLength": 2000,
      +  "type": "string"
      +}
    • addedInput schema / properties / mandate_id
      Added value: +{
      +  "description": "Optional. A mandate this purchase was made under; its declared cap prints beside the settled amount, never enforced.",
      +  "type": "string"
      +}
    • addedInput schema / properties / max_usd
      Added value: +{
      +  "description": "Optional finite nonnegative decimal. Your client's spendControls.maxAmountPerPayment, in dollars; zero is retained. Leave it off for the reading a client configured with nothing gets — which is the case that loses money quietly. Recorded as your declaration, never verified.",
      +  "type": "string"
      +}
    • addedInput schema / properties / network
      Added value: +{
      +  "description": "Inspect USDC on Base (eip155:8453), Polygon (eip155:137), Ethereum (eip155:1), Arbitrum One (eip155:42161), OP Mainnet (eip155:10), Avalanche C-Chain (eip155:43114), World (eip155:480), or Solana (network=solana). Base is the default. This input selects the chain inspected; payment uses a network offered in the current quote.",
      +  "type": "string"
      +}
    • addedInput schema / properties / no_spend_controls
      Added value: +{
      +  "description": "Optional: \"true\" for spendControls: false, \"false\" for enabled controls, or empty to omit. Declared, never verified.",
      +  "enum": [
      +    "",
      +    "true",
      +    "false"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / nonce
      Added value: +{
      +  "description": "Optional, EVM rails only. Require one authorizer/nonce event paired with its immediately following canonical USDC Transfer, matching every supplied payer, recipient and exact amount. Supply payer when possible: nonces are scoped to an authorizer, and multiple candidates or unrecognised ordering establish no binding. Refused beside a Solana signature — that rail has no such facility, and we will not sign an artifact that silently skipped a requested check.",
      +  "type": "string"
      +}
    • addedInput schema / properties / payer
      Added value: +{
      +  "description": "Optional payer: 0x EVM address, or Solana public key for a Solana transaction.",
      +  "type": "string"
      +}
    • addedInput schema / properties / payment_payload
      Added value: +{
      +  "description": "Optional. The base64 PAYMENT-SIGNATURE you sent, verbatim. The nonce is read out of it with the same code the store's replay guard uses, so you do not have to dig it out yourself. Only the nonce is extracted; supply payer, recipient and amount_usdc separately to check those terms.",
      +  "type": "string"
      +}
    • addedInput schema / properties / payment_response
      Added value: +{
      +  "description": "Optional. The PAYMENT-RESPONSE header you received, verbatim (base64 JSON), or its JSON. Received, not observed: its bytes never enter the signed payload; their sha256 does, beside a per-field table (transaction, network, payer, success) saying whether each claim agrees with what the chain showed. The bytes are echoed outside the signature so you can check both.",
      +  "type": "string"
      +}
    • addedInput schema / properties / purpose
      Added value: +{
      +  "description": "Optional: what this purchase is for, in your words. Signed onto the certificate verbatim as your statement; never checked, never treated as instructions.",
      +  "maxLength": 280,
      +  "type": "string"
      +}
    • addedInput schema / properties / recipient
      Added value: +{
      +  "description": "Optional recipient: 0x EVM address, or Solana public key for a Solana transaction.",
      +  "type": "string"
      +}
    • addedInput schema / properties / submitted_as
      Added value: +{
      +  "description": "Who is submitting: the agent recording its own claimed instructions (default), or the human principal's own client. Recorded as a claim either way.",
      +  "enum": [
      +    "agent",
      +    "principal"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / tx_hash
      Added value: +{
      +  "description": "The transaction to observe: a Base transaction hash (0x + 64 hex) or a Solana transaction signature (base58). The identifier's shape selects the chain. Read once, at one moment; never polled.",
      +  "pattern": "^(0x[0-9a-fA-F]{64}|[1-9A-HJ-NP-Za-km-z]{64,88})$",
      +  "type": "string"
      +}
    • addedInput schema / properties / tx_hashes
      Added value: +{
      +  "description": "2 to 20 Base transaction hashes, comma-separated, no duplicates. Each is read once at one moment and signed on its own; never polled. One hash wants the single settlement_attestation instead.",
      +  "maxLength": 1339,
      +  "minLength": 133,
      +  "pattern": "^0x[0-9a-fA-F]{64}(,0x[0-9a-fA-F]{64})+$",
      +  "type": "string"
      +}
    • changedInput schema / properties / url / description
      Previous value: -"The http(s) URL the store walks past ~6 hours from now."New value: +"Optional. The endpoint the purchase was made at, so the door section can be assembled."
    • addedInput schema / properties / url / format
      Added value: +"uri"
    • addedInput schema / properties / wallet
      Added value: +{
      +  "description": "The wallet to state: a 0x address on the selected EVM network, a base58 pubkey on Solana. Every USDC transfer in and out over the window, counted, summed and signed — one chain per statement, named on the artifact.",
      +  "pattern": "^\\s*(?:0x[0-9a-fA-F]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})\\s*$",
      +  "type": "string"
      +}
  2. Addedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

It goes well beyond the annotations by describing x402 payment requirements, 402 error behavior, idempotency-key reuse, one-time delivery, return of deliverable/cert_id/patron_number, closed-shelf refusal, and the exact guarantee boundaries. There is no contradiction with the given annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is broad but logically structured: purpose, item catalog, required-field mapping, cadence, payment behavior, and guarantees. It front loads the core intent. There is some redundancy between the global price range and per-item prices, but the information density is earned given the wide catalog.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 29 parameters and a large enum of possible orders, the description supplies everything an agent needs to select the right item and call, including required parameter dependencies, payment flow, idempotency behavior, and delivery. An output schema is present, so it appropriately stays out of the way on exact response fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents every parameter at high coverage, so the baseline is 3. The description adds semantic value by explaining each item_id option with price and purpose, mapping required parameters to specific items, and explaining the idempotency/payment mechanics. It does not redundantly repeat all 29 schema fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that this tool buys signed, third-party observations of x402 payments, endpoints, audits, and Bitcoin anchors, and explains the core idea: 'have a disinterested third party go and look at something, then sign what it saw.' It also differentiates the tool from self-reported or first-party records with 'a self-report cannot do this job.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use the tool when an agent needs its own or a counterparty's claim corroborated by an outside observer, or when a digest should be anchored in Bitcoin time. It does not name sibling alternatives like buy_signed_record or check_before_you_pay, but it gives enough context to infer the intended selection between observation purchases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.