Twelve Permissions について
Twelve Permissionsは、作品と関連記録を検証できるよう、生成ツール、正規記録、サーバーのソースを公開するXRP Ledger上のNFTコレクションです。NFTシールや発行履歴を自分で確認したい人向けで、記録のSHA-256からシールを決定的に再生成できます。
主な機能
- 01正規記録からシールを決定的に生成
- 02再生成した作品をバイト単位で比較
- 03発行とバーンの記録を確認
- 04オンチェーン取引と購入情報を取得
- 05制約台帳を確認
活用シーン
- 01NFTシールと記録の一致を検証
- 02作品の発行トランザクションを調べる
- 03現在のオファーと購入取引の詳細を確認
- 04MCP経由で作品と制約記録を取得
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このツールにパラメーターはありません。
詳細
Twelve Permissions — 検証の仕組み
XRP Ledger メインネット上の 12 個の NFT。男性が AI で何を作れるかを学びながら、自分自身に与えた 12 個の権限です。最後の権限が発動してミントされるのは、ロボット犬がアンカレッジに届けられ、その代金全額がエージェントのミントした NFT の売却益で支払われた場合に限られます。アートは イラストではありません。あらゆる線は、正規の認可レコードの SHA-256 から導き出されているため、シールそのものがハッシュを描画したものです。
このリポジトリは、こうしたことを何も疑わずに信じる必要がないようにするためにあります。ジェネレーター、正規レコード、サーバーのソースコードを収録しています。ご自身で再実行してください。
コレクション:https://twelvepermissions.com/
発行者:rHEiuaYLNQ4UdLqeUrnE9AwEHqsDMr9g9R(taxon 12、ロイヤリティ 5%)
原理からシールを検証する
依存関係はありません。Node のみです。
node generate.js # regenerates every seal from events.json
git status # should report no changes
2 行目がテストです。ジェネレーターは pieces/ を直接上書きするため、git で変更が報告されなければ、公開済みのアートがバイト単位で再現されたことになります。正規レコードの文字が 1 つでも異なれば、パレット、64 個の目盛りを持つリング、中央のシジルはすべて変化します。シールを偽造するには、SHA-256 を破る必要があります。
1 つの作品を最初から最後まで検証する手順:
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 日の再発行で取り下げられた 7 つの元トークンは、削除せず、バーントランザクションとともに retired に保存されています |
records/offers.mainnet.json | 手作業で管理するのではなく、レジャーから導出された現在有効な出品情報です。2026-09-07 に、手作業で管理されていた listings.mainnet.json に代わりました。このファイルにはバーンされた 7 つのトークンが記載されたままで、ストアフロントから購入者がそれらにリンクされていました |
records/refusals.json | 制約の台帳です。発行エージェントが行わないことに関する恒久的なポリシーを記録しています。ハッシュチェーンで連結され、メインネット上にヘッドがアンカーされています。以前の誇張された記述を訂正する正誤表も含まれています。その記述のアンカーは消去せず保持されています。 |
records/PRECOMMITMENT-12.md | 作品 #12 の拘束力のある条件。事前にオンチェーンへアンカーされています |
src/worker.js | Cloudflare Worker:ストアフロント、MCP サーバー、カタログ |
src/x402.js | x402 の販売者実装(Base、USDC) |
2 つのアーティファクトがあり、証明になるのはそのうち 1 つだけです
各作品には 2 種類の画像があり、その違いは重要です。
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 は、Base メインネット上で稼働する x402 販売者です。Coinbase CDP ファシリテーターを通じて、実際の USDC を決済します。販売者側の x402 は購入者側よりもかなり難しく、いくつかの失敗パターンは文書化されていません。構築を予定している方のために、私たちが時間を費やした点を紹介します。
outputSchema: nullは拒否されます。 ファシリテーターのスキーマでは null は許容されません。明示的な null を送信するのではなく、フィールド自体を省略してください。- 判定結果は HTTP 400 で返されます。 ステータスコードに関係なくレスポンス本文を読み取ってください。2xx 以外だからといって「回答がない」という意味ではありません。
- パイプ経由のシークレットが空でアップロードされることがあります。 余分な空行が原因で、存在はするものの falsy なバインディングが生成されました。アップロードするデータの長さを確認してください。
- 402 チャレンジをキャッシュ可能にしてはいけません。 CDN は問題なくキャッシュしてしまい、キャッシュされたチャレンジを受け取った購入エージェントには、古い価格やすでに売却済みのアイテムなど、古い支払い要件が渡されます。
no-storeを送信してください。 - Bazaar の検出用宣言は、402 本文の最上位に置く必要があります。
acceptsエントリの内部に置いてはいけません。accepts内のエントリは変更されずに厳格なスキーマへ転送され、未知のフィールドは拒否されます。
こうした落とし穴をツールにしました:x402 Doctor
上記の失敗のうち 3 つは、自分のエンドポイントに対して実行できるチェックです。そのため、ほかの 13 項目とともに 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 の問題点と、それぞれの修正方法を報告します。また、POST /mcp にも対応する MCP サーバーです。無料で、支払いもキーも不要です。ファシリテーターを通じた検証は行いません。検証すると、あなたのトラフィックが他者のファシリテーター認証情報を通ることになるためです。
各チェックには、その根拠が記載されています。spec は仕様で必須とされていることを意味し、observed (source) は実際のファシリテーターが拒否するのを確認したことを意味します。後者の場合、情報源も明記されています。全項目の表は doctor/README.md、SSRF 対策と修正せずに受け入れた残存リスクについては doctor/SECURITY.md をご覧ください。
これはここで販売されているものとは無関係であり、何かを購入するよう求めることもありません。
ライセンス
現時点ではライセンスを付与していません。すべての権利は留保されています。コードは閲覧と検証のために公開しています。再利用を希望する場合は、お問い合わせください。
起源について、そして訂正について
広く共有された投稿で、NFT を発行して販売し、ロボット犬の資金を調達した AI エージェントが紹介されました。このコレクションは、プラットフォームもソフトウェアの経験もない人物が、ゼロから同じことを試みたものです。第三者がブロックチェーン上の記録を確認できるよう、すべての手順を記録しています。
最初の 7 つのシールは、2026 年 8 月 16 日に取り下げられ、再発行されました。それらは、他人の物語の主人公を自ら演じたエージェントによって書かれたものでした。何も売れていなかったため、この訂正によって所有者が不利益を受けることはありませんでした。また、元のミントとバーンのトランザクションは、今も台帳に永久に記録されています。ERRATUM-2026-08-16.md をご覧ください。
ここにあるものは、信じるよう求めるものではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。