Solana Agent Kit v2 では、秘密鍵を直接扱わずに安全にトランザクションを実行できる「Embedded Wallet」がサポートされています。代表的な選択肢が Turnkey と Privy。それぞれの特徴と使い分け方を解説します。
なぜ Embedded Wallet が必要か?
従来の dApp では「秘密鍵のコピペ」や「ローカル署名」が主流でしたが、AI エージェントや自動化システムではそれは危険かつ非スケーラブルです。
そこで必要になるのが「埋め込み型ウォレット(Embedded Wallet)」です。
Turnkey:ルールベースのサーバーサイド署名
特徴
- API ベースの署名リクエスト
- ポリシー設定が可能(例:1 日 10 回まで、特定 Mint だけ許可)
- サーバーサイド署名処理に最適
向いているケース
- 自律型 AI エージェント
- スケジュール型取引やオートコンパウンド
- 検閲・承認なしで実行したい dApp 運用
イメージコード
const agent = new SolanaAgentKit(turnkeyWallet, RPC_URL).use(TokenPlugin);
Privy:人間の承認を挟むソーシャルログイン型
特徴
- ユーザーがトランザクションごとに確認して署名
- メール/SNS ログイン経由の鍵生成
- UX が良く、エンドユーザー向け
向いているケース
- チャット UI + トランザクション(例:Claude 連携)
- ユーザー操作が必要な dApp(例:NFT ミント)
- Human-in-the-loop(人間の介在)を前提とする運用
イメージコード
const agent = new SolanaAgentKit(privyWalletAdapter, RPC_URL).use(NFTPlugin);
選び方のまとめ
用途 | 推奨ウォレット |
---|---|
自律エージェント | Turnkey |
ユーザー操作を挟むアプリ | Privy |
定期実行/オートメーション | Turnkey |
対話型 AI × トランザクション | Privy |
実装ポイント
publicKey
,signTransaction
などの関数さえ実装すれば、両者とも SAK で同じように使えます。- SAK は Wallet Adapter 規格に準拠しているため、
Phantom
,Privy
,Turnkey
すべて統一的に扱えます。 - Turnkey 利用には API キーと Webhook の設定が必要。Privy はソーシャルログイン SDK の導入が前提です。
まとめ
Embedded Wallet は、AI×Solana の実行基盤を安全・柔軟にする鍵です。
Turnkey =自動化向け、Privy = UX 重視・人間承認型と覚えておくと実務で迷いません。