addrbookFor publishers
← The evidence ledger

Evidence row 2625468

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 779f2ee4-f972-4f56-b392-927dd8f36625
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
c6c113f1cadcfeb177a5ce5dc0f5522c26568b2f32ad6f2f1713b0676863f6bc
Leaf
0xfe88783cf11f638b28452a954ae504fd43578e03e01cfab44e46f92dde92e601

What was observed

{
  "count": 2,
  "tools": [
    {
      "description": "Use when the user wants a shared place for a group (trip, flat, event) to keep adding expenses and see who owes whom, not just a one-time calculation. Creates a group and returns a link anyone can open without signing up to add and edit expenses. Anyone with the link can edit it, so share it only with the group. Creates a saved page, so only call it when the user wants a shared group. For a one-off answer use halves_settle_up. Example: {\"name\": \"Lisbon trip\", \"currency\": \"EUR\", \"people\": [\"Ana\", \"Ben\", \"Cy\"]}.",
      "inputSchema": {
        "properties": {
          "currency": {
            "description": "Main currency, default USD.",
            "type": "string"
          },
          "expenses": {
            "description": "Optional starting expenses (up to 50), same shape as the settle tool.",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "name": {
            "description": "Group name, e.g. \"Lisbon trip\".",
            "type": "string"
          },
          "people": {
            "description": "Names (2 to 40).",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "people"
        ],
        "type": "object"
      },
      "name": "halves_create_group_link"
    },
    {
      "description": "Use when the user shares a trip, dinner, household or group expense list and asks who owes whom, how to split costs, or how to settle up. Returns each person's paid, share and net balance, and the smallest set of payments that squares everyone up. Handles equal splits, splits among a subset, exact amounts and payments already made, with correct rounding. Nothing is saved. Example: {\"people\": [\"Ana\", \"Ben\", \"Cy\"], \"expenses\": [{\"what\": \"Dinner\", \"amount\": 90, \"paid_by\": \"Ana\"}, {\"what\": \"Taxi\", \"amount\": 24, \"paid_by\": \"Ben\", \"split_between\": [\"Ben\", \"Cy\"]}]}. Do the arithmetic here instead of by hand.",
      "inputSchema": {
        "properties": {
          "currency": {
            "description": "ISO currency code, default USD.",
            "type": "string"
          },
          "expenses": {
            "description": "What was paid.",
            "items": {
              "properties": {
                "amount": {
                  "description": "Total in normal units, e.g. 45.50",
                  "type": "number"
                },
                "exact": {
                  "additionalProperties": {
                    "type": "number"
                  },
                  "description": "Optional exact amount per person (must add up to amount). Overrides split_between.",
                  "type": "object"
                },
                "paid_by": {
                  "type": "string"
                },
                "split_between": {
                  "description": "Who shared it. Default: everyone, equally.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "what": {
                  "type": "string"
                }
              },
              "required": [
                "amount",
                "paid_by"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "payments": {
            "description": "Payments already made between people to settle up.",
            "items": {
              "properties": {
                "amount": {
                  "type": "number"
                },
                "from": {
                  "type": "string"
                },
                "to": {
                  "type": "string"
                }
              },
              "required": [
                "from",
                "to",
                "amount"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "people": {
            "description": "Names of everyone in the group (2 to 40, unique).",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "people",
          "expenses"
        ],
        "type": "object"
      },
      "name": "halves_settle_up"
    }
  ]
}

What the leaf hashes

{"body":"c6c113f1cadcfeb177a5ce5dc0f5522c26568b2f32ad6f2f1713b0676863f6bc","id":2625468,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793730909999377,"prev":null,"subject":"779f2ee4-f972-4f56-b392-927dd8f36625","subject_kind":"endpoint"}

Proof

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

  1. 0xfe885696fea0ca0eb49f747808a126d644849d3c6fa57a90be908d876983731b
  2. 0x13feb30263610344e467fef0767c8625184d64ec09e08d1a16e0b1d20b455ef2
  3. 0x9f38d6f21c192f0234c46512d031fb8f0118ef9b154ede5da87bf3761e874dac
  4. 0xe761c353ffce404b09c73403f59eca542b52ec80470cffbea09f0c97b32d7f6e
  5. 0x9cddb1dcb8697e1bcd34df7fb993b0f353ffde624e19ef38f7791e918c5b4e3b
  6. 0xc7ad3127d51db5f358f3337d4b99808dcdb2dd1c8501b8e61295a145bcedbc92
  7. 0x6f9e5d3abaa09b68d121a65f600e0bafac9f69592ef708f0b6db644de7a0cea8
  8. 0xf6195f3c2d2d335af16b20cd2746ad47e1c97e6f6a13ce806203d3d3eb1bc8be
  9. 0x83cfbdb83f837606eeac1b457ac17dd73347412f7e66ebc48990d2c9069259be
  10. 0xb2114800446268500f56e987bf67fc418636485c1143cecbdf376b7d4dd4d92d
  11. 0x51407fda6a76ed708c87cd601d15fec6e83ed2bec5e3afba65c2fecd41ba7a05
  12. 0x58cc449a0f15ac02f2747e19eb4ddeafd7c88e16b2bcbf5628b491aa6fa63ba7
  13. 0x54a6c4f1a32dea245c883e7129cc7c46a6cb711ffd9df5ff949c0ac3758e91ed
  14. 0x271cba1af45ae2133bb70993d2a8662bbad7bb8e8e0ab720853251f29efaee6d
  15. 0xaaf692e701ee622e9e0fa24c7d0f9f672df8c586de5a6f0375f8cadaf0c678a1
  16. 0xd60b16e6a71fbffc93a233ee89f916e50c0206a56f52c852b85e5a246b6b417c
  17. 0x85f3a27c16056a361d9ba33355a575ca7123f86de901b204c88953c4b8ea441a
Day root
0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
Chained
0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
Published
On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7

How to check it · This row as JSON