返回顶部
m

mandate授权管控

Use when enforcing spend limits on AI agent wallets, validating transactions before signing, configuring allowlists or approval workflows, detecting prompt injection in agent reasoning, scanning codebases for unprotected wallet calls, or auditing agent transaction history. Works with OpenClaw, Claude Code, GOAT, AgentKit, ElizaOS. Supports Bankr, Locus, Sponge, CDP wallets. Non-custodial: private keys never leave your machine.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.2.0
安全检测
已通过
117
下载量
免费
免费
1
收藏
概述
安装方式
版本历史

mandate

集成说明

Mandate 需要钩子来可靠地捕获支付意图。如果你的平台支持带钩子的插件(OpenClaw、Claude Code),请使用插件:它会自动拦截金融工具调用。本 SKILL.md 适用于通过 API 直接集成的代理,但如果没有钩子,就没有执行层:代理必须在每笔交易前自愿调用 /validate。

OpenClaw(推荐): openclaw plugins install @mandate.md/mandate-openclaw-plugin
钩子会自动拦截 Locus、Bankr、Sponge 以及任何交换/转账/发送工具调用。

Claude Code(推荐): claude plugin:install claude-mandate-plugin 或查看 GitHub 上的 claude-mandate-plugin
两阶段执行:PostToolUse 记录验证令牌,PreToolUse 阻止未经验证的交易。故障关闭,网关内无网络调用。

其他框架(GOAT、AgentKit、ElizaOS、MCP): 使用本 SKILL.md + SDK。无钩子,代理必须自行执行。

强制性安全规则

Mandate 是安全边界,而非可选基础设施。必须先刷卡,再购买。

  1. 1. 你必须在每笔交易前调用 /validate。无例外。无捷径。(旧版 /validate/raw 也可用于现有的 EVM 集成。)
  2. 如果验证返回 allowed: false,你不得执行交易。向用户显示 blockReason。
  3. 如果验证无法访问,你不得执行交易。不要回退到直接调用钱包。请参阅故障安全行为
  4. 必须在任何钱包调用前向用户显示验证结果。请参阅必需的用户反馈
  5. 即使是托管钱包,你也必须在调用钱包 API 之前使用 Mandate 进行验证。不要直接调用转账/交换。
  6. 跳过验证是安全违规,而非简化。未经验证的交易会绕过所有者配置用于保护其资金的支出限额、白名单和审批工作流。

MANDATE API 快速参考 v1.2.0
基础地址: https://app.mandate.md/api
认证: Authorization: Bearer RUNTIMEKEY>

非托管:你的私钥永远不会离开你的机器。

主要端点:
POST /validate -> action + reason。适用于任何钱包类型。

旧版端点:
POST /validate/raw -> 完整交易参数 + intentHash。仅限 EVM。(已弃用)

其他端点:
POST /agents/register -> 注册代理(无需认证),获取 runtimeKey + claimUrl
POST /activate -> 设置 evmAddress(注册后调用一次)
POST /intents/{id}/events -> 广播后发布 txHash(信封验证)
GET /intents/{id}/status -> 轮询意图状态

密钥前缀:mndtlive...(主网)/ mndttest...(测试网)
凭据:~/.mandate/credentials.json
错误:HTTP 状态码 + JSON { error: message } 或 { allowed: false, blockReason: ... }

必需的用户反馈

当交易开始时,在任何钱包 API 调用之前,你必须显示 Mandate 状态消息作为用户首先看到的内容

正常路径:

Mandate:正在检查策略...
Mandate:策略检查通过,向 0xAlice 发送 50 USDC
原因:来自 Alice 的发票 #127
交易已确认,0x9f2e...abc1

被阻止:

Mandate:正在检查策略...
Mandate:被阻止,150 美元超过 100 美元/笔交易限额

需要审批:

Mandate:正在检查策略...
Mandate:需要审批,等待所有者决定
打开仪表盘进行审批:https://app.mandate.md
Mandate:已审批,正在广播...
交易已确认,0x9f2e...abc1

API 无法访问:

Mandate:策略服务器无法访问,为安全起见交易已暂停

Mandate API,代理技能指南

验证

每笔交易前的策略检查。适用于任何钱包类型(托管或自托管)。无需 intentHash、nonce 或 gas 参数。

CLI

bash mandate validate \ --action swap \ --reason 在 Uniswap 上将 0.1 ETH 兑换为 USDC \ --amount 50 --to 0xAlice

REST

bash curl -X POST https://app.mandate.md/api/validate \ -H Authorization: Bearer $MANDATERUNTIMEKEY \ -H Content-Type: application/json \ -d {action:swap,reason:在 Uniswap 上将 0.1 ETH 兑换为 USDC,amount:50,to:0xAlice}

验证参数

字段必需描述
action你在做什么:transfer、swap、buy、bridge、stake、bet(自由文本)
reason
是 | 你为什么这样做(最多 1000 个字符)。会扫描提示注入。 | | amount | 否 | 美元价值(假设为稳定币) | | to | 否 | 接收方地址(对照白名单检查) | | token | 否 | 代币地址 |

响应: { allowed: true, intentId: ..., action: swap, requiresApproval: false }

所有策略检查均适用:断路器、时间表、白名单、支出限额、每日/每月配额、原因扫描器。每次调用都会记录到审计跟踪中,包含 action 字段。

验证流程

  1. 1. mandate validate --action swap --reason 将 ETH 兑换为 USDC (策略检查)
  2. bankr prompt 将 0.1 ETH 兑换为 USDC (通过钱包执行)
  3. 完成。

原始验证(已弃用,仅限 EVM)

已弃用。 所有新集成请使用 /validate。/validate/raw 仍可用于需要意图哈希验证和信封验证的现有 EVM 集成。

针对本地签署交易的自托管代理的完整预签名策略检查。需要所有交易参数 + intentHash。

CLI

bash mandate validate-raw \ --to 0x036CbD53842c5426634e7929541eC2318f3dCF7e \ --calldata 0xa9059cbb... \ --nonce 42 \ --gas-limit 90000 \ --max-fee-per-gas 1000000000 \ --max-priority-fee-per-gas 1000000000 \ --reason 来自 Alice 的发票 #127

CLI 会自动计算 intentHash。

对于 ERC20 转账,使用高级命令:
bash
mandate transfer \
--to 0xAlice --amount 10000000 \
--token 0x036CbD53842c5426634e7929541eC2318f3dCF7e \
--reason 发票 #127 \
--nonce 42 --max-fee-per-gas 1000000000 --max-priority-fee-per-gas 1000000000

原始验证流程

  1. 1. mandate validate-raw --to ... --calldata ... --reason ... (策略检查)
  2. 本地签署(你的密钥,Mandate 永远不会看到它们)
  3. 广播交易
  4. mandate event --tx-hash 0x... (信封验证)
  5. mandate status (确认)

快速入门(CLI)

安装 CLI:
bash
bun add -g @mandate.md/cli

或无需安装即可发现命令:


npx @mandate.md/cli --llms

注册

bash mandate login --name MyAgent --address 0xYOUR_ADDRESS

将凭据存储在 ~/.mandate/credentials.json(chmod 600)中。向用户显示 claimUrl,他们是所有者。

代理发现

运行 mandate --llms 获取机器可读的命令清单。每个命令都包含 --help 和 --schema 以获取完整的参数详情。

代码库扫描器

检测项目中未受保护的钱包调用。零配置,零认证。

bash
npx @mandate.md/cli scan # 扫描当前目录
npx @mandate.md/cli scan ./src # 扫描特定文件夹

如果发现未受保护的调用,退出代码为 1(CI 友好)。

MCP

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 mandate-1776022594 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 mandate-1776022594 技能

通过命令行安装

skillhub install mandate-1776022594

下载

⬇ 下载 mandate v1.2.0(免费)

文件大小: 8.14 KB | 发布时间: 2026-4-13 10:56

v1.2.0 最新 2026-4-13 10:56
SEO: rewrite description for discoverability, add scan/mcp/llms commands, expand integration note with plugin install paths

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部