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 集成