← The evidence ledger
Evidence row 292682
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint c46f5e7f-cef9-425a-8512-2067a8fde55c
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 02f9d7de6fe2c695fa313e7e7147d37a0a30eb16de8de6bf8fc1fdbc2f8f0e83
- Leaf
- 0xf53d4b8375f3483f423dfbd17c73287f6f9e8d3b07e79b1cd50b411b269a5097
What was observed
{
"count": 11,
"tools": [
{
"description": "Apply part of a held deposit to one invoice: it records that amount as a PAYMENT through the invoice server. amount_minor defaults to the lesser of held and owed. More than either, or a pre-arrival date, is refused.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount_minor": {
"description": "How much of the deposit to apply, in minor units. Defaults to the smaller of what is held and what the invoice still owes",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"type": "integer"
},
"date": {
"description": "YYYY-MM-DD, the day the deposit was set against the invoice. Defaults to today",
"type": "string"
},
"id": {
"description": "Deposit id such as DEP-2026-0001, or an exact client name",
"minLength": 1,
"type": "string"
},
"invoice": {
"description": "The invoice number to apply it to, e.g. INV-2026-0001",
"minLength": 1,
"type": "string"
},
"note": {
"description": "Free text kept on the application row",
"maxLength": 10000,
"type": "string"
}
},
"required": [
"id",
"invoice"
],
"type": "object"
},
"name": "deposit_apply"
},
{
"description": "Answer \"how much of theirs am I holding?\" for one client or everyone: received, applied to invoices, refunded and still held, one row per currency, never added across them. Reads only; deposit_list shows each deposit.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"as_of": {
"description": "YYYY-MM-DD, count only deposits received on or before this day",
"type": "string"
},
"client": {
"description": "Client id, exact name or a name containing this text. Leave out for every client",
"type": "string"
}
},
"type": "object"
},
"name": "deposit_balance"
},
{
"description": "Delete a deposit that never moved money, freeing that month's free-tier slot. One with anything applied or refunded is refused, naming it, since a payment or refund would be left with nothing behind it.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "Deposit id such as DEP-2026-0001, or an exact client name",
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "deposit_delete"
},
{
"description": "List deposits newest first: DEP number, client, kind, date, reference and what was received, applied, refunded and still held, with the same four totalled per currency. Filter by client, status, kind, date.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"client": {
"description": "Only deposits for this client id, exact name, or a name containing this text",
"type": "string"
},
"from": {
"description": "YYYY-MM-DD, earliest received date",
"type": "string"
},
"kind": {
"description": "Default \"all\"",
"enum": [
"security",
"retainer",
"all"
],
"type": "string"
},
"status": {
"description": "Default \"all\". held means some of the money is still held",
"enum": [
"held",
"applied",
"refunded",
"all"
],
"type": "string"
},
"to": {
"description": "YYYY-MM-DD, latest received date",
"type": "string"
}
},
"type": "object"
},
"name": "deposit_list"
},
{
"description": "Record a security or retainer deposit received from a client, in minor units, with its currency, the date it arrived and the bank reference. Returns the DEP-YYYY-NNNN id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount_minor": {
"description": "What was received, in MINOR units: 50000 = 500.00 EUR, 50000 = JPY 50000. Never a decimal",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"type": "integer"
},
"client": {
"description": "Client name or client id. A name the invoice server already knows brings its address, email and VAT id onto the deposit",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"client_address": {
"description": "Postal address for the statement's client block, newlines allowed",
"maxLength": 2000,
"type": "string"
},
"client_email": {
"description": "Only if the user gave it; otherwise the stored client's email is used",
"maxLength": 320,
"type": "string"
},
"client_vat_id": {
"description": "Client VAT / tax registration id",
"maxLength": 64,
"type": "string"
},
"currency": {
"description": "Defaults to your business default currency",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"kind": {
"description": "security: held against damage or non-payment. retainer: held against work not yet invoiced",
"enum": [
"security",
"retainer"
],
"type": "string"
},
"notes": {
"description": "Free text kept on the record and printed on the statement",
"maxLength": 10000,
"type": "string"
},
"received_date": {
"description": "YYYY-MM-DD, the day the money arrived. Defaults to today",
"type": "string"
},
"reference": {
"description": "Bank reference, transfer note or cheque number the money arrived with",
"maxLength": 200,
"type": "string"
}
},
"required": [
"client",
"amount_minor",
"kind"
],
"type": "object"
},
"name": "deposit_record"
},
{
"description": "Give part or all of a held deposit back to the client, with the date and how it was sent. Refuses more than is still held. The invoice server is not touched: a refund is not a payment.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount_minor": {
"description": "How much to give back, in minor units. Defaults to everything still held",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"type": "integer"
},
"date": {
"description": "YYYY-MM-DD, the day the money went back. Defaults to today",
"type": "string"
},
"id": {
"description": "Deposit id such as DEP-2026-0001, or an exact client name",
"minLength": 1,
"type": "string"
},
"method": {
"description": "How it was sent, e.g. \"bank transfer to the account it came from\". Printed on the statement",
"maxLength": 200,
"type": "string"
},
"note": {
"description": "Free text kept on the refund row",
"maxLength": 10000,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "deposit_refund"
},
{
"description": "Call this tool to render one client's A4 deposit statement and return a download link valid for one hour. Titled DEPOSIT STATEMENT, every movement in date order, closing with what is still held. Pro.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"as_of": {
"description": "YYYY-MM-DD printed as the statement date. Defaults to today",
"type": "string"
},
"client": {
"description": "Client id, exact name or a name containing this text",
"minLength": 1,
"type": "string"
},
"currency": {
"description": "Only needed when the client has deposits in more than one currency",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"out_path": {
"description": "Name for the downloaded file, e.g. acme-deposits. Defaults to the client and currency; the statement comes back as a download link valid for one hour",
"type": "string"
}
},
"required": [
"client"
],
"type": "object"
},
"name": "deposit_statement_pdf"
},
{
"description": "Turn one client's deposits into a plain-text statement to paste into an email: every movement in date order and the closing balance held. Pass currency when they have more than one. Also a .txt download link valid one hour. Free on every tier.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"as_of": {
"description": "YYYY-MM-DD printed as the statement date. Defaults to today",
"type": "string"
},
"client": {
"description": "Client id, exact name or a name containing this text",
"minLength": 1,
"type": "string"
},
"currency": {
"description": "Only needed when the client has deposits in more than one currency",
"pattern": "^[A-Za-z]{3}$",
"type": "string"
},
"greeting": {
"description": "Opening line, default \"Hello\" plus the client name",
"type": "string"
},
"sign_off": {
"description": "Closing line, default your business name from the shared profile",
"type": "string"
}
},
"required": [
"client"
],
"type": "object"
},
"name": "deposit_statement_text"
},
{
"description": "The deposit book at a date: held per currency, received, applied and refunded, the oldest holdings with days held, and every deposit older than N days with nothing applied. Pro; deposit_balance is free.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"as_of": {
"description": "YYYY-MM-DD to count from. Defaults to today",
"type": "string"
},
"limit": {
"description": "How many oldest held deposits to list. Default 10",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"older_than_days": {
"description": "Flag deposits received this many days ago or more with nothing applied. Default 90",
"maximum": 36500,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": "deposits_report"
},
{
"description": "Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"key": {
"description": "License key from checkout, MCPL1.<payload>.<signature>",
"type": "string"
}
},
"required": [
"key"
],
"type": "object"
},
"name": "license_activate"
},
{
"description": "Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "license_status"
}
]
}What the leaf hashes
{"body":"02f9d7de6fe2c695fa313e7e7147d37a0a30eb16de8de6bf8fc1fdbc2f8f0e83","id":292682,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793048914043106,"prev":null,"subject":"c46f5e7f-cef9-425a-8512-2067a8fde55c","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xf53ce2710cbf60efe00f7124cadf9c113429c9465f698fdbd3fab71eee20d113
- 0x1b38a566e6077bf77bdf12c755de9b98d76724f00faff5cdab7a958d0661108a
- 0x218f807255cbf5bfd139ec1e909ec5d3bfb2b729630b34642b302e484536f137
- 0x6d2733d4e30c3f7c8a92b1db23fee362e23b28d805f91b95c1de27a6fe719f69
- 0xc2fba0516969e0b3ba410111f1eb460f00acb353f0bdf8b5da08aacc76064fd5
- 0xe847e6d3596ee675a8aa79b92cbfced635fbec6c0ffb6af2a04c1e8bce01692d
- 0x09a740d09397b15c20522395e740a4969efb497e3c24db2c32f7f6b921db8b4a
- 0x26f07f0af4c8911df13cb157ee560f9e1ce16c07dd41975c492712e6680d048f
- 0x3d82e9ada7c7d17c361b62c6ce33f9647e7db0d1c163d3a3aa6538d4c298b9bd
- 0xf7bdc34efb83dc5cbbcb5071558fe87a477728e005b9d180c492e090371b2357
- 0xd1f6cbd0d3ee44ebe2e23b42e7f1822bbdf0afd342375323b5d4f8bc89cd943a
- 0x86ae35463d854f3938d986999aa8497e14f0ba2aa6f39a269e1e6d1134f9b847
- 0x79695e4356ea25a2b58265a824698704cd2c743099ce2dca9e41384ce8f1a8c5
- 0xd769d41500075835c3b2f9184d223699fb983fd05c29fbcb44d964abc7ee380d
- 0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a
- 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
- 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae