addrbookFor publishers
← The evidence ledger

Evidence row 3955561

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 4c387910-78a6-4b03-8abf-f594d44e9f7d
Recorded
Previous row
#579167
Body SHA-256
7b728c9e55c5abe82600f4d555055f1743424eda6a4a640fa20e3518eeaea12c
Leaf
0xf8c1c937b948004af30e350f52bdbcf1c1efecafba3afc239f4921439682c8f6

What was observed

{
  "count": 13,
  "tools": [
    {
      "description": "Accepts a signed preflight proposal with explicit buyer authorization and creates exactly ONE authenticated SAAX commitment. Revalidates the proposal (trusted provider key, profile version, expiry, combination, manifest digest), verifies the BUYER'S SIGNATURE over the exact proposal digest and terms digest, durably accepts once (single-writer store), and returns the operation + commitment. Creates NO payment authorization, custody funding, service execution, or release. A buyer acceptance is NOT a payment authorization or evaluator release verdict. Errors are typed DSC_* codes. Idempotent: same idempotencyKey + same request returns the same operation; same key + different request -> DSC_NONCE_CONFLICT; a single-use proposal cannot be re-accepted under a new key -> DSC_PROPOSAL_REUSED.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "acceptance": {
            "additionalProperties": {},
            "description": "The buyer acceptance contract (schemaVersion acceptance-v1, action accept_commitment, domain saax:acceptance:v1, signed by the buyer)",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "idempotencyKey": {
            "description": "Caller-scoped idempotency key (>= 8 chars)",
            "minLength": 8,
            "type": "string"
          },
          "proposal": {
            "additionalProperties": {},
            "description": "The signed proposal returned by prepare_commitment (full object incl. signature)",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "proposal",
          "acceptance",
          "idempotencyKey"
        ],
        "type": "object"
      },
      "name": "accept_commitment"
    },
    {
      "description": "Creates a governed commitment between a buyer and a seller and persists it to the SAAX commitment store. The commitment is settlement-rail-neutral: settlementRail is metadata only (x402, mpp, ap2, acp, or unspecified) and is NEVER a prerequisite. Returns the new commitment id (saax_<hash>), createdAt, status, and the settlementRail. Call this BEFORE any payment flow to establish the governed commitment record. Once created, use get_commitment to read the manifest.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "acceptanceCriteria": {
            "description": "Objective acceptance criteria for fulfillment",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "buyerId": {
            "description": "The buyer's identity: 0x-address or agent id",
            "type": "string"
          },
          "evidenceRequirements": {
            "description": "Evidence the seller must supply",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "recoveryPolicy": {
            "description": "Recovery policy on failure",
            "properties": {
              "compensationPercent": {
                "type": "string"
              },
              "maxRetries": {
                "maximum": 9007199254740991,
                "minimum": 0,
                "type": "integer"
              },
              "refundOnFailure": {
                "type": "boolean"
              }
            },
            "required": [
              "refundOnFailure"
            ],
            "type": "object"
          },
          "sellerId": {
            "description": "The seller's identity: 0x-address or agent id",
            "type": "string"
          },
          "settlementRail": {
            "default": "unspecified",
            "description": "The settlement rail as metadata. Never a prerequisite; 'unspecified' is valid.",
            "enum": [
              "x402",
              "mpp",
              "ap2",
              "acp",
              "unspecified"
            ],
            "type": "string"
          },
          "terms": {
            "description": "The commercial terms: deliverable, price, deadline",
            "properties": {
              "deadline": {
                "description": "ISO-8601 deadline for fulfillment",
                "type": "string"
              },
              "deliverable": {
                "description": "The deliverable / capability description",
                "type": "string"
              },
              "price": {
                "properties": {
                  "amount": {
                    "description": "Price amount as a decimal string, e.g. '0.10'",
                    "type": "string"
                  },
                  "currency": {
                    "description": "Currency symbol, e.g. USDC",
                    "type": "string"
                  },
                  "decimals": {
                    "description": "Asset decimals (USDC = 6)",
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "amount",
                  "currency",
                  "decimals"
                ],
                "type": "object"
              }
            },
            "required": [
              "deliverable",
              "price",
              "deadline"
            ],
            "type": "object"
          }
        },
        "required": [
          "buyerId",
          "sellerId",
          "terms",
          "acceptanceCriteria"
        ],
        "type": "object"
      },
      "name": "create_commitment"
    },
    {
      "description": "Validates an authority proof against a commitment. Requires an active SAAX Premium subscription. For evidence verification, use get_evidence_verification.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "commitment": {
            "description": "The commitment or requested action the proof must authorize"
          },
          "proof": {
            "description": "The AuthorityProof object (proofType, issuer, subject, scope, validFrom, validUntil, signature, verificationScheme, verificationMaterial)"
          },
          "subscriptionEmail": {
            "description": "The subscription email (must have an active SAAX Premium subscription)",
            "type": "string"
          }
        },
        "required": [
          "subscriptionEmail",
          "proof",
          "commitment"
        ],
        "type": "object"
      },
      "name": "get_authority_validation"
    },
    {
      "description": "Returns the full commitment object for a given commitment ID — including terms, state, manifest hash, and evidence references. Call this when an agent needs the complete commitment record. For status-only polling, use get_commitment_status. For listing all commitments for a subscriber, use list_commitments.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "commitmentId": {
            "description": "The commitment id (0x-prefixed or agent-id style) to look up",
            "type": "string"
          }
        },
        "required": [
          "commitmentId"
        ],
        "type": "object"
      },
      "name": "get_commitment"
    },
    {
      "description": "Returns only the current lifecycle state for a given commitment ID, plus the recommended next action for the calling agent. Call this before retrying any commitment that timed out — an unknown outcome is a status check, not another POST. The next_action field tells the agent whether to retry, poll, or stop. For the full commitment record, use get_commitment.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "commitmentId": {
            "description": "The commitment id to poll for its lifecycle state",
            "type": "string"
          }
        },
        "required": [
          "commitmentId"
        ],
        "type": "object"
      },
      "name": "get_commitment_status"
    },
    {
      "description": "Verifies external evidence against a commitment's acceptance criteria. Requires an active SAAX Premium subscription. For authority proof validation, use get_authority_validation.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "commitment": {
            "description": "The commitment object the evidence binds to"
          },
          "criterion": {
            "description": "The verification policy / acceptance criterion"
          },
          "evidence": {
            "description": "The evidence object (evidenceId, evidenceType, issuer, subject, payload, payloadHash, signature, verificationScheme, commitmentId, acceptanceCriterionId, ...)"
          },
          "subscriptionEmail": {
            "description": "The subscription email (must have an active SAAX Premium subscription)",
            "type": "string"
          }
        },
        "required": [
          "subscriptionEmail",
          "evidence",
          "commitment",
          "criterion"
        ],
        "type": "object"
      },
      "name": "get_evidence_verification"
    },
    {
      "description": "Returns the SAAX Protocol version, available capability count, and the URL to the specification. Call this when an agent needs a one-time overview of the protocol. For pricing, use get_routing_fee. For the full capability list, use list_capabilities. For a liveness check, use ping.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_protocol_info"
    },
    {
      "description": "Returns the current routing fee schedule. Call this before initiating a routing request to determine the expected cost. For capability discovery, use list_capabilities. For protocol overview, use get_protocol_info.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_routing_fee"
    },
    {
      "description": "Returns the capabilities currently indexed by the SAAX Router, with supplier counts per capability. Call this to discover what can be routed. For pricing of a specific capability, use get_routing_fee. For protocol overview, use get_protocol_info.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "list_capabilities"
    },
    {
      "description": "Returns all commitments associated with a subscription email. Requires an active SAAX Premium subscription. Call this to retrieve commitment history for a subscriber. For a single commitment by ID, use get_commitment. For status-only checks, use get_commitment_status.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "subscriptionEmail": {
            "description": "The subscription email (must have an active SAAX Premium subscription)",
            "type": "string"
          }
        },
        "required": [
          "subscriptionEmail"
        ],
        "type": "object"
      },
      "name": "list_commitments"
    },
    {
      "description": "Returns a lightweight liveness response. Call this to verify the endpoint is reachable. Do not use for discovery, capability listing, or pricing — use get_protocol_info, list_capabilities, or get_routing_fee instead.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "ping"
    },
    {
      "description": "Prepares a free, NONBINDING signed proposal (preflight) for a desired SAAX capability. Validates capability, schema/version/digest, units, and the exact supported network/asset/rail/mode combination; returns a provider-signed proposal binding the request digest and normalized terms. Creates NO agreement, payment, custody deposit, service execution, resource reservation, or spending authority. A provider signature is NOT buyer acceptance. No preflight fee. Errors are typed DSC_* codes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "capability": {
            "description": "Desired capability",
            "properties": {
              "id": {
                "description": "Provider capability id",
                "type": "string"
              }
            },
            "required": [
              "id"
            ],
            "type": "object"
          },
          "clientNonce": {
            "description": "Caller-chosen nonce (echoed; replay idempotency)",
            "minLength": 8,
            "type": "string"
          },
          "constraints": {
            "description": "Optional constraints",
            "properties": {
              "deadline": {
                "description": "ISO-8601 deadline",
                "type": "string"
              },
              "maxAmount": {
                "description": "Integer-string max amount",
                "type": "string"
              }
            },
            "type": "object"
          },
          "financialProfile": {
            "description": "Financial axes",
            "properties": {
              "asset": {
                "description": "CAIP-19 asset id",
                "type": "string"
              },
              "mode": {
                "description": "Payment mode",
                "type": "string"
              },
              "network": {
                "description": "CAIP-2 network id (e.g. eip155:8453)",
                "type": "string"
              },
              "rail": {
                "description": "Rail: x402, mpp, ap2, acp, ach, card, internal-ledger, unknown",
                "type": "string"
              }
            },
            "required": [
              "network",
              "asset",
              "rail",
              "mode"
            ],
            "type": "object"
          },
          "intendedParties": {
            "description": "Intended parties",
            "properties": {
              "buyer": {
                "description": "0x buyer address",
                "type": "string"
              },
              "seller": {
                "description": "0x seller address",
                "type": "string"
              }
            },
            "type": "object"
          },
          "issuedAt": {
            "description": "ISO-8601 client timestamp",
            "type": "string"
          },
          "profileVersion": {
            "description": "SAAX Discovery profile version (e.g. 1.0.0)",
            "type": "string"
          },
          "schema": {
            "description": "Expected commitment schema",
            "properties": {
              "digest": {
                "description": "sha256:<64 hex> schema digest",
                "type": "string"
              },
              "id": {
                "description": "Schema id (e.g. https://saax-protocol.com/schemas/commitment-manifest/v1)",
                "type": "string"
              },
              "version": {
                "description": "Schema version",
                "type": "string"
              }
            },
            "required": [
              "id",
              "version",
              "digest"
            ],
            "type": "object"
          },
          "units": {
            "description": "Amount + unit",
            "properties": {
              "amount": {
                "description": "Integer-string settlement amount in the declared unit",
                "type": "string"
              },
              "unit": {
                "description": "Explicit unit (e.g. micro-units of settlement asset)",
                "type": "string"
              }
            },
            "required": [
              "amount",
              "unit"
            ],
            "type": "object"
          }
        },
        "required": [
          "profileVersion",
          "capability",
          "schema",
          "units",
          "financialProfile",
          "clientNonce",
          "issuedAt"
        ],
        "type": "object"
      },
      "name": "prepare_commitment"
    },
    {
      "description": "Submits a capability request and returns ranked supplier matches. Commitment creation with payment runs through the HTTP POST /route endpoint, not this tool. Use list_capabilities first to discover available capabilities. For commitment lookup after routing, use get_commitment.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "budget": {
            "description": "Maximum budget in USDC the buyer will pay",
            "type": "number"
          },
          "capability": {
            "description": "The capability demanded, e.g. 'security scan'",
            "type": "string"
          },
          "deadline": {
            "description": "Deadline in seconds from now for delivery",
            "type": "number"
          }
        },
        "required": [
          "capability"
        ],
        "type": "object"
      },
      "name": "route_request"
    }
  ]
}

What the leaf hashes

{"body":"7b728c9e55c5abe82600f4d555055f1743424eda6a4a640fa20e3518eeaea12c","id":3955561,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1794069161200318,"prev":579167,"subject":"4c387910-78a6-4b03-8abf-f594d44e9f7d","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (195826 rows).

  1. 0xf8c13117688ab0aeb8d2ec45b4cffeb9a5f8c48c9f0a4d31623f2d26cbf0442a
  2. 0x8f77f916d0538aba979a38a2f4ca114daefd30a91a32915c54112a667605e115
  3. 0xdc79b5ca363137cb41dd4cd77c30f4e7e2c2960e9d6c9cb3d04908bd012d8ab5
  4. 0x8b573ae6ce3a804fdc1e966277343bc537a4ca69e3d989610093e271f38b16ef
  5. 0x65673e8232f3647673d7e508477847428ee2c83aaa3fa087a60ea387f623f8eb
  6. 0x38afae455b24cd61638c95e9bb4d4646f40c0ad6955bbf101c8a0a40e713598b
  7. 0x9761a5f44e9284ab937206dce6d1c941c77b5fcdd8f7c2e333020806606f51e2
  8. 0xff04c130b1766bc45b57d83fb0acfd934061d0d3ba0a8319ec4d54d3082cf5ae
  9. 0xd0a0e488ccef62463779510ee2892a08575531121ddf5a475fdadaed6624c6c2
  10. 0xc8531cb8b6081557d2b82a1747638da9cd45a3719515c14d978948bdb8ee8781
  11. 0x7cb068608ce356c56b952991bf7213d131920a5a6364972fa78af58bf37822cd
  12. 0x56e817096df4de4739e74dab9761047ab97b2c55fdad1ba48d7081a0779ea668
  13. 0xf890041dab1a6045b3a87d27ce06c7bb38a0ea4dc1deb01cfdbb7c23a11ad1b1
  14. 0x2f1bda65dd8929924c1dad6e9e29ab36a1b8cb4eed65c97434b87bf8d5cca017
  15. 0xb6dc07358d0932b83c713d4c82df6764849db6e58ee1c7cbc06d03f381a6b36b
  16. 0xbb3be27e5da5ccad91ce4674c6eac53275c0832f3885b89533d2be65d38f2fc6
  17. 0x9ea7c2ecc6985da4b761b0f9096b7858b3ac8e3e47717c3840537fb2ff31c6df
Day root
0x17da9e85e1b138541355d33543ff34e3503cd3a49d37728fb53643e2a0416a2d
Chained
0xed34bd4af17282643de8cb9591c84d0aa1b39e1e9ae9864941e543f5a15718cb
Published
On Arc Testnet, block 71280839: 0xc3f6784179e0ca32236ba89472473e882a81d03fcc5ce27ca58ded2e01e112aa

How to check it · This row as JSON