addrbookFor publishers
← The evidence ledger

Evidence row 263688

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 3dd4aa29-46f4-4b62-a403-01eb27eeba43
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
2ba15c03a65afba27e162582fbba0da8a3dc8910007d44b08b4206dfbff8f694
Leaf
0x477cdaec1f519ccf80d8690fb501163f2c3b40662fe5d2ce7d3cbb641ec28d84

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "Create a USDC escrow with built-in dispute resolution. Funds are locked on-chain until delivery is confirmed (release) or a problem is flagged (dispute). If disputed, an arbiter reviews and rules — the only escrow service with real dispute resolution on Base.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "amount_usdc": {
            "description": "Amount in USDC (e.g., 5.00 for $5)",
            "maximum": 100,
            "minimum": 0.1,
            "type": "number"
          },
          "seller": {
            "description": "Ethereum address of the seller/service provider",
            "type": "string"
          },
          "service_url": {
            "description": "URL or identifier of the service being purchased (used for tracking)",
            "type": "string"
          },
          "timelock_minutes": {
            "default": 30,
            "description": "Minutes until escrow expires and auto-refunds (default: 30)",
            "maximum": 43200,
            "minimum": 5,
            "type": "number"
          }
        },
        "required": [
          "seller",
          "amount_usdc",
          "service_url"
        ],
        "type": "object"
      },
      "name": "escrow_create"
    },
    {
      "description": "Flag a problem with delivery — PayCrow's key differentiator. Locks escrowed funds and triggers arbiter review. Unlike other escrow services that say 'no disputes, no chargebacks', PayCrow has real on-chain dispute resolution. Use when service was not delivered or quality was unacceptable.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "escrow_id": {
            "description": "The escrow ID to dispute",
            "type": "string"
          },
          "reason": {
            "description": "Brief description of the problem for the arbiter",
            "type": "string"
          }
        },
        "required": [
          "escrow_id",
          "reason"
        ],
        "type": "object"
      },
      "name": "escrow_dispute"
    },
    {
      "description": "Confirm delivery and release escrowed USDC to the seller. Only call this when you've verified the service/product was delivered correctly.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "escrow_id": {
            "description": "The escrow ID to release",
            "type": "string"
          }
        },
        "required": [
          "escrow_id"
        ],
        "type": "object"
      },
      "name": "escrow_release"
    },
    {
      "description": "Check the current state of an escrow (funded, released, disputed, expired, etc.)",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "escrow_id": {
            "description": "The escrow ID to check",
            "type": "string"
          }
        },
        "required": [
          "escrow_id"
        ],
        "type": "object"
      },
      "name": "escrow_status"
    },
    {
      "description": "Rate a completed escrow. After escrow_release, rate the seller's service quality (1-5 stars).\n\nThis builds the reputation data that makes PayCrow's trust scores meaningful over time.\nBoth sides can rate: buyer rates seller's service quality, seller rates buyer's conduct.\n\nRatings are on-chain and permanent — they feed directly into trust scoring.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "escrow_id": {
            "description": "The escrow ID to rate (must be in Released state)",
            "type": "string"
          },
          "stars": {
            "description": "Rating 1-5 stars (1=terrible, 5=excellent)",
            "maximum": 5,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "escrow_id",
          "stars"
        ],
        "type": "object"
      },
      "name": "rate_service"
    },
    {
      "description": "The smart way to pay an agent. Checks their trust score first, then auto-configures escrow protection based on risk.\n\nFlow: Check trust → Set protection level → Create escrow → Call API → Verify → Auto-release or auto-dispute.\n\nProtection levels (automatic):\n- High trust agent → 15min timelock, proceed normally\n- Moderate trust → 60min timelock, payment capped at $25\n- Low trust → 4hr timelock, payment capped at $5\n- Unknown/caution → BLOCKED — will not send funds\n\nThis is the recommended tool for paying any agent. If you need manual control, use x402_protected_call instead.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "amount_usdc": {
            "description": "Amount to pay in USDC",
            "maximum": 100,
            "minimum": 0.1,
            "type": "number"
          },
          "body": {
            "description": "Request body (for POST/PUT)",
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "HTTP headers to include",
            "type": "object"
          },
          "method": {
            "default": "GET",
            "description": "HTTP method (default: GET)",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "DELETE"
            ],
            "type": "string"
          },
          "seller_address": {
            "description": "Ethereum address of the agent you're paying",
            "type": "string"
          },
          "url": {
            "description": "The API endpoint URL to call",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "url",
          "seller_address",
          "amount_usdc"
        ],
        "type": "object"
      },
      "name": "safe_pay"
    },
    {
      "description": "Should you pay this agent? Check before sending money. Returns a go/no-go decision with recommended escrow protection parameters.\n\nUnlike other trust services, PayCrow ties trust directly to escrow protection:\n- High trust → shorter timelock, proceed with confidence\n- Low trust → longer timelock, smaller amounts recommended\n- Caution → don't proceed, or use maximum protection\n\nThis is the tool to call BEFORE escrow_create or safe_pay.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Ethereum address of the agent you're about to pay",
            "type": "string"
          },
          "intended_amount_usdc": {
            "description": "How much you plan to pay (helps calibrate the recommendation)",
            "maximum": 100,
            "minimum": 0.01,
            "type": "number"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "name": "trust_gate"
    },
    {
      "description": "Quick on-chain reputation check using only the PayCrow Reputation contract. Free, no API keys needed. Use trust_score_query for the full composite score.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Ethereum address of the agent to look up",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "name": "trust_onchain_quick"
    },
    {
      "description": "Full trust score breakdown for an agent address. Aggregates 4 on-chain sources: PayCrow escrow history, ERC-8004 agent identity, Moltbook social karma, and Base chain activity. Returns 0-100 score with per-source details. For a quick go/no-go decision, use trust_gate instead.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Ethereum address of the agent to look up",
            "type": "string"
          }
        },
        "required": [
          "address"
        ],
        "type": "object"
      },
      "name": "trust_score_query"
    },
    {
      "description": "Make an HTTP API call with manual escrow protection. Full control over verification and timelock parameters.\n\nFor most payments, use safe_pay instead — it auto-configures protection based on seller trust.\n\nUse x402_protected_call when you need:\n- Custom JSON Schema verification (not just \"valid JSON + 2xx\")\n- Hash-lock verification (exact response match)\n- Specific timelock durations\n- To override safe_pay's trust-based amount limits",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "amount_usdc": {
            "description": "Amount to pay in USDC",
            "maximum": 100,
            "minimum": 0.1,
            "type": "number"
          },
          "body": {
            "description": "Request body (for POST/PUT)",
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "HTTP headers to include",
            "type": "object"
          },
          "method": {
            "default": "GET",
            "description": "HTTP method",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "DELETE"
            ],
            "type": "string"
          },
          "seller_address": {
            "description": "Ethereum address of the API provider (seller) who will receive payment",
            "type": "string"
          },
          "timelock_minutes": {
            "default": 30,
            "description": "Minutes until escrow expires",
            "maximum": 43200,
            "minimum": 5,
            "type": "number"
          },
          "url": {
            "description": "The API endpoint URL to call",
            "format": "uri",
            "type": "string"
          },
          "verification_data": {
            "description": "Verification data: JSON Schema string (for schema strategy) or expected hash (for hash-lock)",
            "type": "string"
          },
          "verification_strategy": {
            "default": "schema",
            "description": "How to verify the response: 'schema' (JSON Schema) or 'hash-lock' (exact hash match)",
            "enum": [
              "schema",
              "hash-lock"
            ],
            "type": "string"
          }
        },
        "required": [
          "url",
          "seller_address",
          "amount_usdc",
          "verification_data"
        ],
        "type": "object"
      },
      "name": "x402_protected_call"
    }
  ]
}

What the leaf hashes

{"body":"2ba15c03a65afba27e162582fbba0da8a3dc8910007d44b08b4206dfbff8f694","id":263688,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793033643822137,"prev":null,"subject":"3dd4aa29-46f4-4b62-a403-01eb27eeba43","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. 0x477d2b7091f9e43e0bc53ae4b7a03ab4222ec80aed0f3d8d6bc0338b173e46b2
  2. 0xe354e83d583dc53ab338371649d6d103609328b5b734c0547c12b5249ec7a670
  3. 0xc3f91cd0689647e0539d779f1c3a0e5ed64d5e7f9bfb1c539b97af56d058df4a
  4. 0x3c25ada6c4b8826f64e3cf8ec2d4637c02ee97ddb74ef1630b1539fa4a6e22d9
  5. 0xfe2f2353cbc5068bb30fc809b4c8dec7607464c92f26f73e92678cb2320e0e00
  6. 0x3764c72f1bdaed4497baf53b7b17a27ff9411747ae62eac34e2540bd7b4f53d2
  7. 0x808500243c9e40261a62cde7208acff22a0c2535e43753abe372e06aea5555b3
  8. 0x726b9406fc32b7caa77379b07cd192bb19566fe59071714e9c06f97df9d0e61d
  9. 0x9f42dbb02295635e04223e4a7dac5552fc990eefdd9476cc0141288133086af6
  10. 0x67d81f51788e4acdc8f36ca9346a133b005814670585625cf73534b4509e188a
  11. 0x263cc8bcddc70acc00ef06b84397a006a822410dc2b18b714a0be72a820c5b17
  12. 0xae3550e71ca4b0f0b86c9905b234388d6bc01a22e52324fb1ee62a553273a1fe
  13. 0xb86fa861d04737cb507e721eefbb066d26528fdb6017b1145c18d1223b93ee21
  14. 0x88e326a39b26e2c125306c9d3805d14398ace088bba9a2a0aa376b811cfb201a
  15. 0x2be1e80e065dd6b2cc75a7142be22225acd144ac975d70bf24b4f01fd76dc497
  16. 0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON