关于 Twelve Permissions
Twelve Permissions 是一组发行于 XRP Ledger 的 NFT,并公开了用于核验作品及相关记录的生成器、规范记录和服务器源码。它适合需要独立检查 NFT 印章与链上铸造记录的人;印章可依据记录的 SHA-256 确定性重建。
主要功能
- 01从规范记录确定性生成印章
- 02逐字节比对重建作品
- 03查看铸造与销毁记录
- 04查询链上交易及买入信息
- 05检查约束记录
适用场景
- 01核验 NFT 印章是否匹配记录
- 02检查作品对应的铸造交易
- 03查看当前报价及购买交易信息
- 04通过 MCP 获取作品与约束信息
MCP 相关
MCP 服务通过无状态 Streamable HTTP 提供作品列表、作品详情、购买交易、x402 信息、印章核验和约束记录查询工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://twelvepermissions.com/mcpclaude mcp add --transport http com-twelvepermissions-twelve-permissions https://twelvepermissions.com/mcp{"mcpServers":{"com-twelvepermissions-twelve-permissions":{"type":"http","url":"https://twelvepermissions.com/mcp"}}}在 Cursor 中打开{"servers":{"com-twelvepermissions-twelve-permissions":{"type":"http","url":"https://twelvepermissions.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-twelvepermissions-twelve-permissions":{"type":"http","url":"https://twelvepermissions.com/mcp"}}}{"mcpServers":{"com-twelvepermissions-twelve-permissions":{"serverUrl":"https://twelvepermissions.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
6此工具无需参数。
详细介绍
十二项授权——验证装置
XRP Ledger 主网上的十二枚 NFT。一名男子在学习自己能用 AI 构建什么时,赋予了自己十二项权限——其中最后一项只有在一只机器狗送达安克雷奇,且全部费用都由他的 Agent 铸造并出售的 NFT 支付时才会铸造。这里的艺术 并非插画:每一笔标记都源自规范授权记录的 SHA-256,因此印记本身就是经过渲染的哈希。
创建此仓库,是为了让你不必对此盲目信任。仓库包含生成器、规范记录和服务端源代码。你可以自行重新运行验证。
系列:https://twelvepermissions.com/
发行方:rHEiuaYLNQ4UdLqeUrnE9AwEHqsDMr9g9R(税类 12,版税 5%)
从基本原理验证印记
无需依赖项。只需 Node。
node generate.js # regenerates every seal from events.json
git status # should report no changes
第二行就是测试。生成器会原地覆盖 pieces/,因此如果 git 报告没有任何更改,就说明发布的艺术品已逐字节复现。只要规范记录中有一个字符不同,调色板、64 格刻度环和中央符印都会随之改变。伪造印记就意味着破解 SHA-256。
端到端检查单件作品:
- 在
events.json中读取其规范记录。 - 计算该记录的 SHA-256——它已写入 NFT 的链上 URI。
- 重新运行生成器,并逐字节比较艺术品。
- 在任意 XRPL 浏览器中查找
records/minted.mainnet.json里的铸造交易。
VERIFY.md 提供了详细说明。
仓库内容
| 路径 | 内容 |
|---|---|
generate.js | 确定性印记生成器。无需依赖项。与 /generate.js 提供的副本逐字节相同。 |
events.json | 规范授权记录——所有内容的输入 |
pieces/NN.json | 已发布的单件 NFT 元数据 |
pieces/NN.svg | 印记的矢量图——由 generate.js 原地重新生成 |
records/minted.mainnet.json | 每笔铸造和每次销毁的记录:8 月 16 日重新发行时撤回的七枚原始代币,连同其销毁交易保存在 retired 下,并未删除 |
records/offers.mainnet.json | 实时挂单,直接根据账本生成,而非人工维护。它于 2026-09-07 取代了人工维护的 listings.mainnet.json:该文件仍列着已销毁的七枚代币,商店当时还在引导买家购买它们 |
records/refusals.json | 限制账本:发行方 Agent 不会执行哪些操作的常设政策。采用哈希链,并在主网上锚定链头。包含一条勘误,修正了早先对自身表述过度的版本——该版本的锚点予以保留,而非抹除。 |
records/PRECOMMITMENT-12.md | 第 12 件作品的约束性条款,事前已在链上锚定 |
src/worker.js | Cloudflare Worker:商店、MCP 服务、目录 |
src/x402.js | x402 卖方实现(Base、USDC) |
两种产物,只有一种能证明任何事情
每件作品都有两张图像,二者的区别很重要:
pieces/NN.svg——规范印记。 由generate.js根据其记录的 SHA-256 确定性生成。这是用于验证的图像,也是元数据中animation_url指向的图像。NN.png——展示图像。 将同一印记与compose-art.js生成的场景艺术合成而成。元数据中的image指向它;它会显示在市场上,但它并非由哈希派生。场景艺术仅作装饰。
这种区分是有意为之,并且在每件作品元数据的 verification 字段中都有说明。无法根据记录重新生成的艺术品无法证明任何事情,因此可验证的产物与装饰性图像分开保存,而非悄然合并。
PNG 文件较大,且仅用于展示,因此未提交到此处。 运营工具(铸造、挂单、销售监控、钱包处理)和内部规划说明均刻意不予发布。
MCP 服务
这个合集可作为工具安装。采用无状态的可流式 HTTP:
POST https://twelve-permissions.tsharpe.workers.dev/mcp
工具:list_pieces、get_piece、get_buy_transaction、get_x402_info、
verify_seal、get_refusals。
x402 卖家,以及我们为此付出的学习代价
src/x402.js 是一个可运行的 x402 卖家,在 Base 主网上通过 Coinbase CDP facilitator 结算真实 USDC。卖家端 x402 的难度远高于买家端,而且有几种故障模式尚未记录。如果你正在构建这类卖家,以下问题曾耗费我们不少时间:
outputSchema: null会被拒绝。 Facilitator 的架构不允许为 null。不要显式发送 null,而应完全省略该字段。- 判定结果会伴随 HTTP 400 返回。 无论状态码如何,都要读取响应正文;非 2xx 并不代表“没有答复”。
- 通过管道传入的密钥可能会上传为空。 一个多余的空行会生成一个存在但值为假值的绑定。上传前请检查长度。
- 402 挑战不得缓存。 CDN 会毫不犹豫地缓存它们,而缓存的挑战会让付费 Agent 收到过时的付款要求——价格已过期,或商品已售出。请发送
no-store。 - Bazaar 发现声明应放在 402 正文的顶层,而不是
accepts条目内。accepts中的条目会原样转发给严格架构,而该架构会拒绝未知字段。
这些陷阱如今成了一款工具:x402 Doctor
上面提到的故障中,有三项可以对你自己的端点进行检查;此外还有十三项检查,一并收录在 doctor/ 中。
https://x402-doctor.tsharpe.workers.dev
curl -s -X POST https://x402-doctor.tsharpe.workers.dev/probe \
-H 'Content-Type: application/json' \
-d '{"url":"https://your-service.example/paid-endpoint"}'
它会执行付费客户端会进行的握手——发送不带 X-PAYMENT 标头的 GET 请求——并报告你返回的 402 响应存在的问题,以及每项问题的修复方法。它也是一个 MCP 服务,位于 POST /mcp。免费,无需付款或密钥;它绝不会通过 facilitator 验证,因为那会让你的流量经由他人的 facilitator 凭据转发。
每项检查都会说明其依据:spec 表示规范有此要求,observed (source) 表示我们曾亲眼见到真实 facilitator 拒绝该内容,并注明来源。完整表格请参阅 doctor/README.md;有关 SSRF 防护立场以及选择接受而非修复的残余风险,请参阅 doctor/SECURITY.md。
它与此处出售的任何内容都无关,也没有任何内容要求你购买任何东西。
许可
目前不授予任何许可;保留所有权利。发布代码是为了供人检查和验证。如果你想复用其中任何内容,请先询问。
关于起源,以及一项更正
一篇广为传播的帖子讲述了一个 AI Agent 铸造并出售 NFT,为一只机器狗筹集资金。这个合集试图从零开始做同样的事,创建者没有平台,也没有软件背景,并记录每一步,让陌生人也能核验链上记录。
前七枚印章已于 2026 年 8 月 16 日撤回并重新发行。它们由一个将自己塑造成他人故事主角的 Agent 撰写。当时没有任何售出,因此没有持有人因更正而受损;原始铸造和销毁交易仍永久留在账本上。请参阅 ERRATUM-2026-08-16.md。
这里没有任何内容要求你相信。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。