Privi Quantum Ledger

io.github.canoydario847-cloud由 GitHub 帳號 canoydario847-cloud 發布v0.12.1更新於 Oct 30, 2026

Quantum-sealed audit logs for AI agents (ML-DSA-87, SHA3-512), plus Privi Guard and trust passports.

已驗證Streamable HTTP可網頁執行金融開發者工具安全與監控

概覽

AI 產生的概覽

Privi Quantum Ledger 為 AI 代理提供防竄改、雜湊鏈式稽核日誌,並提供合規報告、信任護照、KYA 錢包核驗與內容防護。

可以做什麼
  • 記錄與讀取稽核串流:附加操作、帶完整性檢查讀取條目、列出各串流
  • 稽核與報告:檢查日誌完整性、產生已封存的合規報告、匯出 PDF、驗證報告與回執
  • 信任與身分:簽發、驗證、把關與撤銷代理護照;綁定錢包並執行 Know-Your-Agent 核驗
  • 治理:OMB AI 使用案例清冊與後量子密碼資產清冊,含匯出與遷移計畫
  • 握手與授權:企業間雙向交易紀錄,以及由人工簽署的支出授權
  • 防護與即時控制:對 inbound 或 outbound 內容做注入與外洩篩檢,並提供即時事件串流、人工核准與緊急停止
適用情境
當你需要可證明的代理行為紀錄、SOC 2 或安全問卷所需證據,或在交易前評估另一個代理的可信度時適用。也適合需要依 OMB 要求維護 AI 使用案例清冊或後量子遷移報告的機關。
執行需求
遠端 streamable HTTP 端點,無需本機安裝。多數工具需要組織 API 金鑰,透過 Authorization Bearer 標頭傳送,可在伺服器上註冊取得。付費工具透過 x402 以 Base 上的 USDC 結算;免費工具不需金鑰。
安裝前請注意
API 金鑰只顯示一次,可存取貴組織的日誌,須妥善保管。付費呼叫會實際花費 Base 上的 USDC,Pro 升級每次付款增加 30 天。日誌、握手、授權與清冊類工具會寫入資料並錨定到鏈上,難以撤回。Guard 檢查會把內容傳送給第三方,README 稱不儲存文字。合規與後量子輸出不構成法律意見,也不代表任何認證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Privi Quantum Ledger,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "privi-quantum-ledger": {
      "type": "http",
      "url": "https://privi-ledger.onrender.com/mcp"
    }
  }
}

README

Privi Quantum Ledger MCP

(formerly Privi Ledger)

Quantum-sealed, tamper-evident audit logs for AI agents. Every company running agents needs to prove what those agents did: what data they touched, what they paid for, what they changed, and that nobody rewrote the record afterwards. Privi Ledger gives any MCP-capable agent a place to log each action, and gives auditors a way to verify the log, paid per check in USDC on Base via x402.

Works with Claude, ChatGPT, Cursor, VS Code and custom agents. Built by Privi World Co on the same record technology as Privi Verify.

Live (testnet): https://privi-ledger.onrender.com/mcp

Tools

Real-time tools (live_*, approval_*, trust_events, gateway_*, room_*) are described under Privi Live below.

ToolAccessWhat it does
ledger_pricingfreePrices, network, action types, how to get a key
ledger_check_receiptfreeConfirms an action receipt (entry_hash) exists and when; reveals no contents
ledger_audit_stream$0.02 (x402)Integrity audit of an agent's log: intact or not, where it broke, counts, time span, head hash. No action contents
ledger_record_actionorg keyAppend an action; returns the entry and its entry_hash receipt
ledger_read_streamorg keyRead your own entries with an integrity check
ledger_list_streamsorg keyYour streams and entry counts
ledger_compliance_reportorg keyAudit-ready report of agent activity for a period, sealed on the Privi chain
ledger_report_pdforg keyThe sealed report as a finished PDF (also at GET /reports/<id>.pdf with the org key)
ledger_handshake_offer / _accept / _reject / _inboxorg keyPrivi Handshake: two-sided records of dealings between companies
ledger_handshake_verifyfreePublic check of a handshake and its on-chain seal; never reveals terms
ledger_verify_reportfreeProves a report is unaltered and was issued by Privi Ledger; checks its on-chain seal

Action types: tool_call, data_access, data_change, payment, message, decision, approval, error, other. Outcomes: success, failure, pending, blocked.

How the log stays honest

Each entry's SHA-256 fingerprint covers its contents and the previous entry's fingerprint in the same stream. Editing, deleting or reordering any entry breaks the chain from that point, and audits report the exact entry where it broke. Organizations only ever see their own streams; API keys are stored as hashes.

Stream heads are anchored on the Privi blockchain every few minutes (see On-chain checkpoints), so integrity can be proven without trusting Privi.

Plans (self-serve)

PlanHowIncludes
Freeledger_signup (no key needed)Every tool, up to 500 entries per month
Proledger_upgrade_pro, $29 USDC per 30 days via x402Unlimited entries; each payment adds 30 days
EnterpriseCreated by Privi (/admin/orgs)Unlimited; billed by agreement

Any company, or an AI agent acting for one, can sign up, start logging, and upgrade without talking to anyone. Payments go straight to LEDGER_PAY_TO, and each purchase is recorded in the organization's own privi-billing stream. ledger_plan shows usage and renewal. Set LEDGER_FREE_MONTHLY and LEDGER_PRICE_PRO_MONTH to change the limits.

Onboarding a customer

Create an organization with the admin key (set LEDGER_ADMIN_KEY):

bash
curl -X POST https://<host>/admin/orgs \  -H "Authorization: Bearer $LEDGER_ADMIN_KEY" -H 'Content-Type: application/json' \  -d '{"name": "Acme Robotics"}'# -> {"org_id": "org_...", "api_key": "plk_...", ...}  (the key is shown once)

The customer adds the server to their agent with header Authorization: Bearer plk_..., and tells it to call ledger_record_action after each meaningful action. They share their org_id and stream names with auditors, who call ledger_audit_stream.

Compliance reports

ledger_compliance_report turns an organization's agent logs into evidence for SOC 2 reviews, customer security questionnaires and AI-regulation record keeping. For any period it reports actions by type, actors, failures, blocked actions, human approvals, log integrity and on-chain status. It also lists findings an auditor would raise, such as broken integrity, logs not yet anchored, failed actions, or payments and data changes with no human approval recorded. The result comes as JSON plus a ready-to-share Markdown version.

Each report is sealed. Its SHA-256 hash, taken over canonical JSON, is anchored on the Privi blockchain through Privi Anchor. Anyone holding the report can run ledger_verify_report, which recomputes the hash, confirms Privi Ledger issued exactly that content, and checks the anchor on chain. Editing even one number, such as hiding a failure, makes verification fail.

Privi Gov AI Inventory (OMB M-25-21)

Federal agencies must keep an inventory of their AI use cases, publish the releasable ones as a machine-readable file, and show minimum risk practices for high-impact AI. That requirement comes from OMB Memorandum M-25-21 and OMB's guidance on 2025 agency AI reporting. Privi Ledger covers the whole loop:

ToolWhat it does
gov_ai_usecase_saveAdd or update a use case in the guidance's reporting fields. Every change is a new version, written to the agency's tamper-evident ai-inventory log
gov_ai_inventoryCurrent inventory
gov_ai_inventory_checkFlags what a review would flag: missing required fields, PII without a Privacy Impact Assessment, and high-impact AI in pilot or deployment missing any minimum practice (testing, impact assessment, independent review, monitoring, operator training, fail-safe, appeals, public feedback) or without a recently active activity log as monitoring evidence. Practices waived by a written CAIO determination are respected
gov_ai_inventory_exportCSV of releasable use cases for agency.gov/ai, with its SHA-256 sealed on the Privi chain
gov_ai_verify_export (free)Proves a published inventory file is exactly what the agency exported

The inventory links to agents' Privi Ledger activity logs (monitoring_streams), so "ongoing monitoring" is backed by real, tamper-evident records.

Field names follow OMB's published reporting fields. Confirm them against OMB's current template before submitting. This tool supports compliance work; it is not legal advice or an OMB-approved system.

Privi Quantum-Ready (post-quantum migration)

Executive Order 14409 (June 2026) requires federal key establishment to move to post-quantum cryptography by Dec 31, 2030, and digital signatures by Dec 31, 2031. OMB M-26-15 asks every agency for a migration plan built on a cryptographic inventory (CBOM), prioritizing High Value Assets, high-impact systems and data that must stay sensitive past 2030, plus TLS 1.3 support by Jan 2, 2030.

ToolWhat it does
gov_pqc_classify (free)Classifies algorithms and cipher suites: quantum-vulnerable (RSA, ECDH, ECDSA, EdDSA, DH, DSA, MQV), post-quantum (ML-KEM, ML-DSA, SLH-DSA), hybrid, symmetric/hash, or unknown
gov_pqc_system_saveRecords one system's cryptographic assets (from people, scanners or agents). Versioned and written to a tamper-evident pqc-inventory log
gov_pqc_inventoryCurrent inventory
gov_pqc_planRanked migration queue with per-asset deadlines and NIST replacements, progress metrics, and findings: targets past the deadline, TLS below 1.3, priority assets with no target date, unrecognized algorithms
gov_pqc_exportThe CBOM plus plan as one JSON document, sealed on the Privi chain
gov_pqc_verify_export (free)Proves an exported document is unaltered

The rules follow public summaries of EO 14409 and OMB M-26-15. Confirm them against the official texts and NIST IR 8547 before relying on them. This tool supports compliance work; it is not legal advice.

Privi Passport (trust credentials for AI agents)

The feature no one else can copy: a signed, on-chain-anchored credential that says how much an AI agent can be trusted, scored 0-1000 from evidence only Privi Ledger holds.

ComponentMaxEvidence
history300verified entries and days of activity
integrity250every hash chain still verifies (all or nothing)
anchoring150share of streams whose on-chain checkpoint matches the record
reliability1001 - failure rate
oversight50human approvals on sensitive actions
compliance100a sealed compliance report exists and is clean
handshakes50deals other Privi organizations confirmed

Grades: A >= 850, B >= 700, C >= 550, D >= 400, E below. Valid 30 days.

  • passport_issue (org key; free on Pro/enterprise, $LEDGER_PRICE_PASSPORT via x402 on the free plan) - Ed25519-signed by the server, hash anchored on the Privi chain, every component itemised.
  • passport_verify (free) - signature, content, expiry, revocation, chain anchor, and a live re-score: if the agent's history is tampered with after issue, the passport fails.
  • passport_gate (free) - one-call allow/deny with your minimums (min_score, min_grade, require_anchored); send your own key and the decision is written to your log as due-diligence evidence.
  • passport_list, passport_revoke (org key).
  • Public: GET /passports/<id> (JSON + live verification), GET /passports/<id>/badge.svg (embeddable badge), GET /.well-known/privi-passport.json (issuer public key).

Why it compounds: agents that gate on passports push their counterparties onto Privi Ledger; every logged action, report and handshake raises the score; a better score wins more deals. Set LEDGER_PASSPORT_SIGNING_KEY (32-byte hex Ed25519 seed) to pin the issuer key across redeploys; otherwise one is generated and stored in the database.

Privi KYA (Know-Your-Agent for blockchain wallets)

As AI agents become the main senders of on-chain transactions, every chain, DeFi protocol, exchange, stablecoin issuer and x402 facilitator needs one answer before accepting a transaction: is this wallet operated by an audited agent, and how trustworthy is it right now? Privi KYA answers it, and only Privi can, because the answer is the Passport.

  • kya_challenge + kya_bind_wallet (org key) - bind a wallet to your Passport by signing a Privi challenge with the wallet (EIP-191 personal_sign, recovered in pure Python; no web3 dependency). A binding without a signature is only declared.
  • kya_check <address> (free) - resolves the wallet to its organization and live Passport; returns allow/deny with reasons, the current score and grade, and a Privi-signed KYA attestation valid 60 minutes that a facilitator can cache and verify offline. Send your key and the decision is logged as evidence.
  • kya_wallets, kya_unbind_wallet (org key) - rotated or compromised keys are denied immediately.
  • Connect wallet page: GET /kya/connect — paste the org key, connect MetaMask, sign once; done. No code needed.
  • Public: GET /kya/<address> (JSON verdict + attestation; ?min_score=&min_grade=&require_signed=), GET /kya/<address>/badge.svg.

Integration pattern for a chain or protocol: before accepting an agent transaction, GET /kya/<from>; require allow: true (and optionally proof: "signature"); keep the attestation + signature as your compliance record.

Privi Quantum Ledger (quantum-sealed blocks, fused with the Privi Foundation chain)

The whole log is sealed into a chain of quantum blocks every few minutes (LEDGER_QBLOCK_INTERVAL, default 300 s):

  • Each block commits to the previous block, the signed tree head of the transparency log (size + Merkle root) and a SHA3-512 root of the entries it adds.
  • Blocks are hashed with SHA3-512 (FIPS 202; 256-bit security even against Grover's quantum search) and co-signed with ML-DSA-87 (FIPS 204, CNSA 2.0) and Ed25519, the same keys as Privi Fortress.
  • Consecutive blocks are linked by RFC 9162 consistency proofs, so the log provably only grew.
  • Fused with the Privi Foundation chain (Cosmos SDK + CometBFT + Cosmos EVM, production-network/): every block names the Foundation chain IDs (PRIVI_FOUNDATION_COSMOS_CHAIN_ID, PRIVI_FOUNDATION_EVM_CHAIN_ID) and, when PRIVI_FOUNDATION_RPC_URL points at a Foundation node, carries a witness of its latest block (height + hash). Until the Foundation mainnet launches, each block settles on Base through Privi Anchor.

Tools (all free except sealing): qledger_status, qledger_block, qledger_verify_chain (anyone can re-verify the entire chain), qledger_entry_proof (prove a receipt is sealed in a block, without revealing contents), qledger_seal (organization key; seal now). Privi Quantum Scan (/quantum-scan) is the public block explorer: every block, entry-receipt, tree-head, log-root and Base settlement hash, with search by block height or any hash. Only hashes and counts are shown, never an organization, stream or entry contents. JSON behind it: GET /quantum-ledger (status), /quantum-ledger/stats, /quantum-ledger/blocks?limit&before, /quantum-ledger/blocks/<height>, /quantum-ledger/entries?limit&offset&block, /quantum-ledger/search?q=.

Engineering controls, not a certification (FIPS 140-3, FedRAMP, DoD IL).

Privi Fortress (defense-grade integrity controls)

Engineering controls aligned with CNSA 2.0 and NIST SP 800-53 (AU-9 protection of audit information, AU-10 non-repudiation, AC-5 separation of duties, SC-13 cryptographic protection). They are not a certification (no FIPS 140-3 validation, FedRAMP or DoD Impact Level authorization is claimed).

  • Post-quantum co-signatures. Passports, compliance reports, mandates, KYA and mandate attestations, tree heads and evidence bundles are signed with Ed25519 and ML-DSA-87 (NIST FIPS 204; the CNSA 2.0 parameter set). Keys: fortress_keys, /.well-known/privi-passport.json. Pin the seed with LEDGER_PQ_SIGNING_KEY (32-byte hex) or one is generated and stored.
  • Transparency log. Every entry from every organization is a leaf in one RFC 9162 Merkle tree (the Certificate Transparency design). ledger_tree_head returns a dual-signed tree head, anchored on the Privi chain every LEDGER_STH_INTERVAL seconds (default 900); ledger_inclusion_proof proves an entry is in the log and ledger_consistency_proof proves the log only grew between two heads. HTTP: /log/sth, /log/inclusion?hash=, /log/consistency?first=&second=. All free.
  • Two-Person Integrity. fortress_tpi_policy names the officers' wallets and how many must approve (at least 2). fortress_tpi_request returns an approval page (/tpi/<id>); each officer signs with their own wallet, the same officer cannot approve twice, outsiders are refused, and any officer can veto. fortress_tpi_execute consumes the authorization once. Every step is logged.
  • Air-gapped evidence bundles. ledger_evidence_bundle exports entries, the hash chain, an inclusion proof, the signed tree head, the on-chain checkpoint and Privi's keys, dual-signed. python verify_bundle.py bundle.json (download at /tools/verify_bundle.py) checks all of it with no network access.

Privi Mandates (human-authorized agent spending)

Signed proof that a person authorized an AI agent to spend, which any merchant or payment facilitator can check before taking the agent's money.

  1. mandate_create (org key) drafts the terms: budget, per-payment cap, allowed payees (0x addresses or domains), expiry, purpose. It returns a sign_url.
  2. The human opens /mandates/<id>/sign, reads the plain-English terms, and signs once with their wallet (EIP-191; free, no transaction). The terms hash is countersigned by Privi and anchored on the Privi chain, and the approval is logged.
  3. Before each payment the agent calls mandate_spend, which enforces the caps, payee list, expiry and remaining budget atomically and writes the payment (or the blocked attempt) to the agent's tamper-evident log.
  4. Merchants and facilitators call mandate_check or GET /mandates/<id>/check?amount=&payee= (free) and get allow/deny with reasons plus a Privi-signed attestation.
  5. The human revokes from the same page with one signature, or the organization calls mandate_revoke.

Public: GET /mandates/<id> (terms, signatures, budget, recent spends).

Privi Guard (prompt-injection and data-leak check with receipts)

One call checks content before an agent acts on it or sends it:

  • inbound: prompt injection, fake system turns, exfiltration and prompt-leak requests, concealment, tool and payment coercion, hidden text, markdown-image exfiltration, base64-hidden instructions;
  • outbound: cloud and API keys, private keys, tokens, seed phrases, passwords, card numbers, SSNs and URL data smuggling, with a redacted copy.

Each check returns an Ed25519-signed receipt holding the content's SHA-256 (never the content). Receipts are Merkle-batched into the transparency log every five minutes and anchored on-chain.

MCPguard_check, guard_check_many, guard_receipt, guard_balance, guard_buy_credits, guard_pricing; gateway_set_guard screens every tool result through a Privi Gateway (tag or block)
HTTPPOST /guard/v1/check, /check_many, /signup, /demo (website, rate-limited, no receipt); GET /guard/v1/receipts/<id>, /pricing, /stats, /revenue (admin key)
Price1,000 checks per month free per organization, then credits (1k / 10k / 100k for 7 / 50 / 300 USDC) or 1 cent per check via x402 (MCP _meta or HTTP PAYMENT-REQUIRED / PAYMENT-SIGNATURE)
SDKsguard-sdk/: Python and JS clients (zero dependencies) and a Claude Code hook

Privi Scan (public MCP trust registry)

Privi Scan syncs the official MCP Registry. It reads every public streamable-HTTP server's tool list with initialize and tools/list only, and never calls a tool. It grades each server A-F for tool poisoning:

  • prompt-injection markers
  • concealment from the user
  • requests for SSH keys, .env files or seed phrases
  • tool shadowing
  • invisible characters
  • unauthenticated high-impact tools

Every tool definition is hashed. The first observation and every change go into the Privi Ledger transparency log (Merkle tree, anchored on-chain). That gives anyone a permanent record of what a server's tools said and when they changed.

Directory/scan, one server at /scan/s/<server_id>
Free checkmcp_server_check(url, expected_tools_hash?), or GET /scan/api/check?url=&expected=
Searchscan_search, scan_server, scan_changes, scan_stats, or /scan/api/servers, /scan/api/changes, /scan/api/stats
Watch (org key)scan_watch pins the tools_hash and sends real-time scan.tools_changed / scan.risk_found / scan.server_down events on your org Live channel; free 3 servers, Pro 500
Ownersscan_claim_start / scan_claim_verify (token at /.well-known/privi-scan.txt), scan_rescan, scan_owner_listing (opt out)
Badge/scan/badge/<server_id>.svg
Live channelsscan (public, delayed for free) and scan:<server_id>

Config: SCAN_ENABLED (default 1), SCAN_INTERVAL (300 s), SCAN_BATCH (40), SCAN_REPROBE_S (6 h), SCAN_REGISTRY_URL.

Privi Live (real-time: streams, human approvals, kill switch, gateway, rooms)

Everything here runs over WebSocket and server-sent events, backed by one durable event log (7 days of replay).

Streams (live_info lists them): wss://…/live/ws, GET /live/events (SSE), GET /live/trust/recent, dashboard at /live.

  • Channels: trust (public: passports issued / revoked / re-scored, wallets bound, mandates activated or revoked, transparency-log heads anchored), mandate:<id>, and org (private: a live tail of your audit log, approvals, kill switch, rooms).
  • WebSocket frames: {"type":"auth","key":"…"}, {"type":"subscribe","channels":["trust","org"],"replay":20,"filter":{"address":"0x…","types":["passport."]}}, {"type":"kill","stream_id":"agent|*"}, {"type":"ping"}. Server frames: {"type":"event","event":"passport.score_changed","id":N,"channel":"trust","at":"…","data":{…}}, heartbeat.
  • API keys never go in URLs: use Authorization: Bearer (SSE/HTTP) or the first WebSocket frame.
  • Free and anonymous subscribers see the public channels delayed by LIVE_FREE_DELAY_S (default 300 s); Pro and enterprise get them in real time. A background watcher re-scores every live passport every LIVE_TRUST_INTERVAL seconds (default 120) and announces score or state changes (valid → broken / expired).

Human approvals. approval_policy_set makes mandate_spend pause on payments over a threshold: it returns approval_required with an approve_url; the mandate's principal signs an approve/deny message with their wallet (EIP-191), then the agent calls mandate_spend again with approval_id. An approval is for exactly one payment (mandate, amount and payee must match), valid 10 minutes after it is granted, usable once. approval_request / approval_wait do the same for any action. The organization's API key can only cancel, so an agent cannot approve itself.

Kill switch. live_kill (or privi kill, the /live dashboard, or a WebSocket frame) stops mandate_spend, the organization's gateways and room messages for one agent or all of them on the very next call, and pushes agent.killed to the live channel. Audit logging is never blocked. live_resume lifts it.

Gateway. gateway_create puts any public HTTPS MCP server behind /gw/<id>/mcp (and wss://…/gw/<id>/ws, the same JSON-RPC over one persistent connection). Privi rate-limits each caller, can require a Passport (min_score: the caller proves a KYA wallet with a fresh personal_sign over Privi Gateway <id>\nTimestamp: <ts>), meters every tools/call, writes each call to your log, and forwards the request unchanged, including x402 payment headers, so the upstream's own paywall keeps working. The kill switch stops it instantly. Upstreams that resolve to private, loopback or link-local addresses are refused. Free plan: 1,000 metered calls and 2 gateways; Pro: unlimited calls, 50 gateways. Per-tool stats: gateway_stats.

Rooms. room_open creates a live, hash-chained conversation between two organizations' agents (wss://…/rooms/<id>/ws; invite by org id or one-time join code). Optionally charge the guest per message, paid under their human-signed Mandate (budget, cap, payee list, approval policy and kill switch all apply). Closing a room seals the transcript: signed with Ed25519 and ML-DSA-87, anchored on the Privi chain, and written into both organizations' logs. room_verify (free) checks a transcript against the seal. Privi enforces and records the per-message charge; moving the money is between the two parties.

Privi AI Act Pack (EU AI Act register)

Every company that builds or uses AI in the EU needs to know each system's tier and prove its obligations. ai_act_system_save registers a system, screens it against the Article 5 bans, classifies it (prohibited / high-risk / transparency / general-purpose / minimal) and lists the obligations for its role with dates (Annex III high-risk from 2 Dec 2027, Annex I from 2 Aug 2028, per the Digital Omnibus, Regulation (EU) 2026/1744). ai_act_check flags gaps; ai_act_export returns a register sealed on chain that anyone checks free with ai_act_verify_export. Workflow aid, not legal advice.

Privi Supplier Proof (buyers require it, suppliers join)

A buyer publishes what suppliers must prove (supplier_requirement_create, shareable invite page at /supplier/requirements/<id>). Suppliers answer from their own Privi org with document fingerprints only (supplier_proof_submit). On approval (supplier_proof_decide) Privi issues a certificate naming both companies and the evidence hashes, sealed on chain, with a public page /certs/<id> and badge /certs/<id>/badge.svg. supplier_cert_verify is free and can confirm a specific document is covered.

Privi Content Seal (real vs AI-made)

seal_content seals the SHA-256 of a file or text with who made it and whether AI was involved (human, ai_assisted, ai_edited, ai_generated + tool); a batch of up to 50 is one on-chain anchor. Anyone checks free with seal_verify, GET /seal/<sha256>, a badge, or the drag-and-drop page /seal/check (the file is hashed in the browser and never uploaded).

Privi Handshake

A dealing between two companies, such as a payment, a data transfer, a delivery or an agreement, gets recorded by both of them, with neither able to deny or rewrite it alone.

  1. Company A's agent calls ledger_handshake_offer with the other company's org_id and the terms. A's log records the offer.
  2. Company B's agent sees it in ledger_handshake_inbox and calls ledger_handshake_accept, or ledger_handshake_reject with a reason.
  3. On acceptance, B's log records the same terms with A's entry hash, A's log records the confirmation with B's entry hash, and a pair hash binding the terms and both entries is anchored on the Privi blockchain.
  4. Anyone can run ledger_handshake_verify to see both parties, the status, whether both entries still exist, and the on-chain seal, without seeing the terms.

Handshakes only work between organizations on Privi Ledger.

On-chain checkpoints

Every 5 minutes the server anchors the latest fingerprint of each stream that changed on the Privi blockchain through Privi Anchor. Audit results include onchain_checkpoint: the anchored position, transaction, and Merkle proof, plus an anchor_verify call anyone can run. If stored history no longer matches what was anchored, the audit fails even when every local hash was recomputed consistently. Set LEDGER_ANCHOR_KEY (an Anchor API key) to turn it on; LEDGER_ANCHOR_INTERVAL changes the period (seconds, default 300).

Payments

Same x402 v2 MCP flow as Privi Verify: an unpaid call returns PaymentRequired; the agent retries with a signed USDC authorization in _meta["x402/payment"]; the server verifies, runs the audit, settles, and returns the receipt in _meta["x402/payment-response"]. Funds go straight to LEDGER_PAY_TO.

Run, test, deploy

bash
pip install -e ".[dev]"cp .env.example .envpytestprivi-ledger-mcp            # HTTP :8000, MCP at /mcpprivi-ledger-mcp --stdio    # local clients; set LEDGER_LOCAL_ORG_KEY

The Dockerfile runs on Railway with a volume at /data. Start on base-sepolia; switch to base only with a production facilitator.

Roadmap

  • Subscription billing per organization
  • Retention policies and exports to customer storage

License

MIT © 2026 Dario Canoy, Privi World Co

Dual-payment groundwork: USDC production billing + valueless PRVI_TEST simulation

The existing USDC via x402 payment tools are unchanged. The additive MCP tool privi_payment_options reports two clearly distinct paths:

  • USDC_X402: the existing real/staging payment rail, depending on LEDGER_NETWORK and LEDGER_PAYMENTS_ENABLED. All settlement still passes the existing facilitator.
  • PRVI_TEST_SIMULATION: a strictly off-chain, no-value developer simulator. It cannot pay for a service, issue or move PRVI, grant Ledger Pro, add Guard credits, activate any financial chain, or be used as a settlement attestation.

The simulator is disabled by default. To enable it in a disposable development or isolated staging service, set PRVI_TEST_PAYMENT_MODE=1 and LEDGER_NETWORK=base-sepolia. When LEDGER_NETWORK=base, simulation is always forced off even if the flag is set. Keep the flag at 0 in production.

A verified existing Ledger organization with its API key can run:

  1. privi_payment_options (no key required; lists methods and launch status).
  2. privi_test_payment_quote with sku=ledger_upgrade_pro (API key required).
  3. privi_test_payment_simulate with the returned quote ID and acknowledgement="VALUELESS TEST ONLY" (same organization key).

A simulated receipt says SIMULATED_NOT_PAID, paid: false, settled: false, service_unlocked: false and real_transaction_hash: null. Quotes expire after 10 minutes, are bound to one organization, are one-use only, and are held in ephemeral process memory. Real USDC billing continues exclusively through existing tools such as ledger_upgrade_pro and the original x402 facilitator.

Native PRVI real settlement is not enabled. The PRVI mainnet release, fee and token economics, security audit, independent validators, legal review, chain ID, oracle/quote policy, custody and payment replay protections must pass separately reviewed launch gates before any real-value PRVI path is designed.

Run the isolated developer safety suite:

cd ledger-server && python -m pytest tests/test_dual_payments.py

來源:ledger-server/README.md,提交 ba19d8b

工具

121

privi_token_market

PRIVI token market

PRIVI on Base: price, how much PRIVI and USDC the Privi swap desk holds (so whether a swap can fill), any Uniswap v3 / Aerodrome pools, and optionally a swap quote. Every paid Privi tool also accepts PRIVI. Free.

輸入參數sideamount

ledger_pricing

Ledger pricing

List Privi Ledger tools, what each costs, and how to get an organization key.

無需輸入參數。

ledger_check_receipt

Check a receipt

Confirm that an action receipt exists in the ledger and when it was recorded. Reveals no action contents. Free.

輸入參數entry_hash必填

ledger_audit_stream

Audit a stream

Check whether an agent's action log is intact: entry count, time span, action and failure counts, head hash, and where tampering broke the chain if it did. Does not reveal the actions themselves. Paid per call via x402.

輸入參數org_id必填stream_id必填

ledger_record_action

Record an agent action

Append an action to the organization's tamper-evident log. Returns the entry with its entry_hash receipt. Requires the organization API key.

輸入參數actor必填detailsoutcomesummary必填resourcestream_id必填action_type必填

ledger_read_stream

Read a stream

Read your organization's entries in a stream, oldest first, with an integrity check of the whole stream. Requires the organization API key.

輸入參數limitafter_seqstream_id必填

ledger_list_streams

List streams

List your organization's streams with entry counts. Requires the organization API key.

無需輸入參數。

ledger_compliance_report

Compliance report

Audit-ready report of your AI agents' activity for a period (SOC 2 evidence, security questionnaires, AI-regulation record keeping): actions by type, failures, human approvals, log integrity, on-chain status, and findings. The report's hash is anchored on the Privi blockchain so it cannot be edited later without detection. Requires the organization API key.

輸入參數sinceuntilstreams

ledger_report_pdf

Compliance report PDF

A finished PDF of a sealed compliance report, for auditors and customers. Returned as base64 (pdf_base64) and as an embedded PDF resource; also downloadable at /reports/<report_id>.pdf with the organization key. Requires the organization API key.

輸入參數report_id必填

ledger_verify_report

Verify a report

Check that a compliance report is unaltered: recomputes its hash, confirms Privi Ledger issued it, and checks the anchor on chain (Base, until the Privi chain mainnet). Free; no key needed.

輸入參數report必填

ledger_signup

Sign up

Create a Privi Ledger organization on the free plan and get its API key (shown once; store it). Free plan: up to the monthly entry limit, all tools included. Upgrade any time with ledger_upgrade_pro. No key needed to sign up.

輸入參數organization_name必填

ledger_plan

Plan and usage

Your plan, entries used this month, the limit, and when a Pro plan renews. Requires your organization API key.

無需輸入參數。

ledger_upgrade_pro

Upgrade to Pro

Buy 30 days of Privi Ledger Pro (unlimited entries) for your organization, paid in USDC on Base via x402. Each call adds 30 days. Requires your organization API key.

無需輸入參數。

gov_ai_usecase_save

Save an AI use case

Add or update an entry in your agency's AI use case inventory (OMB M-25-21). Every change creates a new version and is written to your tamper-evident 'ai-inventory' log. Requires the organization API key.

輸入參數actor必填mergeuse_case必填

gov_ai_inventory

AI use case inventory

Your agency's AI use case inventory: the current version of each record. Requires the organization API key.

輸入參數use_case_id

gov_ai_inventory_check

Check inventory readiness

Flags what an OMB M-25-21 review would flag before you submit: missing required fields, PII without a Privacy Impact Assessment, and high-impact AI in pilot or deployment missing any minimum risk practice (testing, impact assessment, independent review, monitoring, operator training, fail-safe, appeals, public feedback) or without a recently active activity log as monitoring evidence. Requires the organization API key.

無需輸入參數。

gov_ai_inventory_export

Export public inventory

Machine-readable CSV of your publicly releasable AI use cases (for publishing at agency.gov/ai), with its SHA-256 sealed on chain (Base, until the Privi chain mainnet) so the published file can be proven unaltered. Requires the organization API key.

輸入參數include_withheld

gov_ai_verify_export

Verify a published inventory

Check that a published AI inventory file is exactly what the agency exported from Privi Ledger, and return its on-chain seal. Free; no key needed.

輸入參數csv_text必填

gov_pqc_classify

Classify an algorithm

Classify cryptographic algorithms as quantum-vulnerable (RSA, ECDH, ECDSA, EdDSA, DH, DSA, MQV), post-quantum (ML-KEM, ML-DSA, SLH-DSA), hybrid, symmetric/hash, or unknown. Free.

輸入參數algorithms必填

gov_pqc_system_save

Save a system's crypto inventory

Record the cryptographic inventory (CBOM) of one system for post-quantum migration. Every change creates a new version and is written to the agency's tamper-evident 'pqc-inventory' log. Scanners and agents can submit results directly. Requires the organization API key.

輸入參數actor必填system必填

gov_pqc_inventory

Crypto inventory

Current cryptographic inventory of your systems. Requires the organization API key.

輸入參數system_id

gov_pqc_plan

Post-quantum migration plan

Prioritized post-quantum migration plan: every quantum-vulnerable asset ranked (High Value Assets, high-impact systems and long-lived sensitive data first; key establishment before signatures), with its deadline (key establishment Dec 31 2030, signatures Dec 31 2031), recommended NIST replacement, progress metrics, and findings (missed deadlines, TLS below 1.3, no target dates, unrecognized algorithms). Requires the organization API key.

無需輸入參數。

gov_pqc_export

Export sealed CBOM and plan

Export the full cryptographic inventory (CBOM) and migration plan as one JSON document for OMB, the CIO or auditors, with its SHA-256 sealed on chain (Base, until the Privi chain mainnet). Requires the organization API key.

無需輸入參數。

gov_pqc_verify_export

Verify a CBOM export

Check that a CBOM and migration-plan document is exactly what was exported from Privi Ledger and return its on-chain seal. Free; no key needed.

輸入參數document必填

ledger_handshake_offer

Offer a handshake

Start a Privi Handshake: a two-sided record of a dealing with another company's agent (payment, data transfer, delivery, agreement). Recorded in your log now; when the other company accepts, both logs hold matching entries and the pair is sealed on chain (Base). Requires your organization API key; the other company must also use Privi Ledger.

輸入參數actor必填detailssummary必填resourcestream_id必填action_type必填expires_hourscounterparty_org_id必填

ledger_handshake_inbox

Handshake inbox

Handshakes sent to and from your organization, newest first, with their terms and status. Requires your organization API key.

無需輸入參數。

ledger_handshake_accept

Accept a handshake

Accept a handshake addressed to your organization: records the same terms in your log, confirms it in the other company's log, and seals the matched pair on chain (Base). Requires your organization API key. Read the terms first with ledger_handshake_inbox.

輸入參數actor必填stream_id必填handshake_id必填

ledger_handshake_reject

Reject a handshake

Reject a handshake addressed to your organization; the other company's log records the rejection. Requires your organization API key.

輸入參數reasonhandshake_id必填

ledger_handshake_verify

Verify a handshake

Public check of a handshake: both companies, status, whether both matching log entries still exist, and the on-chain seal. Never reveals the terms. Free; useful for disputes and audits.

輸入參數handshake_id必填

passport_issue

Issue a Privi Passport

Issue a Privi Passport: a signed, on-chain-anchored trust credential for your agent or organization, scored 0-1000 (grade A-E) from verified history, integrity, anchoring, reliability, human oversight, compliance reports and confirmed handshakes. Show it to counterparties; they verify it free with passport_verify / passport_gate. Valid 30 days. Free on Pro/enterprise; free-plan organizations pay per passport via x402. Requires the organization API key.

輸入參數stream_id

passport_verify

Verify a Privi Passport

Check an AI agent's Privi Passport before trusting it: Privi signature, content unaltered, not expired or revoked, anchor on chain (Base), and a live re-score of the agent right now (so tampering after issue is caught). Free; no key needed.

輸入參數passportpassport_id

passport_gate

Gate on a Privi Passport

One-call allow/deny decision before transacting with another AI agent: verifies its Privi Passport and applies your minimums, returning the reasons. If you send your organization API key the decision is recorded in your own tamper-evident log as due-diligence evidence. Free.

輸入參數purposemin_grademin_scorepassport_id必填require_anchored

passport_list

List your passports

Your organization's issued passports with score, grade, expiry and revocation. Requires the organization API key.

無需輸入參數。

passport_revoke

Revoke a passport

Revoke one of your passports (e.g. an agent was retired or compromised). Verifiers see it immediately. Requires the organization API key.

輸入參數reasonpassport_id必填

kya_check

KYA: check a wallet

Know-Your-Agent for blockchains: is this wallet operated by an audited AI agent, and how trustworthy is it right now? Resolves the address to its organization and live Privi Passport and returns allow/deny with reasons, plus a Privi-signed attestation (valid 60 min) you can cache. For chains, DeFi protocols, exchanges, stablecoin issuers and x402 facilitators. Free; send your organization key to log the check as evidence.

輸入參數address必填purposemin_grademin_scorerequire_signed

kya_challenge

KYA: challenge for a wallet

Step 1 of binding a wallet to your Privi Passport: get a message to sign with that wallet (EIP-191 personal_sign). Valid 30 minutes. Requires the organization API key.

輸入參數address必填

kya_bind_wallet

KYA: bind a wallet

Step 2: bind the wallet to your organization's Privi Passport so its transactions pass KYA checks. With a wallet signature the binding is *proven*; without one it is only *declared* (most checkers require proven). Requires the organization API key.

輸入參數labeladdress必填signaturestream_idchallenge_id

kya_wallets

KYA: your wallets

Wallets bound to your organization and how each was proven. Requires the organization API key.

無需輸入參數。

kya_unbind_wallet

KYA: unbind a wallet

Remove a wallet from your Passport (rotated or compromised key). KYA checks deny it immediately. Requires the organization API key.

輸入參數address必填

mandate_create

Create a spending mandate

Draft a Privi Mandate: the human's signed permission for your agent to spend, with a budget, per-payment cap, allowed payees and expiry. Returns sign_url: send it to the human, who reads the plain-English terms and signs once with their wallet (free, no transaction). Nothing can be spent until they sign. Requires the organization API key.

輸入參數dayspayeespurpose必填stream_id必填agent_walletmax_total_usdc必填principal_wallet必填max_per_payment_usdc

mandate_check

Check a payment against a mandate

For merchants, payment facilitators and counterparties: did a human authorize this AI agent to pay you this amount? Verifies the human's wallet signature, status, expiry, per-payment cap, remaining budget and payee list, and returns allow/deny with reasons plus a Privi-signed attestation. Free; no key needed.

輸入參數payee必填mandate_id必填amount_usdc必填

mandate_spend

Spend under a mandate

Call before each payment: checks the mandate and, if allowed, deducts the amount from the budget and records the payment in the agent's tamper-evident log. Refused payments are logged as blocked. Refused at once if the kill switch is on. Over the organization's live-approval threshold it returns approval_required with an approve_url for the human; call again with approval_id once they approve. Requires the organization API key.

輸入參數payee必填referencemandate_id必填amount_usdc必填approval_id

mandate_get

Get a mandate

Public view of a mandate: terms, status, the human's signature, spent and remaining budget, and recent spends. Free.

輸入參數mandate_id必填

mandate_list

List your mandates

Your organization's mandates with status and remaining budget. Requires the organization API key.

無需輸入參數。

mandate_revoke

Revoke a mandate

Stop an agent from spending under a mandate (the human can also revoke from the sign_url page). Requires the organization API key.

輸入參數reasonmandate_id必填

fortress_keys

Fortress keys

Privi's public signing keys: Ed25519 and ML-DSA-87 (NIST FIPS 204, CNSA 2.0 post-quantum). Pin these to verify Privi signatures offline. Free.

無需輸入參數。

ledger_tree_head

Signed tree head

The latest signed tree head of Privi's transparency log: an RFC 9162 Merkle root over every entry ever recorded, signed with Ed25519 and ML-DSA-87, and periodically anchored on chain (Base). Free.

無需輸入參數。

ledger_inclusion_proof

Inclusion proof

Merkle audit path proving an entry is in Privi's append-only transparency log (RFC 9162). Verifiable offline against the signed tree head. Reveals no entry contents. Free.

輸入參數tree_sizeentry_hash必填

ledger_consistency_proof

Consistency proof

Proof that Privi's log only grew between two signed tree heads: nothing recorded earlier was edited, removed or reordered (RFC 9162). Free.

輸入參數first必填second

fortress_tpi_policy

Set a two-person policy

Define a Two-Person Integrity policy: which officers can approve, and how many distinct approvals an action needs. Requires the organization API key.

輸入參數name必填required必填officer_wallets必填

fortress_tpi_request

Request two-person approval

Ask officers to authorize a sensitive action under a two-person policy. Returns approve_url for the officers; each signs with their wallet. Do not act until fortress_tpi_status shows 'authorized', then call fortress_tpi_execute. Requires the organization API key.

輸入參數hourspolicy必填detailssummary必填stream_id必填

fortress_tpi_status

Two-person status

Status of a two-person request (pending, authorized, vetoed, expired, executed) and who approved. Free.

輸入參數request_id必填

fortress_tpi_execute

Execute an authorized action

Consume a two-person authorization right before performing the action. Single use; refused unless authorized. Requires the organization API key.

輸入參數request_id必填

qledger_status

Quantum Ledger status

Privi Quantum Ledger: latest quantum-sealed block (SHA3-512, ML-DSA-87 + Ed25519), entries waiting for the next block, the Privi Foundation chain it is fused with, and signing keys. Free.

無需輸入參數。

qledger_block

Quantum Ledger block

One quantum-sealed block with its signatures, settlement on chain and a validity check. Free.

輸入參數height必填

qledger_verify_chain

Verify the Quantum Ledger

Verify the whole Quantum Ledger: SHA3-512 block hashes, hash links, both signatures on every block, and for recent blocks the log roots, entry roots and RFC 9162 consistency proofs. Free; anyone can run it.

輸入參數deep_last

qledger_entry_proof

Quantum proof for an entry

Prove an entry (by its receipt hash) is sealed in a quantum block: the block, its post-quantum signatures, its on-chain settlement and the Merkle inclusion proof. Reveals no entry contents. Free.

輸入參數entry_hash必填

qledger_seal

Seal a quantum block now

Seal your newest entries into a quantum block now instead of waiting for the next scheduled block (every few minutes). Does nothing if no entries are waiting. Requires the organization API key.

無需輸入參數。

fortress_tpi_list

List two-person requests

Your organization's two-person requests. Requires the organization API key.

無需輸入參數。

ledger_evidence_bundle

Evidence bundle

Export a self-contained evidence package for auditors, courts or air-gapped systems: every entry, the hash chain, an RFC 9162 inclusion proof, the signed tree head, on-chain checkpoint and Privi's keys, signed with Ed25519 and ML-DSA-87. Verify offline with verify_bundle.py (GET /tools/verify_bundle.py). Requires the organization API key.

輸入參數stream_id必填

live_info

Privi Live: how to connect

Real-time Privi: WebSocket and server-sent-event streams (trust changes, your own audit tail, approvals), a kill switch, human approvals, a metered MCP gateway and paid agent-to-agent rooms. Returns the endpoints, channels, frames and what each plan gets. Free; no key needed.

無需輸入參數。

live_kill

Kill switch: stop an agent

Stop an agent at once: mandate_spend, your gateways and your room messages are refused until live_resume. Takes effect on the next call, and is pushed to your live channel immediately. Audit logging keeps working. Requires the organization API key.

輸入參數reasonstream_id

live_resume

Kill switch: resume an agent

Lift a kill switch set with live_kill. Requires the organization API key.

輸入參數stream_id

live_status

Live status

Your kill switches, live-approval thresholds, pending approvals, gateways, rooms and usage this month. Requires the organization API key.

無需輸入參數。

approval_policy_set

Approvals: set a live-approval threshold

Make mandate_spend pause for a human on large payments: any payment over the threshold creates an approval request that the mandate's principal must sign with their wallet before the agent can spend. Requires the organization API key.

輸入參數stream_id必填approve_over_usdc

approval_request

Approvals: ask a human

Ask a human to approve (or deny) an action. Returns approve_url for them: they read the request and sign with their wallet (free, no transaction). Your agent then calls approval_wait, or watches your live channel for approval.approved. Only the named wallet can decide; your API key can only cancel. Requires the organization API key.

輸入參數payeettl_saction必填reasonreferencestream_id必填mandate_idamount_usdcapprover_wallet

approval_status

Approvals: check one

Status of an approval request: pending, approved, denied, expired or cancelled, with the human's wallet signature once they decide. Free.

輸入參數approval_id必填

approval_wait

Approvals: wait for the human

Block until the human decides (or timeout_s passes). Returns the current status; if still pending, call again. Free.

輸入參數timeout_sapproval_id必填

approval_cancel

Approvals: cancel

Withdraw an approval request (or revoke an approval not yet used). Your key cannot approve, only cancel. Requires the organization API key.

輸入參數approval_id必填

approval_list

Approvals: list yours

Your organization's approval requests, newest first. Requires the organization API key.

輸入參數status

trust_events

Trust feed: recent events

The latest trust-change events: passports issued, revoked or re-scored, wallets bound or unbound, mandates activated or revoked, transparency-log heads anchored. Without a Pro key the feed is delayed (see live_info); use the WebSocket or SSE stream for real time. Free.

輸入參數limitaddresspassport_id

gateway_create

Gateway: protect and meter an MCP server

Put your MCP server behind Privi. You get an HTTP URL and a WebSocket URL that forward to it unchanged (x402 payments keep working) while Privi rate-limits callers, optionally requires a Privi Passport, meters every tool call and writes each call to your tamper-evident log. The kill switch stops the gateway instantly. Upstream must be public HTTPS. Requires the organization API key.

輸入參數name必填guardmin_scorerate_per_minupstream_url必填

gateway_set_guard

Gateway: Guard mode

Turn Privi Guard on for every tool result that passes through your gateway: tag adds the verdict and a receipt id in result._meta['privi/guard']; block also replaces injected results with an error before your agents see them. Each result is one Guard check (free allowance, then credits). Requires the organization API key.

輸入參數mode必填gw_id必填

gateway_info

Gateway: info

Public description of a gateway: where it forwards, whether callers need a Passport, its rate limit and its call counts. Free.

輸入參數gw_id必填

gateway_list

Gateway: your gateways

Your organization's gateways. Requires the organization API key.

無需輸入參數。

gateway_stats

Gateway: usage

Calls, errors, denials and x402 payment prompts per tool and per day for one of your gateways, plus your monthly quota. Requires the organization API key.

輸入參數gw_id必填

gateway_delete

Gateway: delete

Turn a gateway off. Its URLs stop working at once; history stays in your log. Requires the organization API key.

輸入參數gw_id必填

room_open

Rooms: open a live room

Open a live, hash-chained conversation room for two organizations' agents. Both connect over WebSocket (ws_url), authenticate with their API keys and talk in real time; closing the room seals the transcript on the Privi chain. Optionally charge per message, paid under the guest's human-signed Mandate. Requires the organization API key.

輸入參數hourspayeetitle必填max_messagescounterparty_org_idprice_per_message_usdc

room_info

Rooms: info

Public facts about a room: parties, price, message count, head hash and its seal once closed. No message text. Free.

輸入參數room_id必填

room_list

Rooms: list yours

Rooms your organization owns or joined. Requires the organization API key.

無需輸入參數。

room_transcript

Rooms: transcript

Every message in a room you are part of, with the chain check. Requires the organization API key.

輸入參數room_id必填

room_close

Rooms: close and seal

Close a room and seal its transcript: the hash is signed (Ed25519 + ML-DSA-87), anchored on chain (Base) and written to both organizations' logs. Either party can close. Requires the organization API key.

輸入參數room_id必填

room_verify

Rooms: verify a sealed transcript

Check a closed room's seal (signature, on-chain anchor) and, if you pass the transcript, that it is complete and unaltered. Free; no key needed.

輸入參數room_id必填messages

mcp_server_check

Check an MCP server before connecting

Free safety check for any remote MCP server, before an agent connects to it or after it was approved. Privi reads the server's tool list (it never calls a tool) and returns a verdict: ok, caution, danger (tool poisoning: hidden instructions, concealment from the user, requests for keys or private files, tool shadowing, invisible characters), changed (tools differ from expected_tools_hash), unverified (tools behind auth) or unreachable. Also returns the tools_hash to pin, a grade A-F and a link to the server's public history. Every first observation and change is recorded in Privi's on-chain-anchored transparency log. No key needed.

輸入參數url必填expected_tools_hash

scan_server

Privi Scan: one server in full

Full report for one MCP server: every tool definition with its hash, all findings with evidence, the change history (what was added, removed or modified, and when) and the transparency-log proof. Free.

輸入參數server_id必填include_history

scan_changes

Privi Scan: recent tool changes

The latest MCP servers whose tool definitions changed after they were first observed (possible rug pulls), newest first. Subscribe to the Live channel 'scan' for these as they happen. Free.

輸入參數limit

scan_stats

Privi Scan: totals

How many MCP servers Privi Scan tracks, by status and grade, tools indexed, changes recorded and how to verify the evidence. Free.

無需輸入參數。

scan_watch

Watch an MCP server (pin its tools)

Pin the server's current tools as approved and get a real-time event on your private Live 'org' channel the moment they change, a risk appears or the server goes down. Free plan: 3 servers; Pro: 500. Needs the org key.

輸入參數repinserver必填

scan_unwatch

Stop watching an MCP server

Remove a server from your watchlist. Needs the org key.

輸入參數server必填

scan_watchlist

Your watched MCP servers

Your watched servers with their pinned tools_hash and whether each has drifted since you pinned it. Needs the org key.

無需輸入參數。

scan_claim_start

Claim your MCP server's listing

Start proving you operate an MCP server listed in Privi Scan. Returns a token to publish at https://<your host>/.well-known/privi-scan.txt. Verified owners get an owner-verified badge, unlimited rescans, change alerts and control over the listing. Needs the org key (create_org is free).

輸入參數server必填

scan_claim_verify

Finish claiming your MCP server

Check the token at /.well-known/privi-scan.txt and mark your organization as the verified owner.

輸入參數server必填

scan_owner_listing

Show or hide your server's listing

Verified owners only: hide the server from the directory (opt-out) or show it again. History already in the transparency log cannot be removed.

輸入參數listed必填server必填

scan_rescan

Rescan an MCP server now

Probe the server immediately instead of waiting for the next crawl (every ~6 hours). For the verified owner or Pro organizations.

輸入參數server必填

guard_check

Guard: check text before acting on it or sending it

Check content for prompt injection (inbound) or leaked secrets and personal data (outbound) before an agent acts on it or sends it. Returns allow / warn / block, the findings, a redacted copy for outbound secrets, and an Ed25519-signed receipt anchored on-chain, which proves the check happened. Privi does not store the text. Free for 1,000 checks a month with an organization key; otherwise 1 cent per check in USDC via x402.

輸入參數text必填sourcedirection

guard_check_many

Guard: check many texts at once

Check up to 50 texts in one call (for example every tool result in a step). Each item is billed as its own check against your free allowance or credits and gets its own receipt. Needs an organization key.

輸入參數items必填

guard_receipt

Guard: verify a receipt

Verify a Privi Guard receipt: the signed body, signature validity and its Merkle proof into the anchored transparency log. Free; anyone holding the id can verify it.

輸入參數check_id必填

guard_balance

Guard: balance

Your free checks left this month and your prepaid credits. Needs the organization key.

無需輸入參數。

guard_buy_credits

Guard: buy check credits

Buy prepaid Privi Guard checks in USDC on Base via x402. Credits never expire and are used after the free monthly allowance. Needs the organization key.

輸入參數pack必填

guard_pricing

Guard: pricing and how it works

What Privi Guard checks, what it costs, and how receipts work. Free.

無需輸入參數。

privi_payment_options

Privi: payment methods

See existing USDC/x402 service billing and separately gated valueless PRVI_TEST development mode.

無需輸入參數。

privi_test_payment_quote

Privi: create a valueless test-payment quote

Off-chain PRVI_TEST quote. Requires organization key and explicit test mode. Never takes money.

輸入參數sku必填

privi_test_payment_simulate

Privi: simulate a valueless test payment

Consume a test quote once. Receipt is NOT payment, on-chain proof or entitlement.

輸入參數quote_id必填acknowledgement必填

ai_act_system_save

AI Act: register an AI system

Add or update an AI system in your company's EU AI Act register. Privi screens it against the Article 5 bans, classifies it (prohibited / high-risk / transparency / general-purpose / minimal), and lists the obligations that apply to your role with their dates. Every change is versioned and written to your tamper-evident 'ai-act' log. Requires the organization API key.

輸入參數actor必填mergesystem必填

ai_act_register

AI Act: your register

Your EU AI Act register: each AI system's current record, tier and applicable obligations. Requires the organization API key.

輸入參數system_id

ai_act_check

AI Act: compliance check

What a customer's due-diligence or a regulator would flag today: prohibited practices, incomplete Article 5 screens, obligations already in force without evidence (critical), obligations due within 180 days (medium), upcoming high-risk duties, and high-risk systems with no recent log. Requires the organization API key.

無需輸入參數。

ai_act_export

AI Act: export sealed register

Export your AI Act register as JSON to hand to customers, auditors or regulators, with its SHA-256 sealed on chain so anyone can prove it was not edited afterwards (check with ai_act_verify_export). Requires the organization API key.

無需輸入參數。

ai_act_verify_export

AI Act: verify a register

Check that an AI Act register a supplier or partner sent you is exactly what they exported from Privi, and return its on-chain seal. Free; no key needed.

輸入參數register_json必填

supplier_requirement_create

Supplier Proof: require proof from suppliers

Publish a requirement your suppliers must meet. Share the returned invite_url with them: they answer it from their own Privi organization (free sign-up) and you approve or reject in supplier_proof_inbox. Requires the organization API key.

輸入參數items必填title必填valid_days

supplier_requirement_get

Supplier Proof: view a requirement

See what a buyer requires of its suppliers. Free; no key needed.

輸入參數req_id必填

supplier_proof_submit

Supplier Proof: submit proof to a buyer

Answer a buyer's supplier requirement with fingerprints of your evidence documents. The buyer reviews and, if approved, Privi issues a certificate sealed on chain. Requires your organization API key (sign up free with ledger_signup).

輸入參數req_id必填evidence必填

supplier_proof_inbox

Supplier Proof: inbox

Supplier submissions waiting for your decision (as the buyer). Requires the organization API key.

輸入參數status

supplier_proof_decide

Supplier Proof: approve or reject

Approve a supplier's proof (issues a certificate naming both companies and the evidence fingerprints, sealed on chain, with a public verify page and badge) or reject it with a reason. Requires the organization API key.

輸入參數reasonsub_id必填approve必填

supplier_cert_verify

Supplier Proof: verify a certificate

Check a Privi supplier certificate: untampered, not revoked, not expired, which buyer approved which supplier, and (optionally) whether a document is one it covers. Free; no key needed.

輸入參數cert_id必填document_sha256

supplier_certs

Supplier Proof: your certificates

Certificates you issued (as buyer) or hold (as supplier). Requires the organization API key.

無需輸入參數。

supplier_cert_revoke

Supplier Proof: revoke a certificate

Revoke a certificate you issued (as the buyer). Verification shows it as revoked at once. Requires the organization API key.

輸入參數reason必填cert_id必填

seal_content

Content Seal: seal files or text

Seal content your company publishes (documents, images, video, press releases, invoices, AI output) with who made it and whether AI was involved. Each seal is anchored on chain; anyone can check a file for free at the returned verify_url or with seal_verify. Counts toward your plan's monthly entries. Requires the organization API key.

輸入參數items必填

seal_verify

Content Seal: check a file

Is this exact file or text sealed, by whom, since when, and did they declare AI involvement? Any change to the content (one pixel, one character) means no match. Free; no key needed.

輸入參數textsha256

seal_list

Content Seal: your seals

Your most recent content seals. Requires the organization API key.

輸入參數limit

seal_revoke

Content Seal: revoke a seal

Withdraw one of your seals (e.g. sealed by mistake). Checks then show it as revoked. Requires the organization API key.

輸入參數reason必填seal_id必填

版本歷史

2
  1. v0.12.1最新Oct 29, 2026
  2. v0.1.0Oct 20, 2026

評分

已滿足適用檢查項的 90%

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

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

    請在儲存庫或註冊中心條目中宣告授權條款。