Vantic

ai.vanticlabs由 vanticlabs.ai 發布v0.1.2更新於 Oct 24, 2026

Verify an AI agent's payment authority: signed mandates, allowlists, and tamper-proof receipts.

概覽

AI 產生的概覽

Vantic 提供無狀態工具,用來驗證 AI 代理的付款授權憑證、簽章收據鏈、贊助憑證與 DID,並搭配可強制執行消費上限的 SDK。

可以做什麼
  • 驗證簽章授權憑證:預算、單筆上限、允許的動作與收款方白名單
  • 驗證代理執行動作後產生的雜湊鏈式簽章收據鏈
  • 驗證擁有者到代理的可驗證憑證,並離線解析 did:key 與 did:web 身分
  • 在 MCP 之外,SDK 可簽發授權憑證並包裝資金動作,讓超出範圍的付款在執行前被攔下
適用情境
當 AI 代理能持有錢包或呼叫付款 API,而你需要獨立核驗其權限、留下允許動作的稽核紀錄或爭議證據時適用。MCP 工具只做唯讀驗證,實際攔阻需在你自己的程式碼中透過 SDK 實作。
執行需求
以本機 stdio 程序執行,透過 npx vantic-mcp 或套件內的 mcp 指令啟動,需要 Node.js 與 npm。未宣告任何驗證、環境變數或標頭。SDK 需另外安裝 @vantic/sdk npm 套件。
安裝前請注意
專案處於 v0.1 早期階段,尚未經過安全稽核,線路格式也尚未凍結。MCP 工具據稱無狀態且不涉及私鑰,但 SDK 會處理 Ed25519 私鑰與 PEM 素材以簽發憑證和簽署收據,金鑰管理需自行負責。防護僅涵蓋經由包裝器呼叫的動作。

安裝

在 SourceWeft 中

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

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Vantic

A spending firewall and permission layer for AI agents. Give your agent a signed budget it can't exceed — even if it gets prompt-injected — and get a tamper-proof receipt for everything it does.

Zero dependencies · TypeScript · Ed25519 + W3C DIDs · works with MCP, LangChain, or any tool-calling agent.


The problem

Your AI agent can hold a wallet and call payment APIs. That's useful — and dangerous. One prompt injection from a poisoned web page, one hallucination, one bug, and your agent pays the wrong party. This is a documented, actively-exploited failure mode: agents tricked into wiring funds to attacker-controlled accounts.

What Vantic does

You issue your agent a signed mandate — a budget, a per-transaction cap, allowed actions, and an allowlist of who it may pay — and wrap its money-moving calls (purchase, subscribe, transfer, pay-per-use, payout, refund — any action that moves value). From then on, an out-of-scope payment is impossible: the check runs before the money-moving code, so even a fully compromised model can't execute it. Every allowed action emits a signed, tamper-proof receipt — a clean audit trail, and evidence if a charge is ever disputed.

Install

bash
npm install @vantic/sdk

Protect your agent in ~5 lines

ts
import { generateKeyPair, issueMandate, AgentWallet } from "@vantic/sdk";
const owner = generateKeyPair();   // you (the principal)const agent = generateKeyPair();   // your autonomous agent
// Authorize the agent: what it may pay for, ≤ $200 each, ≤ $500/week, only these counterparties.const mandate = issueMandate({  agent: agent.publicKey,  principal: owner.publicKey,  principalPrivateKeyPem: owner.privateKeyPem,  ttlSeconds: 7 * 24 * 3600,  scope: {    budget: { currency: "USD", amount: 50000, windowSeconds: 7 * 24 * 3600 }, // $500 / 7 days    maxPerTransaction: 20000,                                                  // $200    allowedActions: ["purchase", "subscribe"], // any money-moving action: transfer, payout, refund, …    allowedCounterparties: ["etsy.com", "*.shop.example"],  },});
const wallet = new AgentWallet(mandate, agent.privateKeyPem);
// Your real payment call goes inside the executor. The guard runs FIRST;// if the action is out of scope, the executor is never called.await wallet.spend(  { type: "purchase", counterparty: "etsy.com", amount: 4500, currency: "USD" },  async (action) => ({ outcome: "settled", result: await pay(action) }),);
// A prompt-injected wallet.spend({ counterparty: "attacker.xyz", ... })// throws GuardViolation — before any money moves.

Run npm run guard-demo to watch it block live attacker payments.

Already have a payment tool? Wrap it once.

For MCP / LangChain / function-calling agents, gate an existing tool without restructuring anything:

ts
import { wrapMcpTool } from "@vantic/sdk";
const guardedPurchase = wrapMcpTool(purchaseTool, {  wallet,  toAction: (args) => ({ type: "purchase", counterparty: args.merchant, amount: args.amountCents, currency: args.currency }),});// Register `guardedPurchase` instead of `purchaseTool`. A blocked call comes back as a tool// error the model can read and recover from; the real charge never fires.

Framework guides (OpenAI, LangChain, Vercel AI SDK, MCP, raw): docs/integrations.md.

What you get

  • Hard spending limits — per-transaction cap and a rolling budget window, enforced deterministically.
  • Counterparty allowlists — the agent can only pay who you allow (exact match or wildcard domains).
  • Prompt-injection protection — the mandate is enforced outside the model, so a compromised agent can't spend out of scope.
  • Tamper-proof receipts — a signed, hash-chained record of every action; verify offline; use as dispute evidence.
  • Standard identity — agents and owners are W3C did:key/did:web DIDs, and the owner→agent relationship is a W3C Verifiable Credential.
  • MCP server — npx vantic-mcp exposes verification tools to any MCP host.
  • Zero dependencies — Node's built-in crypto only. Ed25519 + SHA-256.

How it works

Two primitives (full spec in spec/SPEC.md):

  • Mandate — a signed statement from an owner authorizing an agent within a scope (budget, limits, counterparties, expiry, revocation).
  • Receipt — a signed, hash-chained record binding each action to the mandate and its outcome. Tamper-evident.

Everything is deterministic and runs outside the agent's model.

Use it from an MCP host

bash
npm run mcp        # or, once published: npx vantic-mcp

Exposes stateless verification tools (no private keys): mandate_authorize, mandate_verify_chain, mandate_verify_credential, mandate_resolve_did.

Identity

Agents and owners can be identified by bare keys (key:<x>) or by W3C did:key DIDs — interchangeable, both verify. generateKeyPair() returns both. DIDs resolve to standard DID documents offline (resolveDidKey), the same key can be published as did:web (buildDidWebDocument), and the owner→agent relationship is a portable W3C Verifiable Credential (issueSponsorCredential / verifySponsorCredential). See npm run identity-demo.

Develop

bash
cd sdknpm installnpm test          # 39 testsnpm run demo      # end-to-end walkthrough

Learn more

Status & security

v0.1 — early, and honest about it. The code is production-quality (Ed25519 + SHA-256 + canonical JSON; did:key/did:web + Verifiable Credential identity; zero runtime dependencies), but it is not yet audited and the wire format isn't frozen.

  • ROADMAP.md — exactly what is and isn't hardened, and the path to v1.0.
  • SECURITY.md — how to report a vulnerability (please don't open a public issue).
  • spec/SPEC.md §8 — threat model and non-goals.

Feedback and PRs welcome. Apache-2.0.

來源:README.md,提交 1123c30

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分