addrbookFor publishers
← The evidence ledger

Evidence row 564321

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint fce9444b-117c-498c-a84f-737f356276fd
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
599f43727d0931b028c5e83cb4c01e78b49efcdd9b8d34124d79c442e2c42158
Leaf
0x5cad573ecff8430af3d2549029cecf93d27b8b53018611dbad8cefb33b068b17

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "Spell a monetary amount in words, the way a cheque or an invoice requires — \"Four Thousand and Fifty Naira and Seventy-Five Kobo Only\". Supports NGN, USD, EUR and GBP with the correct major and minor unit names. It is the row that goes above the signature line on the invoices at https://zaleso.com/invoice",
      "inputSchema": {
        "properties": {
          "amount": {
            "description": "The amount, e.g. 4050.75",
            "type": "number"
          },
          "currency": {
            "description": "Default NGN",
            "enum": [
              "NGN",
              "USD",
              "EUR",
              "GBP"
            ],
            "type": "string"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "name": "amount_in_words"
    },
    {
      "description": "Encode text to Base64, or decode Base64 back to text. UTF-8 throughout, so accented text, emoji, Arabic, Devanagari and CJK survive the round trip — the naive btoa/atob version does not. Interactive version: https://zaleso.com/base64",
      "inputSchema": {
        "properties": {
          "mode": {
            "description": "Default encode",
            "enum": [
              "encode",
              "decode"
            ],
            "type": "string"
          },
          "text": {
            "description": "The text to encode, or the Base64 to decode.",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "base64_convert"
    },
    {
      "description": "Compute invoice totals from line items: per-line totals, subtotal, an optional discount, optional tax (the verified Nigeria VAT preset or any rate you name), a deposit already paid, and the balance due. Country-agnostic. The interactive version also produces the PDF: https://zaleso.com/invoice",
      "inputSchema": {
        "properties": {
          "currency": {
            "description": "Default NGN. Affects formatting only.",
            "enum": [
              "NGN",
              "USD",
              "EUR",
              "GBP"
            ],
            "type": "string"
          },
          "deposit": {
            "description": "Amount already paid.",
            "type": "number"
          },
          "discountAmount": {
            "description": "Discount as a flat amount.",
            "type": "number"
          },
          "discountPercent": {
            "description": "Discount as a percentage, 0-100.",
            "type": "number"
          },
          "lines": {
            "description": "Line items, up to 20.",
            "items": {
              "properties": {
                "description": {
                  "type": "string"
                },
                "quantity": {
                  "type": "number"
                },
                "unitPrice": {
                  "type": "number"
                }
              },
              "required": [
                "description",
                "quantity",
                "unitPrice"
              ],
              "type": "object"
            },
            "maxItems": 20,
            "type": "array"
          },
          "taxLabel": {
            "description": "Label for the tax row, e.g. \"GST\". Default \"Tax\".",
            "type": "string"
          },
          "taxRate": {
            "description": "Tax rate as a percentage (20 for 20%), for jurisdictions other than Nigeria. Takes precedence over vat.",
            "type": "number"
          },
          "vat": {
            "description": "Charge the verified Nigeria VAT rate. Only when the seller is VAT-registered in Nigeria. Default false.",
            "type": "boolean"
          }
        },
        "required": [
          "lines"
        ],
        "type": "object"
      },
      "name": "invoice_totals"
    },
    {
      "description": "Format (pretty-print) or minify JSON. Invalid input returns the line and column of the error. Interactive version: https://zaleso.com/json",
      "inputSchema": {
        "properties": {
          "indent": {
            "description": "Spaces; default 2",
            "maximum": 8,
            "minimum": 1,
            "type": "integer"
          },
          "json": {
            "description": "The JSON text",
            "type": "string"
          },
          "mode": {
            "description": "Default format",
            "enum": [
              "format",
              "minify"
            ],
            "type": "string"
          }
        },
        "required": [
          "json"
        ],
        "type": "object"
      },
      "name": "json_format"
    },
    {
      "description": "Work backwards from a target take-home to the gross salary that produces it, under the Nigeria Tax Act 2025 (2026 tax year). This is the question employers and contractors actually ask — \"what must I pay for them to clear ₦500,000 a month\" — and it cannot be answered by applying a rate, because PAYE is banded. Returns the required gross with the full band-by-band working and the statutory source. Informational only — verify with the tax authority. Interactive version: https://zaleso.com/ng/net-salary",
      "inputSchema": {
        "properties": {
          "includeNhf": {
            "description": "Deduct the 2.5% National Housing Fund contribution — voluntary for private-sector employees since 2023. Default false.",
            "type": "boolean"
          },
          "includePension": {
            "description": "Deduct the 8% employee pension contribution (PRA 2014). Default true.",
            "type": "boolean"
          },
          "period": {
            "description": "Whether takeHome is monthly or annual. Default monthly.",
            "enum": [
              "monthly",
              "annual"
            ],
            "type": "string"
          },
          "rentPaidAnnual": {
            "description": "Annual rent actually paid, in naira. Unlocks rent relief (20% of rent, capped at ₦500,000).",
            "type": "number"
          },
          "takeHome": {
            "description": "Target take-home (net) pay in naira, after PAYE and deductions.",
            "type": "number"
          }
        },
        "required": [
          "takeHome"
        ],
        "type": "object"
      },
      "name": "ng_gross_for_take_home"
    },
    {
      "description": "Calculate Nigeria PAYE income tax and net (take-home) salary under the Nigeria Tax Act 2025, effective for the 2026 tax year. Returns monthly take-home, monthly PAYE, the effective rate, and the full band-by-band working, with the statutory source and verification date. Handles pension (8%), NHF (2.5%, voluntary), rent relief (20% of rent, capped at ₦500,000), and the minimum-wage exemption. Figures are informational — verify with the tax authority. Interactive version: https://zaleso.com/ng/paye",
      "inputSchema": {
        "properties": {
          "grossIncome": {
            "description": "Gross salary in naira (before tax and deductions).",
            "type": "number"
          },
          "includeNhf": {
            "description": "Deduct the 2.5% National Housing Fund contribution — voluntary for private-sector employees since 2023. Default false.",
            "type": "boolean"
          },
          "includePension": {
            "description": "Deduct the 8% employee pension contribution (PRA 2014). Default true.",
            "type": "boolean"
          },
          "otherDeductionsAnnual": {
            "description": "Other eligible annual deductions actually paid (NHIS, life-insurance premium), in naira.",
            "type": "number"
          },
          "period": {
            "description": "Whether grossIncome is monthly or annual. Default monthly.",
            "enum": [
              "monthly",
              "annual"
            ],
            "type": "string"
          },
          "rentPaidAnnual": {
            "description": "Annual rent actually paid, in naira. Unlocks rent relief (20% of rent, capped at ₦500,000). Relief is claim-based: omit if no rent is declared.",
            "type": "number"
          }
        },
        "required": [
          "grossIncome"
        ],
        "type": "object"
      },
      "name": "ng_paye_calculate"
    },
    {
      "description": "Add Nigerian VAT to a net amount, or extract the VAT already contained in a VAT-inclusive amount. Uses the verified statutory rate from the data layer and returns it with its source and effective date — never an assumed rate. Informational only — verify with the tax authority. Interactive version: https://zaleso.com/invoice",
      "inputSchema": {
        "properties": {
          "amount": {
            "description": "The amount in naira.",
            "type": "number"
          },
          "mode": {
            "description": "'add' treats amount as VAT-exclusive and adds VAT; 'extract' treats it as VAT-inclusive and backs the VAT out. Default add.",
            "enum": [
              "add",
              "extract"
            ],
            "type": "string"
          },
          "year": {
            "description": "Tax year. Default 2026.",
            "type": "integer"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "name": "ng_vat_calculate"
    },
    {
      "description": "Generate a cryptographically secure random password (crypto.getRandomValues with rejection sampling — no modulo bias). Returns the password and its entropy. Interactive version: https://zaleso.com/password",
      "inputSchema": {
        "properties": {
          "excludeAmbiguous": {
            "description": "Drop lookalikes (l, I, 1, O, 0) for passwords that get read aloud",
            "type": "boolean"
          },
          "length": {
            "description": "Default 20",
            "maximum": 128,
            "minimum": 4,
            "type": "integer"
          },
          "symbols": {
            "description": "Include !@#$ etc. Default true",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "password_generate"
    },
    {
      "description": "Generate a QR code as an SVG image from text or a URL. The code encodes the value directly — no tracking redirect, so it works forever. Interactive version: https://zaleso.com/qr",
      "inputSchema": {
        "properties": {
          "errorCorrection": {
            "description": "Error correction level; H survives print damage best. Default M.",
            "enum": [
              "L",
              "M",
              "Q",
              "H"
            ],
            "type": "string"
          },
          "text": {
            "description": "Text or URL to encode (max 2953 chars)",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "qr_generate"
    },
    {
      "description": "Convert between Nigerian naira and US dollars, pounds, euros and other currencies at the Central Bank of Nigeria's official rate — the latest, or the rate that applied on a past date. The dollar uses the NFEM rate (the volume-weighted average CBN publishes); other currencies use CBN's selling rate. Never a parallel-market figure. Returns the converted amount with the rate, the trading date it applies to, and the CBN source. Interactive version: https://zaleso.com/ng/fx",
      "inputSchema": {
        "properties": {
          "amount": {
            "description": "The amount to convert.",
            "type": "number"
          },
          "date": {
            "description": "Use the rate that applied on this date, as YYYY-MM-DD, from 2024-12-02 onwards — e.g. an invoice date. On a weekend or public holiday the last trading day's rate applies. Default: the latest rate.",
            "type": "string"
          },
          "from": {
            "description": "The currency the amount is in. Default USD.",
            "enum": [
              "USD",
              "GBP",
              "EUR",
              "CNY",
              "JPY",
              "CHF",
              "ZAR",
              "SAR",
              "AED",
              "DKK",
              "XOF",
              "NGN"
            ],
            "type": "string"
          },
          "to": {
            "description": "Only when from is NGN: the currency to convert to. Default USD.",
            "enum": [
              "USD",
              "GBP",
              "EUR",
              "CNY",
              "JPY",
              "CHF",
              "ZAR",
              "SAR",
              "AED",
              "DKK",
              "XOF"
            ],
            "type": "string"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "name": "usd_ngn_convert"
    }
  ]
}

What the leaf hashes

{"body":"599f43727d0931b028c5e83cb4c01e78b49efcdd9b8d34124d79c442e2c42158","id":564321,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793137811738544,"prev":null,"subject":"fce9444b-117c-498c-a84f-737f356276fd","subject_kind":"endpoint"}

Proof

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

  1. 0x5cad69adc77810996abfa0da5854f1d9f15375284247ca16fd5adea29f30a98b
  2. 0x34ef2a756c51d00c7535024e265adb1f09508dbc58547002a4b03d87a10ff494
  3. 0xa2419ee28e2616f29f1289afdf7be95d2ae2ef9c245ac670d416897e09b89429
  4. 0xa032ef54c2be15b248b890a90f978c59ecb3063fbae40eea7bdda01500ee5a0b
  5. 0x4552106137459f12b60a58f10529b7ba75c202f53d9a39f9a191e6a164ce8c25
  6. 0x65aa49087b0022a41185ece4650cb0825159c9b888b2873c241ac41c677894b7
  7. 0x8bc2ed40cf1d13e982fa64dee13d3d32817be659ca090a96a83848ab74034196
  8. 0xf438e860702f0f6165b0b85ded9672ce81aa9467723474b73f02f92160d6a669
  9. 0x2014e8cc97f7f04e9335ad0ca0858398011b2056e7bd968efddbdb2966619ae1
  10. 0x8f33185ea453cc735cce4951add71a770865f4eabe3b7ee7a9fb227ebd339223
  11. 0x2852744b47bc9835dedf6e89aec877e57a0e0ed97b36700cae3173aefff12cb5
  12. 0x548136c1e3ccb412bb6e8b0e92df8bd9db651531331fa2a46332b9c2956172f5
  13. 0xeaf6b21867367f85a965f982b6593c42eafe4fdf74e94b675523a6478de49a54
  14. 0x4277e02be0b5d91d78bc2247e37d402572474ba896c2e8f45765c8dc4e244d36
  15. 0x6f00f0da417f4126951ba8ba9b7962c847e91f5c61364ad9ad47e5f979698a60
  16. 0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996
  17. 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON