addrbookFor publishers
← The evidence ledger

Evidence row 1245264

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint b0e0bdc7-74ef-4ca5-9b68-0003f02efab0
Recorded
Previous row
#223125
Body SHA-256
ee8fd884f10496c60202c06bd9a25ec36559a371e22dda22a2d58837962183e3
Leaf
0xa742ef43d4d08bba1ea0d712e349f257432f61c91506877d1aa8239d344ea57f

What was observed

{
  "count": 11,
  "tools": [
    {
      "description": "Freeze all open events into an immutable invoice (exactly-once).\n    The invoice amount is what agent-escrow-agent should settle.",
      "inputSchema": {
        "properties": {
          "meter_id": {
            "title": "Meter Id",
            "type": "string"
          }
        },
        "required": [
          "meter_id"
        ],
        "title": "close_periodArguments",
        "type": "object"
      },
      "name": "close_period"
    },
    {
      "description": "Create a usage meter between a provider and a consumer agent.\n\n    unit: what is being counted (call, token, kwh, ...). Price is in minor\n    currency units (cents) per unit. Returns the meter_id.",
      "inputSchema": {
        "properties": {
          "consumer": {
            "title": "Consumer",
            "type": "string"
          },
          "currency": {
            "default": "USD",
            "title": "Currency",
            "type": "string"
          },
          "price_minor_per_unit": {
            "title": "Price Minor Per Unit",
            "type": "number"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "sla_target": {
            "default": 0.99,
            "title": "Sla Target",
            "type": "number"
          },
          "unit": {
            "title": "Unit",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "consumer",
          "unit",
          "price_minor_per_unit"
        ],
        "title": "create_meterArguments",
        "type": "object"
      },
      "name": "create_meter"
    },
    {
      "description": "Describe this agent: name, version, purpose, every action it supports\n    and the inputs each one takes. Read-only and free; call it first to learn\n    how to use this server.",
      "inputSchema": {
        "properties": {},
        "title": "describe_agentArguments",
        "type": "object"
      },
      "name": "describe_agent"
    },
    {
      "description": "Admin: flag/unflag a meter as test/synthetic so its events are\n    excluded from usage statistics by default. Touches meter metadata only —\n    never events, never the hash chain, never billing accruals. Requires the\n    server's VIRIDIS_ADMIN_TOKEN.",
      "inputSchema": {
        "properties": {
          "admin_token": {
            "title": "Admin Token",
            "type": "string"
          },
          "is_test": {
            "title": "Is Test",
            "type": "boolean"
          },
          "meter_id": {
            "title": "Meter Id",
            "type": "string"
          },
          "note": {
            "default": "",
            "title": "Note",
            "type": "string"
          }
        },
        "required": [
          "meter_id",
          "is_test",
          "admin_token"
        ],
        "title": "flag_meterArguments",
        "type": "object"
      },
      "name": "flag_meter"
    },
    {
      "description": "Read usage events (paginated, read-only). Filter by meter, provider,\n    consumer_class (internal|external|unknown), channel, outcome (ok|error),\n    and ISO date range [since, until). Test-flagged events are excluded\n    unless include_test=true. Returns events + next_cursor.",
      "inputSchema": {
        "properties": {
          "channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Channel"
          },
          "consumer_class": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Consumer Class"
          },
          "cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Cursor"
          },
          "include_test": {
            "default": false,
            "title": "Include Test",
            "type": "boolean"
          },
          "limit": {
            "default": 100,
            "title": "Limit",
            "type": "integer"
          },
          "meter_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Meter Id"
          },
          "outcome": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Outcome"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Provider"
          },
          "since": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Since"
          },
          "until": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Until"
          }
        },
        "title": "list_eventsArguments",
        "type": "object"
      },
      "name": "list_events"
    },
    {
      "description": "List all meters with event/invoice counts.",
      "inputSchema": {
        "properties": {},
        "title": "list_metersArguments",
        "type": "object"
      },
      "name": "list_meters"
    },
    {
      "description": "Record a usage event. Idempotent on event_id (safe to retry — never\n    double-billed). outcome is 'ok' or 'error' and feeds the SLA report.",
      "inputSchema": {
        "properties": {
          "event_id": {
            "title": "Event Id",
            "type": "string"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Metadata"
          },
          "meter_id": {
            "title": "Meter Id",
            "type": "string"
          },
          "outcome": {
            "default": "ok",
            "title": "Outcome",
            "type": "string"
          },
          "quantity": {
            "title": "Quantity",
            "type": "number"
          }
        },
        "required": [
          "meter_id",
          "event_id",
          "quantity"
        ],
        "title": "record_usageArguments",
        "type": "object"
      },
      "name": "record_usage"
    },
    {
      "description": "Pure SLA report: success_rate vs sla_target, breach flag. No mutation.",
      "inputSchema": {
        "properties": {
          "meter_id": {
            "title": "Meter Id",
            "type": "string"
          }
        },
        "required": [
          "meter_id"
        ],
        "title": "sla_reportArguments",
        "type": "object"
      },
      "name": "sla_report"
    },
    {
      "description": "Totals for a meter: event count, total quantity, accrued minor units.",
      "inputSchema": {
        "properties": {
          "meter_id": {
            "title": "Meter Id",
            "type": "string"
          }
        },
        "required": [
          "meter_id"
        ],
        "title": "usage_summaryArguments",
        "type": "object"
      },
      "name": "usage_summary"
    },
    {
      "description": "Usage time series bucketed on each event's recorded_at (UTC;\n    bucket=day|hour), grouped across meters by provider — a real time-series\n    primitive, independent of meter creation times. Includes per-bucket\n    breakdowns by consumer_class / channel / provider. est_accrued_minor is\n    an estimate; authoritative billing stays with usage_summary.",
      "inputSchema": {
        "properties": {
          "bucket": {
            "default": "day",
            "title": "Bucket",
            "type": "string"
          },
          "channel": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Channel"
          },
          "consumer_class": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Consumer Class"
          },
          "include_test": {
            "default": false,
            "title": "Include Test",
            "type": "boolean"
          },
          "meter_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Meter Id"
          },
          "provider": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Provider"
          },
          "since": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Since"
          },
          "until": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "title": "Until"
          }
        },
        "title": "usage_timeseriesArguments",
        "type": "object"
      },
      "name": "usage_timeseries"
    },
    {
      "description": "Verify the tamper-evident event hash chain for a meter.",
      "inputSchema": {
        "properties": {
          "meter_id": {
            "title": "Meter Id",
            "type": "string"
          }
        },
        "required": [
          "meter_id"
        ],
        "title": "verify_chainArguments",
        "type": "object"
      },
      "name": "verify_chain"
    }
  ]
}

What the leaf hashes

{"body":"ee8fd884f10496c60202c06bd9a25ec36559a371e22dda22a2d58837962183e3","id":1245264,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793361991182579,"prev":223125,"subject":"b0e0bdc7-74ef-4ca5-9b68-0003f02efab0","subject_kind":"endpoint"}

Proof

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

  1. 0xa742e1daf280f71cfa2d60ceb47f2864f2c874ed04af5508b6cb848759be6ca5
  2. 0x81abab79bdbde637e2f5784de7152b5a737b1dc2d02dd768abcbb642ec4dc75d
  3. 0x5ba870610015915e416a3943e5bc976ca3a76f31e97022a3a1b26c57503965bc
  4. 0x94846d1ca50d76a4cb0f1fd2d22b119c7b2b9967798ec08b4a9d12f6773bb539
  5. 0xea02d3a2506b309e06b8a925ddaa3d365793f354c5e15e5d8358b8483a634c93
  6. 0x6acd2c284991adfb8baf6d887f8490f1af294c8ddebd1ba1915a192dedec9e26
  7. 0xf2f6f01831c4c6875c03bd4e7e82afd60899c31ed52207b070a754048ce2797f
  8. 0x147fe15989617494fa26a95162b0a469a43b81404dcebbc20755e1af478df48e
  9. 0xede55eb685db6db9e45f055d0e8f2cc2afb0b456ea188a2689afb075c2851d05
  10. 0xeee0a8568d07fb46f0c02049f63994f8bbba620c43225c8578a40d5cd37fb433
  11. 0xf9bc250c0d8a0ca82d1dc289b7f3c6512568e7eb9d78609d8e21bace2abc7f70
  12. 0x3df2c2751beefa6a19741e59d066755ac151aecfeffe57bb4142a13391159e9d
  13. 0xa2b1de1ad77c2c402e9780077d54e1e375f0df615775330ca3b7f3a0ca384ce1
  14. 0xe11a711cdcc033b4d3ff4f10f0568bda761703429a7ddfbf68a7fbd1d22911ff
  15. 0x11b43ed362a2fd4976e11eceb94ee4b7edbaf6823474ee1c36489f8f0a0496c4
  16. 0x835211170e79bdce1a823ec914e3532e128f77751e9074286da35091b0200284
  17. 0x61ef83255d34604cb052882568ca1d1386ac3cfb8284509715bc1734cff77831
  18. 0x0c43c73b62a5d49ee1444b5dc4195fc5b16b141d3f4458e2e9fbd5fd6ecb367d
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON