Wax Seal について
Wax Seal はアプリや AI エージェント向けの ID・署名検証を提供し、SDK と MCP サーバーを備えています。オンチェーン ID と Ed25519 署名を検証し、高リスク操作を制御する人間の承認トークンも扱えます。
主な機能
- 01オンチェーン ID の検証
- 02Ed25519 署名の検証
- 03承認トークンの作成と検証
- 04ドキュメントへの署名
- 05Webhook 署名の検証
活用シーン
- 01エージェントの操作前に ID を確認
- 02高リスク操作に人間の承認を要求
- 03コンテンツに認証済みバッジを追加
MCP 対応
MCP サーバーは ID、署名、承認の検証、ドキュメント署名、承認トークン作成のための 6 つのツールを提供します。検証ツールに鍵は不要ですが、署名ツールには WAXSEAL_PRIVATE_KEY_PEM が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @waxseal/mcpWAXSEAL_PRIVATE_KEY_PEMシークレットEd25519 private key PEM — required only for waxseal.document.sign and waxseal.approval.create. The three verify tools and waxseal.info work without any key.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
6掲載時のツール一覧 · 3 週間前に更新
このツールにパラメーターはありません。
詳細
WaxSeal SDK
オープンウェブと AI エージェントのための暗号学的アイデンティティ。
1 組の Ed25519 鍵ペア。64 文字のフィンガープリント。永続的なオンチェーン記録。
waxseal.id · 開発者向けドキュメント · シールを取得
パッケージ
| パッケージ | 内容 | インストール |
|---|---|---|
@waxseal/verify | ブラウザーおよび Node 向け SDK — アイデンティティの検証、署名の検証、バッジの埋め込み、Webhook の検証 | npm install @waxseal/verify |
@waxseal/mcp | Claude、Cursor、Windsurf、VS Code 向け MCP サーバー — アイデンティティの検証、ドキュメントへの署名、人間の承認による AI アクションの制御 | npx @waxseal/mcp |
@waxseal/mcp — AI エージェント向け
Claude、Cursor、Windsurf、または VS Code Copilot に、2 分もかからず暗号学的アイデンティティレイヤーを追加できます。
{
"mcpServers": {
"waxseal": {
"command": "npx",
"args": ["-y", "@waxseal/mcp"],
"env": {
"WAXSEAL_PRIVATE_KEY_PEM": "-----BEGIN PRIVATE KEY-----\n<your key>\n-----END PRIVATE KEY-----"
}
}
}
}
インストール不要です。 HTTP 対応の MCP クライアントで、ホスト型サーバーを使用できます。
https://api.waxseal.id/mcp
6 つのツールでエージェントができること:
| ツール | 機能 | キーが必要? |
|---|---|---|
waxseal.info | プラットフォームの概要、ティア、ツールガイド | いいえ |
waxseal.identity.verify | フィンガープリントを検索 → 名前、チェーン、ウォレット、ステータス | いいえ |
waxseal.signature.verify | オンチェーンの鍵に照らして Ed25519 署名を確認 | いいえ |
waxseal.approval.verify | 実行前に人間による承認トークンを検証 | いいえ |
waxseal.document.sign | WaxSeal の秘密鍵を使って任意のコンテンツに署名 | はい |
waxseal.approval.create | 署名付きの有効期限付き承認トークンを作成 | はい |
検証専用ツールは設定なしですぐに使えます。署名ツールには WAXSEAL_PRIVATE_KEY_PEM が必要です。
→ MCP の全ドキュメント · Smithery の掲載ページ · npm
@waxseal/verify — アプリとバックエンド向け {#waxsealverify}
npm install @waxseal/verify
React、Vue、Node.js、n8n、サーバーレス関数、および fetch を利用できるあらゆるランタイムで動作します。
2 つのモード、1 つのフィンガープリント
モード 1 · バッジの検証
「この WaxSeal は存在し、本物ですか?」
シールがオンチェーンに存在することを確認します。ユーザーの操作は不要で、フィンガープリントだけで確認できます。
ユースケース
- ✦ ブログ記事や記事に表示する認証済み作成者バッジ
- ✦ GitHub 風ツールでのコントリビューターのアイデンティティ
- ✦ CMS プラットフォームでの発行者の検証
- ✦ AI が作成する前に自分が作ったことを証明
import { verifySeal } from "@waxseal/verify";
const seal = await verifySeal({ fingerprint: "a1b2c3d4..." });
if (seal.valid && seal.onChain) {
console.log(seal.displayName, "·", seal.chain);
// "Ada Lovelace · base"
}
モード 2 · ログインとアクションの承認
「この人が今、署名したのですか?」
署名付きチャレンジは、鍵の保持者がその場にいることを証明します。パスワード、OTP、メールを使ったやり取りをすべて置き換えます。
ユースケース
- ✦ パスワードレスログイン — メールもOTPも不要で、漏えいする認証情報もありません
- ✦ ドキュメントや高額取引を承認する
- ✦ 検証済みの本人確認を条件に、コメント、投稿、投票を許可する
- ✦ 検証済みのシール保持者にのみ API キーを発行する
- ✦ n8n / Make.com / Zapier で本人確認を自動化する
const seal = await verifySeal({
fingerprint: "a1b2c3d4...",
message: "I approve this transfer.",
signature: "base64url...",
});
if (seal.valid && seal.onChain && seal.signatureValid) {
// Cryptographic proof — no password, no session token
}
React バッジ
import { WaxSealBadge } from "@waxseal/verify/badge";
<WaxSealBadge fingerprint="a1b2c3d4..." />
または、独自に作成できます。
import { useEffect, useState } from "react";
import { verifySeal, type VerifyResult } from "@waxseal/verify";
export function SealBadge({ fingerprint }: { fingerprint: string }) {
const [seal, setSeal] = useState<VerifyResult | null>(null);
useEffect(() => {
let active = true;
verifySeal({ fingerprint }).then((r) => active && setSeal(r));
return () => { active = false; };
}, [fingerprint]);
if (!seal?.valid || !seal.onChain) return null;
return (
<a href={`https://waxseal.id/seal/${seal.fingerprint}`} target="_blank" rel="noopener noreferrer">
✦ {seal.displayName ?? seal.fingerprint.slice(0, 8)}
</a>
);
}
HTML 埋め込み(ビルド手順不要)
<script src="https://waxseal.id/embed.js"></script>
<span data-wax-seal="YOUR_64_CHAR_FINGERPRINT"></span>
メール — メールクライアントではスクリプトタグがブロックされます。代わりに通常のリンクを使用してください。
<a href="https://waxseal.id/seal/YOUR_FINGERPRINT">Verify my Wax Seal</a>
Webhook 検証
import { verifyWebhookSignature, isWaxSealWebhookEvent } from "@waxseal/verify/webhooks";
app.post("/webhook/waxseal", express.raw({ type: "*/*" }), (req, res) => {
const valid = verifyWebhookSignature({
body: req.body,
signature: String(req.headers["x-waxseal-signature"]),
secret: process.env.WAXSEAL_WEBHOOK_SECRET,
});
if (!valid) return res.status(401).send("Invalid signature");
const event = JSON.parse(req.body.toString());
if (isWaxSealWebhookEvent(event, "seal.minted")) {
console.log("New seal:", event.data.fingerprint, "on", event.data.chain);
}
res.sendStatus(200);
});
Webhook イベント
| イベント | 発生するタイミング |
|---|---|
seal.verified | API 経由でシールが検証された |
seal.minted | 新しいシール NFT がオンチェーンでミントされた |
seal.updated | シールの名前、アバター、メタデータが変更された |
seal.subscription.started | シール保持者が有料サブスクリプションを開始した |
seal.subscription.ended | サブスクリプションが期限切れまたはキャンセルされた |
challenge.approved | ログインチャレンジが検証され、ユーザーが認証された |
REST API — SDK もキーも不要
POST https://api.waxseal.id/v1/verify
Content-Type: application/json
{
"fingerprint": "<64-char hex>",
"message": "...",
"signature": "..."
}
{
"valid": true,
"onChain": true,
"chain": "base",
"displayName": "Ada Lovelace",
"walletAddress": "0x…",
"signatureValid": true,
"verifiedAt": "2026-01-01T00:00:00Z"
}
あらゆる環境で利用可能
| スタック | 方法 |
|---|---|
| React / Vue / Svelte | npm install @waxseal/verify |
| Node.js / Express | 同じパッケージと webhook ヘルパー |
| n8n | HTTP Request ノード → REST API、または Code ノードで npm パッケージを使用 |
| Make.com | HTTP モジュール → REST API |
| Zapier | Webhook by Zapier トリガー |
| PHP / Python / Go | REST API に通常の HTTP POST を送信 |
| 静的 HTML / CMS | 2 行の embed.js スニペット |
| Claude / Cursor / Windsurf / VS Code | @waxseal/mcp |
VerifyResult 型
type VerifyResult = {
valid: boolean;
fingerprint: string;
onChain: boolean;
chain?: "ethereum" | "base" | "bnb";
walletAddress?: string;
displayName?: string;
publicKeyConfirmed?: boolean;
signatureValid?: boolean;
verifiedAt?: string;
error?: string;
};
MIT © Wax Seal
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。