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 代理能持有钱包或调用支付接口,而你需要独立核验其权限、留存允许操作的审计记录或争议证据时适用。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 分