← The evidence ledger
Evidence row 293294
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint d28e22c3-c7a0-455e-a967-122a6a84020c
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- d8d3f7342fd33cf1ae26d1a624ac9fbe78992c326ad44e012529bf9ae14b97ee
- Leaf
- 0x894a288649a26ebafd7705b233ff44730e088dda94ac26db684e7c151ba90091
What was observed
{
"count": 6,
"tools": [
{
"description": "Use this when handed an x402 SAR-shaped receipt (draft proposal shape; may change). Pass `sar_receipt`, optionally the issuer's `public_key`. Returns missing fields, whether receipt_id matches the core and whether the signature checks out against that key. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"public_key": "Y8BpzlWPH3EPRQziEPRBeLS1lJBF4xEo9WaxTNbzNp0",
"sar_receipt": {
"confidence": 1,
"reason_code": "SPEC_MATCH",
"receipt_id": "sha256:17146cdeb5aba1c269130348cdc7d3d96ae55f6e048b81d3baa59d4e3f3b188b",
"receipt_version": "0.1",
"sig": "ogilW-bjlCbYkwwUAIrg_zm_Wuoc6EiRgeErs0RL7llP7FWyX43-LgozZFyCjCXgsViK-A4_aroOo16Q4uvTCg",
"sig_alg": "Ed25519",
"task_id_hash": "sha256:c8b36982316351a28e040a6520df2092c2c87a4ea611c123d04993074b2b6f1d",
"ts": "2026-10-01T09:00:00Z",
"verdict": "PASS",
"verifier_kid": "ef654fc8b615b51c"
}
}
],
"properties": {
"public_key": {
"description": "Optional: the issuer's Ed25519 public key, raw 32 bytes base64url or a JWK {kty: OKP, crv: Ed25519, x}. Omit to use GAIP's published keys.",
"oneOf": [
{
"maxLength": 512,
"type": "string"
},
{
"type": "object"
}
]
},
"sar_receipt": {
"description": "The SAR receipt object (or a whole gaip_receipt_export x402 result).",
"type": "object"
}
},
"required": [
"sar_receipt"
],
"type": "object"
},
"name": "gaip_check_sar_receipt"
},
{
"description": "Use this when an insurer, auditor or buyer asks what evidence exists about an agent or supplier. Pass its `subject` (public id or https URL). Returns conformance, watch, witness, repair and incident records with Merkle proofs, plus gaps. A compilation, not certification or advice. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"requester": {
"purpose": "INSURER"
},
"scope": {
"max_items": 50,
"since": "2026-09-01"
},
"subject": {
"counterparty_id": "example-weather-agent"
}
}
],
"properties": {
"requester": {
"additionalProperties": false,
"description": "Optional: {purpose, continuity_handle} to include your own receipts.",
"properties": {
"continuity_handle": {
"properties": {
"continuity_id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"continuity_id",
"token"
],
"type": "object"
},
"purpose": {
"enum": [
"INSURER",
"AUDITOR",
"OPERATOR",
"BUYER",
"UNSPECIFIED"
],
"type": "string"
}
},
"type": "object"
},
"scope": {
"additionalProperties": false,
"description": "Optional: {receipt_ids, since, until, categories, max_items}.",
"properties": {
"categories": {
"items": {
"enum": [
"conformance",
"watch",
"witness",
"repair",
"incident",
"supplier_checks"
],
"type": "string"
},
"type": "array"
},
"max_items": {
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"receipt_ids": {
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
}
},
"type": "object"
},
"subject": {
"description": "The agent or supplier: its public id or https URL. Never a person.",
"oneOf": [
{
"maxLength": 256,
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"counterparty_id": {
"type": "string"
},
"ref": {
"type": "string"
},
"seller_ref": {
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
}
},
"type": "object"
}
]
}
},
"required": [
"subject"
],
"type": "object"
},
"name": "gaip_evidence_pack"
},
{
"description": "Use this when something went wrong with an agent and you need the facts in order. Pass the `receipt_ids` you hold and attributed `observations`. Returns a verified, source-attributed timeline with an EU AI Act Art. 73 reference aid. No fault, cause or liability finding. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"ai_system_ref": "example-weather-agent",
"observations": [
{
"observed_at_utc": "2026-09-27T10:00:00Z",
"source": "our uptime monitor",
"source_type": "AUTOMATED_MONITOR",
"statement": "HTTP 503 from the forecast endpoint for 12 minutes"
}
],
"receipt_ids": [
"<receipt_id returned by any GAIP tool>"
],
"title": "Forecast endpoint returned errors"
}
],
"properties": {
"ai_system_ref": {
"description": "Optional: public id or URL of the AI system involved; given alone, GAIP starts the timeline from its own public records of that system.",
"maxLength": 256,
"type": "string"
},
"data_classification": {
"default": "PUBLIC",
"description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
"enum": [
"PUBLIC",
"NON_PERSONAL_PUBLIC"
],
"type": "string"
},
"observations": {
"description": "Attributed observations, each {source, statement, observed_at_utc}.",
"items": {
"additionalProperties": false,
"properties": {
"observed_at_utc": {
"type": "string"
},
"receipt_id": {
"type": "string"
},
"source": {
"maxLength": 120,
"type": "string"
},
"source_type": {
"enum": [
"AUTOMATED_MONITOR",
"PUBLIC_RECORD",
"REQUESTER",
"THIRD_PARTY"
],
"type": "string"
},
"statement": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"source",
"statement"
],
"type": "object"
},
"maxItems": 50,
"type": "array"
},
"receipt_ids": {
"description": "GAIP receipt ids you hold about the incident.",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
},
"title": {
"description": "Optional: short incident title.",
"maxLength": 120,
"type": "string"
}
},
"type": "object"
},
"name": "gaip_incident_bundle"
},
{
"description": "Use this when you need a GAIP receipt in another format. Pass `receipt_id` and `format`: x402 (attestation style), erc8004 (validation-response shape) or vc (W3C-VC-like JSON-LD). Ed25519-signed when the runtime key is available; hash chain and Merkle proof; no on-chain write. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"format": "x402",
"receipt_id": "<receipt_id returned by any GAIP tool>"
}
],
"properties": {
"format": {
"description": "x402, erc8004 or vc.",
"enum": [
"x402",
"erc8004",
"vc"
],
"type": "string"
},
"receipt_id": {
"description": "The receipt_id exactly as an earlier GAIP result returned it. Have none? Call with any id: the refusal lists example_receipt_ids from GAIP's own public records.",
"maxLength": 128,
"minLength": 1,
"type": "string"
}
},
"required": [
"receipt_id",
"format"
],
"type": "object"
},
"name": "gaip_receipt_export"
},
{
"description": "Use this when asked what evidence exists about an agent before delegating to it. Pass its `counterparty_id` and any `observations`. Returns task-specific evidence coverage, conflicts, gaps and GAIP's own earlier checks of it, with a receipt. Never a trust score or recommendation. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": true,
"examples": [
{
"counterparty_id": "example-weather-agent",
"observations": [
{
"claim": "Publishes a public weather_forecast skill",
"evidence_digest": "3f0a9c1e5b7d2468ace013579bdf2468ace013579bdf2468ace013579bdf2468",
"lifecycle_state": "observed",
"observed_at": "2026-09-27T12:00:00Z",
"source": "https://forecast.example.com/.well-known/agent-card.json"
},
{
"claim": "Returned a London forecast in 1.2 s",
"lifecycle_state": "OBSERVED",
"observed_at": "2026-09-27T12:05:00Z",
"source": "caller_task_log"
}
],
"task_class": "weather_forecast"
}
],
"properties": {
"continuity_handle": {
"additionalProperties": false,
"description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones.",
"properties": {
"continuity_id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"continuity_id",
"token"
],
"type": "object"
},
"counterparty_id": {
"description": "Name or URL of the agent or service.",
"type": "string"
},
"data_classification": {
"default": "PUBLIC",
"description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
"enum": [
"PUBLIC",
"NON_PERSONAL_PUBLIC"
],
"type": "string"
},
"episode_id": {
"description": "Optional: your own id to group related calls.",
"type": "string"
},
"independent_operator_id": {
"description": "Optional: your operator id (recorded as a claim, not verified).",
"type": "string"
},
"max_age_days": {
"description": "Optional freshness window (default 30): GAIP history records older than this are STALE and do not count toward evidence_sufficiency.",
"maximum": 365,
"minimum": 1,
"type": "integer"
},
"observations": {
"description": "Optional: observations about it, each {source, observed_at, evidence_digest, lifecycle_state, claim}.",
"items": {
"type": "object"
},
"type": "array"
},
"synthetic": {
"description": "Optional: true marks a test call.",
"type": "boolean"
},
"task_class": {
"default": "COUNTERPARTY_EVIDENCE",
"description": "Task you want evidence for. Optional.",
"type": "string"
}
},
"type": "object"
},
"name": "inspect_counterparty_evidence"
},
{
"description": "Use this when you hold a GAIP receipt_id and want to confirm it (\"is this receipt genuine?\"). Returns the retained record, hash chain and Merkle inclusion proof. Integrity only: it does not make the underlying claim true. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": true,
"examples": [
{
"receipt_id": "<receipt_id returned by any GAIP tool>"
}
],
"properties": {
"continuity_handle": {
"additionalProperties": false,
"description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones.",
"properties": {
"continuity_id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"continuity_id",
"token"
],
"type": "object"
},
"data_classification": {
"description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
"enum": [
"PUBLIC",
"NON_PERSONAL_PUBLIC"
],
"type": "string"
},
"episode_id": {
"description": "Optional: your own id to group related calls.",
"type": "string"
},
"independent_operator_id": {
"description": "Optional: your operator id (recorded as a claim, not verified).",
"type": "string"
},
"receipt_id": {
"description": "A receipt_id returned by an earlier GAIP call.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"synthetic": {
"description": "Optional: true marks a test call.",
"type": "boolean"
}
},
"required": [
"receipt_id"
],
"type": "object"
},
"name": "verify_gaip_receipt"
}
]
}What the leaf hashes
{"body":"d8d3f7342fd33cf1ae26d1a624ac9fbe78992c326ad44e012529bf9ae14b97ee","id":293294,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793049300257126,"prev":null,"subject":"d28e22c3-c7a0-455e-a967-122a6a84020c","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x894a9dd7b1f0b326cb55af3f0a3b4a6097d479c874264d86db6ae7b92c4dc8bf
- 0x85b7387d051becc600c613948f2086f667bf01313e5fd6e6d637b563cc07a502
- 0x70562080caf7c7fa40412248b9686de0ff11ee670ca2cb60815a10e28dc719f0
- 0x277cc5b54d287e672acc936397abeb5c8e0239d461366748b2f90f2b1e127032
- 0x0872e0e96cb7f02acf9c7dd00b5c0359a9eb628572cf3c1f6406a8808e261c0e
- 0xf25f2a951823470c0ef1dcbd2d6f8ddc9e0f423e901e5c0713e0396f3598563d
- 0xbed3aa6fdffbdea9905f2f0be56bbfad222127da665d8e6c68f4e98fcb42dab2
- 0x3b019d8f5eaefd5a8622aec722b3a3ab1e751abbf1eaa93ead96e4a6a7de980c
- 0x1632027a994340cc08cec74b54ec6a4a0c47771bb3cd250c119ce3549d8c9b26
- 0xed8c683cc2523b6faaf9567b2bca065f0b0b5a96cb16dc02a32ff230916396f8
- 0xfb2bf7248df06c668bce5c2fce26586eb8982728138c40f164c1666cb3e32d7b
- 0x7bf2d426bb827b94d7608055662cf2e3f09791e1a4c2c6bd606c0a9e89b18e59
- 0x49d11be052a4c069b10250aaba214f566b3f2e5aaa7a98e82ccc6a71c0e801a0
- 0x78ac2b34737774659a6a411f4d10b8ba570d40699d9f277321c3a32ff03d1dc9
- 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
- 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae