
Policyvault
io.github.zapsoblige-hashPublished by GitHub account zapsoblige-hashv1.6.2Updated Oct 24, 2026
Non-custodial Kaspa policy enforcement for AI agents; signers retain custody.
Overview
MCP client for PolicyVault, a non-custodial Kaspa vault that lets an AI agent request scoped spending within owner-set covenant limits.
- What you can do
- Request delegated spending from a PolicyVault vault, with the covenant enforcing caps, budgets and recipient allowlists
- Run supported simulations and dry-run checks before anything is signed
- Verify the exact operation so an external signer can check it before signing
- Read scoped vault, policy and audit information allowed by the credential's scopes
- Report or reject requests the credential is not entitled to act on
- No signing, submission or genesis tool is exposed; the tools hold no keys
- When to use it
- Use it when an agent, bot or service should be able to request payments from a Kaspa vault under owner-defined limits without ever holding custody or signing authority. It suits teams already running a PolicyVault vault (hosted or self-hosted) that want an agent to prepare and verify requests while a human or external signer keeps the keys.
- Requirements
- Runs locally over stdio from the npm package policyvault-mcp (Node.js). Requires POLICYVAULT_MCP_SERVER_URL, the bare origin of a hosted or self-hosted PolicyVault server, and the secret POLICYVAULT_MCP_TOKEN, a machine-identity bearer credential minted by the vault operator with the intended scopes. Optional POLICYVAULT_MCP_SCOPES narrows which tools are advertised. Network access to the PolicyVault server is needed.
Installation
In SourceWeft
- Open Policyvault in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
PolicyVault
Non-custodial delegated-spending vaults on Kaspa L1 — for people and AI agents.
PolicyVault lets a vault owner hand a spending key to an agent — an employee, a service, a bot, or an AI agent — without handing over control of the funds. The spending policy is enforced by Kaspa L1 consensus through a covenant: even an agent who bypasses this entire application and talks directly to a Kaspa node cannot exceed the owner's policy.
The authority model, stated once and everywhere enforced:
AI MAY REQUEST. POLICYVAULT DETERMINISTICALLY DECIDES. THE COVENANT ENFORCES. SIGNERS RETAIN CUSTODY.
Production status (honest labels)
- x402 FACILITATOR (
integrations/x402-facilitator/, 2026-09-02): DESIGN FROZEN (owner-authorized;docs/postlaunch/x402-facilitator-design-freeze.md) · IMPLEMENTED · UNIT-TESTED · ADVERSARIAL-TESTED · INTEGRATION-TESTED (real HTTP service + real PostgreSQL claim store) · TESTNET-VERIFIED (real KAS + real frozen-v0.5 token payments on testnet-10;docs/testnet-x402-facilitator-evidence.json). A separately deployed, unprivileged, READ-ONLY chain verification / settlement attestation service for the proposed Kaspa schemepv-x402-kaspa-exact-upfront/1(network identifierskaspa:mainnet/kaspa:testnet-10are PolicyVault's provisional CAIP-2-syntax identifiers — no upstream registration is claimed). It never signs, broadcasts, escrows, or charges. NOT a hosted production service (a separate owner gate); no upstream Kaspa x402 scheme exists, so it is not "x402-compatible" without that qualification.
What the covenant enforces (consensus, not software)
- Owner-controlled vaults — create, manage, pause, recover, close.
- Delegated spending — up to 10 independent agents per vault, each with its own policy, spending real KAS within owner-defined limits.
- Per-transaction caps and cumulative periodic budgets (DAA-score-based accounting verified by consensus).
- Recipient allowlists — Merkle-committed; an agent can pay only owner-approved recipients.
- M-of-N approvals above an owner-set threshold.
- Covenant-controlled fee reserve — agents need no gas wallet; network fees come from a reserve the covenant accounts for exactly.
- Break-glass owner pause and terminal recovery — never gated by any hosted workflow.
What the platform adds ABOVE the covenant (hosted coordination, not authority)
- Intent manifests + independent browser verification — before any
signature, the browser re-derives what the transaction does from the exact
bytes to be signed and refuses on any mismatch (
web/verify-intent.js,docs/postlaunch/intent-manifest-spec.md,docs/postlaunch/browser-verification.md). - Governance — proposal/approval ceremony (Schnorr-verified,
domain-separated) for authority-expanding policy changes
(
docs/postlaunch/governance-spec.md). - Risk pipeline — restrictive-only configurable review/deny adapters
(
docs/postlaunch/risk-adapter-spec.md). - Budget reservations, hash-chained audit, webhooks/notifications,
machine identities + scoped capabilities, idempotency, dry-run simulation
(
docs/postlaunch/*). - Universal Signer Interface with KasWare mapping and an offline CLI
signer reference (
docs/postlaunch/signer-interface-spec.md,signer-kasware-mapping.md,signer-cli-reference.md). - Agent surfaces: REST platform API, MCP server, Python client, x402 + AP2 payment-protocol adapters — all thin consumers of one deterministic core; none holds independent financial authority.
PolicyVault's API and shipped MCP tools provide scoped reads, supported simulations and unsigned requests. The MCP tools hold no signing keys and expose no signing or submission operation. PolicyVault's verification tools let an external signer check the exact operation before signing. The broader API supports attaching externally produced signatures and separately authorized submission; the browser also uses an external wallet. An authorized delegate, including an agent using an external wallet or signer, operates within covenant limits, permitted recipients, budgets and required approvals. Requesting, signing, submitting and verified on-chain acceptance are distinct stages. Kaspa consensus enforces the covenant.
Repository map
Quick start (self-hosted, testnet-10)
Full instructions, including PostgreSQL-backed hosted mode, container builds,
covenant regeneration + byte-identity verification, and the VM suite:
docs/deployment.md, docs/hosted-deployment.md, docs/test-plan.md.
The VM workspace expects sibling checkouts of the public silverscript and
rusty-kaspa projects (see tests/vm/ and tools/stage-vendor.sh).
Product policy (permanent)
Free software and self-hosting — Apache 2.0, including commercial use.
Official hosted access is currently free. Kaspa network transaction fees still apply.
No patents on the protocol or its mechanisms. Voluntary KAS donations support
continued development and hosting:
kaspa:qyppakv5y7kmeynffldl9zshwgkjrl3fy9jjj8wf24v7f64v0gnuragz7ehdqhn
(public receiving address; nothing in this software ever asks for or handles
donation-wallet keys). Details: docs/product-policy.md.
Security
Read SECURITY.md for the security model, the exact claim → enforcement →
test → evidence discipline, what is PROVEN versus DESIGN TARGET, and how to
report vulnerabilities.
Source: README.md at commit 99a52d1
Tools
0Version history
1- v1.6.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts