addrbookFor publishers
← The evidence ledger

Evidence row 723470

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint ad56efca-9962-4df4-84cd-bc9c86366ab4
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
87cfa93dd879c4502804f5fa02ad733c3d44f9ab845512bf2bdfefe71b06588b
Leaf
0x93cd6aab080219ac481c4f142b7c0799e49f9d623755b1570833caa654f8ba0f

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Full ordered event history for a lot with each event's fingerprint, plus an\nintegrity check of the whole chain. Paid per call via x402.",
      "inputSchema": {
        "properties": {
          "lot_code": {
            "description": "Lot or batch code",
            "title": "Lot Code",
            "type": "string"
          }
        },
        "required": [
          "lot_code"
        ],
        "title": "privi_chain_of_custodyArguments",
        "type": "object"
      },
      "name": "privi_chain_of_custody"
    },
    {
      "description": "Check whether a record fingerprint (from a label, certificate or document) exists in Privi. Free.",
      "inputSchema": {
        "properties": {
          "fingerprint": {
            "description": "64-character hex SHA-256 record fingerprint",
            "title": "Fingerprint",
            "type": "string"
          }
        },
        "required": [
          "fingerprint"
        ],
        "title": "privi_lookup_fingerprintArguments",
        "type": "object"
      },
      "name": "privi_lookup_fingerprint"
    },
    {
      "description": "List Privi Verify tools, what each costs, and how payment works.",
      "inputSchema": {
        "properties": {},
        "title": "privi_pricingArguments",
        "type": "object"
      },
      "name": "privi_pricing"
    },
    {
      "description": "Append an event to a lot's history (manufacturers only). Requires\n'Authorization: Bearer <key>' with a key from PRIVI_WRITE_KEYS. Over stdio,\nwrites are allowed only when PRIVI_ALLOW_LOCAL_WRITES=1.",
      "inputSchema": {
        "properties": {
          "actor": {
            "description": "Company or person responsible",
            "title": "Actor",
            "type": "string"
          },
          "event_type": {
            "description": "One of: received, produced, inspected, shipped, transferred, recalled",
            "title": "Event Type",
            "type": "string"
          },
          "location": {
            "description": "Where it happened, e.g. 'Plant 2, Port Huron MI'",
            "title": "Location",
            "type": "string"
          },
          "lot_code": {
            "description": "Lot or batch code",
            "title": "Lot Code",
            "type": "string"
          },
          "notes": {
            "default": "",
            "title": "Notes",
            "type": "string"
          },
          "product": {
            "default": "",
            "description": "Product name or part number",
            "title": "Product",
            "type": "string"
          },
          "quantity": {
            "default": "",
            "description": "Quantity with units, e.g. '500 kg'",
            "title": "Quantity",
            "type": "string"
          }
        },
        "required": [
          "lot_code",
          "event_type",
          "location",
          "actor"
        ],
        "title": "privi_record_eventArguments",
        "type": "object"
      },
      "name": "privi_record_event"
    },
    {
      "description": "PRIVI on Base: price, how much PRIVI and USDC the Privi swap desk holds (so whether a swap can fill),\nany Uniswap v3 / Aerodrome pools, and optionally a swap quote. Every paid Privi tool also accepts PRIVI. Free.",
      "inputSchema": {
        "properties": {
          "amount": {
            "default": "",
            "description": "Amount to swap in (USDC for buy, PRIVI for sell), e.g. '25'",
            "title": "Amount",
            "type": "string"
          },
          "side": {
            "default": "",
            "description": "Optional swap quote: 'buy' (USDC -> PRIVI) or 'sell' (PRIVI -> USDC)",
            "title": "Side",
            "type": "string"
          }
        },
        "title": "privi_token_marketArguments",
        "type": "object"
      },
      "name": "privi_token_market"
    },
    {
      "description": "Verify a lot: product, first and latest custody events, recall status, and whether\nits record history is intact. Paid per call via x402.",
      "inputSchema": {
        "properties": {
          "lot_code": {
            "description": "Lot or batch code to verify",
            "title": "Lot Code",
            "type": "string"
          }
        },
        "required": [
          "lot_code"
        ],
        "title": "privi_verify_lotArguments",
        "type": "object"
      },
      "name": "privi_verify_lot"
    }
  ]
}

What the leaf hashes

{"body":"87cfa93dd879c4502804f5fa02ad733c3d44f9ab845512bf2bdfefe71b06588b","id":723470,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793149427259057,"prev":null,"subject":"ad56efca-9962-4df4-84cd-bc9c86366ab4","subject_kind":"endpoint"}

Proof

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

  1. 0x93cd6ab380e92118696faa34674b05a941853b94d7681fce9b8fe5cec5a70496
  2. 0xadcb510abc4dbe9f0f851e6cb43a028debb218f323d836580d4b367200f174a9
  3. 0x9d64aef1ac045b94014969f81083504f8193fc5ec8351a1056c2a285003bd3bb
  4. 0x19da35a340625bbe8c87b8ce5a4187b73a59d3c28f64d23a266b12d0cbc05553
  5. 0x32b6c5883f03963bc0037208af0d34c89032f5180cfc3e7edc15e70d49f726de
  6. 0x41b020a5227d6516fc489f646aa0ff17b47f0723a627220f800f91471e70a4ec
  7. 0xfc7cefa250d49f86ede3724ca10a09badb7409b57d65917e57c5a6034067cc37
  8. 0x99402ea6617830f74a7e4d0b3eed55c6e921ce850bddd2aa065193fc14cc0a80
  9. 0xc35e521fb4ca667b6a61eadbf8b3fdb81c85a16086a58ad8c4b348380433aa35
  10. 0xc89701a36db8dd2087aec6e8c8bfb78ef3a7883deeb6a55f8c59fdfc7b46e967
  11. 0xedaea22f1a81ff75c24f0cc8cdaba7997e97a8b4c8ebe5a80558773a1392d290
  12. 0x017df795865df97dffb9e17332307b84d61758ae3aea237ff5c0be6081a1b098
  13. 0x80b6c9d16d3a8a2da308ee4d36f99dee58b79195b26a42263888bf815ddead58
  14. 0x088061c71633d244b99c7cc0814bbe03af458b18487f352611ae649c73589766
  15. 0xcf313ac43fef601c9e46f82a687b6a3c655f47c31675c1791c49de20295be63d
  16. 0x0f8977bd16865247451d1ee836b084081d3d0cd17d6a07353fad0c70393c7403
  17. 0xe08e8bd91858a8a10c46ecde9c29a6288b960987303173c5e882afb46ce91fa0
  18. 0xe6cfe00ae4e02bc12327e45b5f3334ea5850ba3bcc8e3101d30a8189856a95af
Day root
0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
Chained
0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
Published
On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae

How to check it · This row as JSON