🔑
会话密钥
代理获得有时间和金额限制的临时密钥。他们永远无法获得钱包的私钥。会话自动过期。
Solana 上的 AI 代理正在自主执行交易、管理流动性并与协议交互。但给代理提供完整私钥就好比给员工无限制访问你的银行账户。
Seal 通过链上策略解决了这个问题:
// 注册具有严格限制的代理
await client.registerAgent({
wallet: walletPda,
agent: agentKeypair.publicKey,
name: "lp-bot",
allowedPrograms: [METEORA_PROGRAM_ID], // 仅限 Meteora
dailyLimit: 0.1 * LAMPORTS_PER_SOL, // 每日最多 0.1 SOL
perTxLimit: 0.05 * LAMPORTS_PER_SOL, // 每笔交易最多 0.05 SOL
});
// 代理创建会话并执行——无需钱包私钥
const session = await client.createSession({
duration: 3600, // 1小时
maxAmount: 0.05 * 1e9, // 会话上限
});如果代理试图超出限额,链上程序会拒绝交易。即使代理代码被攻击也如此。