addrbookFor publishers
← The evidence ledger

Evidence row 221350

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint f1d2232c-8602-407c-8957-65571cb8250e
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
2ef6b7efcb48bf9ae2008065be6eaa5ae30f056395b933982e9e9b1635100d06
Leaf
0xc514a6217f534d0bd6b9caa4afcd407180cf8e52483f0d9547043c56fa982035

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Initiate a handshake on a contract on behalf of your delegating principal.\n\nRequires an API key with an active delegation (principal wallet registered via /api/v1/delegations).\nRecords the agent's intent to accept, reject, or request changes on the contract.\nThe principal must separately approve via wallet signature on the Reader Portal.\n\nArgs:\n  - contract_id (string, required): Contract ID (amb-YYYY-NNNN), SHA-256 hash, or UUID\n  - intent (string, required): \"accept\" | \"reject\" | \"request_changes\"\n  - message (string, optional): Note for the counterparty\n  - visibility_preference (string, optional): \"private\" | \"metadata_only\" | \"public\" | \"encrypted\"\n\nReturns: Handshake status and next steps for principal approval.\n\nLegibility: the handshake itself is auditable — delegation scope, agent identity, and principal approval are recorded alongside the contract hash.",
      "inputSchema": {
        "properties": {
          "contract_id": {
            "description": "Contract ID, SHA-256 hash, or UUID",
            "type": "string"
          },
          "intent": {
            "description": "Handshake intent",
            "enum": [
              "accept",
              "reject",
              "request_changes"
            ],
            "type": "string"
          },
          "message": {
            "description": "Optional note for counterparty",
            "type": "string"
          },
          "visibility_preference": {
            "description": "Optional visibility preference for negotiation",
            "enum": [
              "private",
              "metadata_only",
              "public",
              "encrypted"
            ],
            "type": "string"
          }
        },
        "required": [
          "contract_id",
          "intent"
        ],
        "type": "object"
      },
      "name": "ambr_agent_handshake"
    },
    {
      "description": "Generate a Ricardian Contract from a template.\n\nCreates a dual-format contract (human-readable legal text + machine-parsable JSON)\nusing AI, linked by SHA-256 hash. The contract is stored on Ambr and accessible\nvia the Reader Portal.\n\nRequires a valid API key (X-API-Key header on the HTTP request) with available credits.\nUse ambr_list_templates first to discover templates and their required parameters.\n\nArgs:\n  - template (string, required): Template slug (e.g. \"d1-general-auth\")\n  - parameters (object, required): Template-specific parameters matching the schema\n  - principal_declaration (object, required): { agent_id, principal_name, principal_type }\n  - principal_wallet (string, optional): the deploying party's own wallet. It must differ from the\n    counterparty wallet in parameters (same_wallet_both_parties otherwise); left out, the first\n    wallet that signs fills the principal side\n  - parent_contract_hash (string, optional): SHA-256 hash of parent contract for amendments\n  - oversight_threshold_usd (number, optional): spending level above which work created under\n    this contract needs human approval. Children exceeding it halt at awaiting_principal_approval.\n  - amendment_type (string, optional): \"original\" | \"amendment\" | \"extension\"\n\nReturns:\n  - contract_id: Unique ID (e.g. \"amb-2026-0042\")\n  - sha256_hash: SHA-256 hash for verification\n  - status: Contract status\n  - reader_url: URL to view in Reader Portal\n  - credits_remaining: Remaining API credits\n\nLegibility: Output is dual-format by construction and replayable to the original SHA-256 hash — the basis of Ambr's legibility guarantee.",
      "inputSchema": {
        "properties": {
          "amendment_type": {
            "enum": [
              "original",
              "amendment",
              "extension"
            ],
            "type": "string"
          },
          "oversight_threshold_usd": {
            "description": "Spending level above which work created UNDER this contract requires human approval. A child contract exceeding the parent threshold is held at awaiting_principal_approval until a human signs, and cannot be signed or activated before then (EU AI Act Art. 14).",
            "type": "number"
          },
          "parameters": {
            "additionalProperties": true,
            "description": "Template-specific parameters",
            "type": "object"
          },
          "parent_contract_hash": {
            "description": "SHA-256 hash of parent contract (for amendments)",
            "type": "string"
          },
          "principal_declaration": {
            "properties": {
              "agent_id": {
                "description": "Agent identifier",
                "type": "string"
              },
              "principal_name": {
                "description": "Name of the principal (person or company)",
                "type": "string"
              },
              "principal_type": {
                "description": "Type of principal",
                "enum": [
                  "company",
                  "individual"
                ],
                "type": "string"
              }
            },
            "required": [
              "agent_id",
              "principal_name",
              "principal_type"
            ],
            "type": "object"
          },
          "principal_wallet": {
            "description": "The deploying party's own wallet (0x…). Must differ from the counterparty wallet in parameters.",
            "type": "string"
          },
          "template": {
            "description": "Template slug from ambr_list_templates",
            "type": "string"
          }
        },
        "required": [
          "template",
          "parameters",
          "principal_declaration"
        ],
        "type": "object"
      },
      "name": "ambr_create_contract"
    },
    {
      "description": "Retrieve a contract by ID, SHA-256 hash, or UUID.\n\nWith a valid API key (contract creator): returns the full contract including\nhuman-readable text, machine-readable JSON, status, and principal declaration.\nWithout authentication: returns metadata only (contract_id, status, hash, dates).\n\nSupports three lookup formats:\n  - Contract ID: \"amb-2026-0042\"\n  - SHA-256 hash: 64-character hex string\n  - UUID: Standard UUID format\n\nArgs:\n  - id (string, required): Contract ID, SHA-256 hash, or UUID\n\nReturns: Full contract (if authorized) or metadata-only response.\n\nLegibility: retrieval preserves the dual-format pairing — prose and JSON always replay to the same SHA-256.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Contract ID (amb-YYYY-NNNN), SHA-256 hash, or UUID",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "ambr_get_contract"
    },
    {
      "description": "Check the status of a contract and its amendment chain.\n\nReturns the current status and any linked amendments (parent or child contracts).\nUseful for verifying if a contract is active, amended, or terminated.\n\nArgs:\n  - id (string, required): Contract ID, SHA-256 hash, or UUID\n\nReturns:\n  - contract_id, status, created_at\n  - amendment_type, parent_contract_hash\n  - amendments: Array of child contracts (if any)\n\nLegibility: amendments are bilateral and themselves dual-format — the chain stays legible from original through every revision.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Contract ID (amb-YYYY-NNNN), SHA-256 hash, or UUID",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "ambr_get_contract_status"
    },
    {
      "description": "List available contract templates on Ambr.\n\nReturns all active Ricardian Contract templates with their slugs, names, descriptions,\ncategories, parameter schemas, and pricing. Use this to discover which templates are\navailable before creating a contract with ambr_create_contract.\n\nNo authentication required.\n\nReturns: Array of template objects with slug, name, description, category,\nparameter_schema, price_cents, and version fields.\n\nLegibility: templates are the parameter schema for the dual-format contracts you create — starting here keeps your request conformant and your output defensible.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "ambr_list_templates"
    },
    {
      "description": "Verify a contract's SHA-256 hash to confirm document integrity.\n\nChecks whether the provided hash matches a contract stored on Ambr. Returns\nverification status, contract metadata, and Reader Portal URL if found.\n\nArgs:\n  - hash (string, required): SHA-256 hash (64-character hex string)\n\nReturns:\n  - verified: boolean\n  - contract_id: string (if found)\n  - status: string (if found)\n  - reader_url: string (if found)\n\nLegibility: verification is the point at which legibility becomes provable — matching hash means the prose a human reads and the JSON a machine parses are the same document that was originally signed.",
      "inputSchema": {
        "properties": {
          "hash": {
            "description": "SHA-256 hash to verify (64-character hex)",
            "type": "string"
          }
        },
        "required": [
          "hash"
        ],
        "type": "object"
      },
      "name": "ambr_verify_hash"
    }
  ]
}

What the leaf hashes

{"body":"2ef6b7efcb48bf9ae2008065be6eaa5ae30f056395b933982e9e9b1635100d06","id":221350,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793027309355850,"prev":null,"subject":"f1d2232c-8602-407c-8957-65571cb8250e","subject_kind":"endpoint"}

Proof

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

  1. 0xc51499ee0aeba16e9d4cebc62f586a7db1015629cb92e87a56ea309aed442578
  2. 0x53fcf792eec2e340f871264317a0b03a695afdc52a02c51462d40c86f1371644
  3. 0x509e11a07614db06fbee1b67e23555623d260860fb9863387dc81ae259cb359f
  4. 0x21dfec2c15c0308660a82ccf67ba62d33da1ff523e1c06cca0942b3e293bcec8
  5. 0x01255e132c6de1c52d174c88d808b80a3d81ed8207925e5859c3b70ace6c1dca
  6. 0xfc87ef30151d732db99ec89d7d4424a85cd43d2a46fe9e669ee68107e325c72c
  7. 0xb659fa6ae19ecd699520921235291f3b494e8133515259f13ab37fef6e381851
  8. 0x088023faebdbeb63056fe67f3190f0a11193635689984fe6461d85b667ae0760
  9. 0xefd18e61652a0f8f4eec75422a55aa67dab46013e02c2c584b5f7645b529a240
  10. 0xae71c3940eac3236f4c68fb44d25cc1262b73d017fd7c18fbff1248c2e850602
  11. 0x463fef738ef71a01d4aa9ac1c6836fcf6802cdaa7de01bbe42397d79d35d8671
  12. 0x4d1a020de7fc0aa076daeb62ebb904d51ac6c607b605eb63a7855f34d7b69f1b
  13. 0x641fba1f23ec69d96721e34ace1926954d835b9614cb5eae215a069c056399b8
  14. 0xdbe2e8dd65ea1248b2936612538f18268abd5cf27ebdab3737694571ad496004
  15. 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON