nidhipati — proof of spend for AI agents

io.github.mrpkk由 GitHub 帳號 mrpkk 發布v0.7.1更新於 Nov 4, 2026

Proof-of-spend and reserve checks for AI agents: receipts, spend audit, NAV, reconciliation.

發布方自己的服務:Proof Holdings

已驗證Streamable HTTP可網頁執行金融安全與監控資料與分析

概覽

AI 產生的概覽

驗證 AI 代理的簽章支出憑證,並稽核代理花費、儲備淨值、結算證據與發票對帳。

可以做什麼
  • 離線驗證簽章支出憑證:結構、Ed25519 簽章、授權有效期、金額與用量計算、退款上限
  • 稽核已結算的代理呼叫紀錄,找出重複扣款、漲價、失敗仍計費、失控迴圈、未退款與預算超支
  • 把發行方的儲備明細換算成淨值,附明確公式與逐行證據雜湊,缺價時拒絕給出儲備比率
  • 比對解析方引用的來源與其宣稱結果,給出支持、有爭議、單一來源或證據不足的結論
  • 將發票與穩定幣轉帳配對,列出無人支付的發票、無發票的入帳與重複付款
適用情境
適合需要處理代理付款或帳務資料的情境:判斷某筆扣款是否在授權範圍內、在花費匯出檔中找出異常、初步檢視代幣化資產儲備報告,或把發票與轉帳對帳。五個工具都是對使用者提供資料的唯讀檢查。
執行需求
可作為遠端 streamable HTTP 端點使用,也可在本機執行(OCI 映像 ghcr.io/mrpkk/nidhipati:0.6.0 走 stdio,或 Python 套件)。未宣告驗證、環境變數或請求標頭。輸入以資料形式傳入而非檔案路徑,工具本身不發起網路請求。
安裝前請注意
結果僅為分析性檢查,不構成法定稽核、法律、稅務或投資建議,也不驗證鏈上交易。README 提到付費人工稽核服務與 5000 美元的發現保證;MCP 工具本身唯讀,不託管資金也不接觸私鑰。不要把真實帳務紀錄或金鑰貼到公開的問題追蹤頁面。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 nidhipati — proof of spend for AI agents,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.mrpkk%2Fnidhipati/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "nidhipati-proof-of-spend-for-ai-agents": {
      "type": "http",
      "url": "https://rta.lat/nidhipati/mcp"
    }
  }
}

README

Nidhipati

Proof of Spend for AI agents. A signed receipt that proves what an agent was authorized to pay, what it actually paid, what it used and what was refunded. Not a token, not custody, not another payment rail.

Рельсы двигают деньги. Nidhipati доказывает, что движение было правильным.

[tests] [MCP Registry] [Glama] [license]

Status: v0.6 — five CLIs, an MCP server, 94 tests, official MCP Registry and Glama listing.

Site: https://mrpkk.github.io/nidhipati/
Free browser audit (no signup): https://mrpkk.github.io/nidhipati/free-spend-audit.html
BusinessMCP directory: https://businessmcp.com/mcp-servers/nidhipati
Private scan request: https://github.com/mrpkk/nidhipati/issues/new?template=free-spend-audit.yml

[Free browser audit]

Reserve and NAV report

For tokenised assets: the issuer's own numbers turned into a NAV with explicit formulas and an evidence hash per line. The verdict is backed, underbacked, or incomplete — and the ratio is refused when any line has no price, because a number computed over half a reserve is not a number.

bash
nidhipati-reserve report examples/reserve.example.json --key keys/private.pem --markdown report.md
NAV = Σ quantity × price × (1 − haircut) − liabilitiesratio = NAV / supply

The statement hash is compared with the file if you provide it. The disclaimer travels inside the signed document. Details and the partner/legal checklist: docs/RESERVE-REPORT.md.

Resolution evidence

When a market resolves and someone disagrees, the question is whether the resolver's sources say what the resolver claims and whether they agree with each other. The report answers with four verdicts — supported, disputed, single_source, insufficient — and never picks a winner.

bash
nidhipati-resolve report examples/resolve.example.json --key keys/private.pem --markdown report.md

Details: docs/RESOLUTION-EVIDENCE.md.

Reconciliation

Invoices on one side, transfers on the other. The report names what is closed, what nobody paid, and what arrived without an invoice — a transfer that duplicates a payment is counted once, never twice.

bash
nidhipati-reconcile run examples/invoices.example.csv examples/transactions.example.csv --csv matches.csv

Details: docs/RECONCILIATION.md.

MCP server (for agents, not shells)

The same five checks over the Model Context Protocol: verify_receipt, audit_spend, reserve_report, resolve_report, reconcile_books. Input is data, never a file path and never a network call; the answers are the same reports the CLIs produce, including the refusal to print a backing ratio when a line has no price.

json
{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"reserve_report","arguments":{"reserve":{...}}}}
bash
python3 -m nidhipati_proof.mcp_stdio      # stdio transportdocker build -t nidhipati-mcp . && docker run -i --rm nidhipati-mcp

Five tools, all read-only: no custody, no keys, no chain read.

Official MCP Registry: https://registry.modelcontextprotocol.io/v0/servers?search=nidhipati (io.github.mrpkk/nidhipati, OCI ghcr.io/mrpkk/nidhipati:0.6.0).
Glama listing: https://glama.ai/mcp/servers/mrpkk/nidhipati.

Free scan, and what it costs after

Send records of what your agents spent and get the audit back — no card. The browser audit needs no account; a human review can go by email or Telegram, no GitHub needed: email [email protected] or Telegram with the downloaded report (not raw rows). GitHub is optional: open a private scan request; the issue is public, so ask the question only and never paste records or keys. Paid: first 3 audits $1,250; then $2,500 fixed, $1,500/mo retainer, or 20% of verified savings. $5,000 finding guarantee (identified overcharges, not recovery). Full terms, including what is not included: docs/OFFER.md.

In CI, on every run:

yaml
- uses: mrpkk/[email protected]  with:    records: billing/agent-spend.csv    policy: billing/policy.json

Quick start

bash
python3 -m pip install -e .[dev]python3 -m pytest -qpython3 -m nidhipati_proof.cli verify examples/proof-of-spend.example.json --pubkey <base64url>

What it checks

  • schema and canonical JSON;
  • Ed25519 signature;
  • mandate expiry vs settlement time;
  • amount, asset, network, payee;
  • usage.quantity × usage.unit_price vs payment;
  • refund ≤ payment;
  • verdict allow for a settled payment;
  • receipt ID/replay (v0.2 store).

Agent spend audit

A signed receipt proves one charge. A bill proves a month. The audit reads the records you already have (CSV or JSON) and names the rows where money left without a reason:

FindingWhat it means
duplicate_chargethe same receipt twice, or an equal charge within 120s with no receipt at all
price_escalationsettled above the authorised quote by more than 1%
failed_but_billedstatus failed/error and still charged
missing_refundauthorised 10, used 4, nothing returned
runaway_loopmore than 30 calls a minute from one agent
model_overpayfar above this agent's own median for the same tool and model (an estimate)
unknown_asset / unknown_network / missing_payeethe record does not say where the money went
budget_bypass / budget_exceededno policy file: the limit lives in a prompt; with a policy, the agent is over it
bash
python3 -m pip install -e .nidhipati-spend audit examples/spend-sample.csv --policy examples/spend-policy.example.jsonnidhipati-spend audit records.csv --json > report.json

Exit code 1 when there is an error — a pipeline can fail on it. The report keeps three amounts apart on purpose: spent without a reason (duplicates, escalation, failed calls, refunds not returned), above the usual price (an estimate, not proof), and over the limit (the money may have been spent on real work).

The sample is synthetic and labelled: it contains every finding once, so you can see what a report looks like before trusting it with real invoices.

Honest limits

  • v0.1 does not verify the on-chain transaction; onchain_verified=false is explicit.
  • It is not a statutory audit, legal, tax, or investment advice.
  • It does not guarantee the service was good; it proves the payment was within mandate.
  • No custody, no money transmission, no token.

Docs

  • SPEC.md — product, architecture, modules, SEO, monetization, 30/60/90.
  • PROGRESS.md — slices, acceptance, metrics.
  • docs/PROMPT-AND-IDEAS.md — prompt and decisions for RAG.
  • docs/SEO-MONETIZATION.md — keywords, pages, funnel, pricing.
  • docs/LAUNCH-KIT.md — Show HN, Reddit, Product Hunt, X/LinkedIn copy.
  • docs/DEMO.md — real commands and sample output.
  • docs/AGENT-SPEND-AUDIT.md, docs/RESERVE-REPORT.md, docs/RESOLUTION-EVIDENCE.md, docs/RECONCILIATION.md — module rules.
  • schemas/proof-of-spend.schema.json — v0.1 schema.
  • examples/proof-of-spend.example.json — example.

License

Apache-2.0.

來源:README.md,提交 2c3d835

工具

5

verify_receipt

Verify an agent payment receipt

Check a signed proof-of-spend receipt offline: schema, Ed25519 signature, mandate expiry, positive amount, quantity*unit_price == amount, refund not above payment. Use when an agent or provider returns a receipt and you need to know whether it actually proves the charge was allowed. Do NOT use to move funds or to confirm a transaction on-chain - nothing here reads a chain.

輸入參數receipt必填public_key必填

audit_spend

Audit an agent's spending records

Find duplicates, price escalation, failed-but-billed calls, runaway loops, missing refunds, model overpay, unknown asset/network and budget breaches in a list of settled agent calls. Returns three separate amounts (money without a basis, estimate above the agent's own median, budget overrun) instead of one sum, because adding them together would overstate what can be recovered. Do NOT use as a statement of money actually returned.

輸入參數policyrecords必填

reserve_report

Reserve and NAV report for a tokenised asset

Turn an issuer's reserve lines into a NAV with explicit formulas and a sha256 evidence hash per line. Verdict is backed, underbacked, or incomplete - and the backing ratio is refused (null) when any line has no price, because a ratio over half a reserve is not a number. Do NOT treat the result as a statutory audit.

輸入參數reserve必填

resolve_report

Resolution evidence for a prediction market

Weigh the sources a resolver says it read against the declared outcome. Verdicts: supported, disputed, single_source, insufficient. A conflict is reported as a conflict, never averaged. Do NOT use to trade or to place a position.

輸入參數market必填

reconcile_books

Reconcile invoices against transfers

Match invoices to stablecoin transfers by memo first, then exact amount and asset inside the invoice window. Names what is left over in both directions: invoices nobody paid, money nobody invoiced, invoices paid twice. A duplicate is counted once, never twice. Do NOT use as proof of who the payer was.

輸入參數invoices必填transactions必填

版本歷史

2
  1. v0.7.1最新Nov 4, 2026
  2. v0.6.1Oct 25, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Proof 整合