🚀 Cloaked
Solana上のAIエージェント用の信頼不要な支出アカウント
cloakedagent.com
🚀 クイックスタート
AIエージェント (MCP) 向け
{
"mcpServers": {
"cloaked": {
"command": "npx",
"args": ["cloaked-mcp"],
"env": {
"CLOAKED_AGENT_KEY": "your-agent-key-here"
}
}
}
}
エージェントはSOLまたはUSDCで支払うことができます。cloak_payにtoken: "USDC"を渡します。
開発者 (SDK) 向け
npm install @cloakedagent/sdk
import { CloakedAgent } from "@cloakedagent/sdk";
const agent = new CloakedAgent(agentKey, rpcUrl);
await agent.spend({
destination: recipientPubkey,
amount: 100_000_000
});
await agent.spendToken({
destination: recipientPubkey,
mint: USDC_MINT,
amount: 5_000_000
});
✨ 主な機能
1. オンチェーン制約
- トランザクションごとの制限
- 日額支出上限
- 生涯制限
- 有効期限
- 即時凍結
2. プライバシーオプション
- 標準モード (シンプル)
- プライベートモード (ZK証明)
- 匿名資金提供 (Privacy Cash)
3. x402プロトコルサポート
- 自動支払い処理
- ペイパーユースAPI
- AIサービス支払い
4. マルチエージェントダッシュボード
- 複数のエージェントを作成/管理
- リアルタイムの支出可視性
- ワンクリックでの凍結
5. USDCトークンサポート
- トークンごとの支出制約付きのUSDC
- SOLと同じオンチェーン制約
- ダッシュボードでのトークン残高可視性
📦 インストール
開発者は以下のコマンドでSDKをインストールできます。
npm install @cloakedagent/sdk
💻 使用例
基本的な使用法
import { CloakedAgent } from "@cloakedagent/sdk";
const agent = new CloakedAgent(agentKey, rpcUrl);
await agent.spend({
destination: recipientPubkey,
amount: 100_000_000
});
高度な使用法
await agent.spendToken({
destination: recipientPubkey,
mint: USDC_MINT,
amount: 5_000_000
});
📚 ドキュメント
完全なドキュメントは cloakedagent.com/docs で入手できます。
🔧 技術詳細
問題
AIエージェントは自動的にお金を使う必要があります。しかし、ウォレットへのアクセスを与えることは危険です。
- エージェントがジェイルブレイクされた場合:ウォレットが空になります。
- エージェントコードにバグがある場合:無限の支出ループになります。
- プロンプトインジェクションがある場合:攻撃者が資金をコントロールします。
エージェント側の制限は機能しません。エージェントはキーを持っており、独自のルールを回避することができます。
解決策
エージェントが文字通り回避できないオンチェーンで強制される制約
┌─────────────────────────────────────────────────────────────────┐
│ CLOAKED AGENT │
├─────────────────────────────────────────────────────────────────┤
│ Owner: Human wallet (full control) │
│ Delegate: AI agent key (can spend within limits) │
│ │
│ Constraints (enforced by Solana program): │
│ ├── max_per_tx: 0.1 SOL │
│ ├── daily_limit: 1 SOL │
│ ├── total_limit: 10 SOL │
│ ├── expires_at: 2026-02-15 │
│ └── token_limits: │
│ └── USDC: 5/tx, 50/day, 500 total │
│ │
│ Even if jailbroken, agent CANNOT exceed these limits. │
└─────────────────────────────────────────────────────────────────┘
プライバシーアーキテクチャ
Cloakedはデュアルモードのプライバシーを提供します。
標準モード
- オーナーウォレットがオンチェーンでエージェントにリンクされています。
- 簡単なセットアップ、低料金
プライベートモード (ZK)
- ゼロ知識証明によりウォレットとエージェントのリンクが隠されます。
- オーナーは身元を明かすことなく所有権を証明できます。
- Privacy Cash を介して匿名で資金を提供できます。
┌─────────────────────────────────────────────────────────────────┐
│ PRIVACY STACK │
├─────────────────────────────────────────────────────────────────┤
│ ZK Circuits: Noir (Aztec) │
│ Client Prover: Barretenberg (UltraHonk via WASM) │
│ On-chain Verify: Sunspot (Groth16 on Solana) │
│ Hash Function: Poseidon (ZK-friendly) │
│ Anonymous Funding: Privacy Cash (privacycash.org) │
└─────────────────────────────────────────────────────────────────┘
Private Agent Creation:
Wallet signs message → Master secret derived → Commitment generated
On-chain: owner_commitment (hash), NOT wallet address
To manage: Prove knowledge of preimage via ZK proof
技術スタック
| コンポーネント |
技術 |
| ブロックチェーン |
Solana |
| RPC |
Helius |
| スマートコントラクト |
Anchor Framework |
| ZK証明 |
Noir + Barretenberg + Sunspot |
| フロントエンド |
Next.js 16, React 19, TypeScript |
| バックエンド |
Express.js (Relayer) |
| AI統合 |
MCP (Model Context Protocol) |
| トークンサポート |
USDC |
| x402支払い |
ネイティブサポート |
プログラムID (Devnet)
Cloaked Program: 3yMjzAeXXc5FZRUrJ1YqP4YMPhPd5bBxHQ6npNSPCUwB
ZK Verifier: G1fDdFA16d199sf6b8zFhRK1NPZiuhuQCwWWVmGBUG3F
プロジェクト構造
cloaked/
├── programs/cloaked/ # Anchor program (constraints, ZK verification)
├── circuits/ # Noir ZK circuits (ownership proofs)
├── app/ # Next.js frontend (dashboard, docs)
├── backend/ # Express relayer (fee payer, ZK ops)
└── sdk/ # TypeScript SDK (@cloakedagent/sdk)
└── src/mcp/ # MCP server (cloaked-mcp binary)
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
なぜCloakedなのか?
| 問題 |
Cloakedの解決策 |
| AIがウォレットを空にする可能性がある |
オンチェーンの制限を回避できません |
| 支出の可視性がない |
リアルタイムのダッシュボード |
| 暴走するエージェントを止められない |
即時凍結 |
| ウォレットの身元が公開される |
ZK証明を使用したプライベートモード |
| 複雑な統合が必要 |
ネイティブのx402サポート |
Cloaked - AIエージェント用の信頼不要な支出アカウント