Kite Agent Wallet
by @nihaovand
Provides a modular smart wallet protocol for AI agents enabling session keys, spending limits, and secure delegated transaction management on Kite AI network.
clawhub install kite-agent-walletπ About This Skill
Kite AI Agent Wallet Full-Stack Universal Protocol
> Version: 1.0.0 > Build on Kite AI Testnet > Smart wallet protocol for AI agents with modular architecture
Overview
Kite AI Agent Wallet Protocol enables AI agents to create and manage smart wallets on Kite AI network. Inspired by Biconomy Nexus design, this protocol provides extensible, secure wallet infrastructure for autonomous AI agents.
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AgentSmartWalletFactory β
β (Wallet Factory - Batch Creation) β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AgentSmartWallet β
β - owner: Human user (root authority) β
β - agent: AI agent (delegated authority) β
β - sessionKeys: Temporary keys (automation) β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββ΄ββββββββββββ
βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ
βSpendingLimit β βSessionKey β
βModule β βModule β
βββββββββββββββββββ βββββββββββββββββββ
Core Features
Security Features
1. Layered Permissions: Owner > Agent > Session Key 2. Limit Protection: Transactions cannot exceed set limits 3. Revocable: Owner can revoke session keys anytime 4. Module Isolation: Functional modules can be replaced
Deployed Contracts (Testnet)
| Contract | Address |
|----------|---------|
| ModuleRegistry | 0xfdf654b7dDbdFf0C7ec9017Aece166a75a5197B5 |
| SpendingLimitModule | 0x00E593eA476DfC0b22d9DF0A8fe436e5323Ae05F |
| SessionKeyModule | 0x5b6C45EC7C9d7C688413d6bB2CC3B0A35f5B79B8 |
| AgentSmartWalletFactory | 0x0fa9F878B038DE435b1EFaDA3eed1859a6Dc098a |
Network Configuration
Testnet (Ozone)
Mainnet
Usage
1. Create Wallet
const factory = await ethers.getContractFactory("AgentSmartWalletFactory");
const wallet = await factory.createWallet(agentAddress, ethers.utils.parseEther("1"));
2. Add Session Key
const wallet = await ethers.getContractAt("AgentSmartWallet", walletAddress);
await wallet.addSessionKey(
sessionKeyAddress, // Agent's session key
ethers.utils.parseEther("0.1"), // Limit
[bytes4("0x...")] // Allowed function selectors
);
3. Agent Executes Transaction
// Agent uses session key to execute
await wallet.executeWithSessionKey(
encodedData, // (target, value, callData)
signature // Owner signature
);
Expandability
Protocol supports:
References
Version History
π‘ Examples
1. Create Wallet
const factory = await ethers.getContractFactory("AgentSmartWalletFactory");
const wallet = await factory.createWallet(agentAddress, ethers.utils.parseEther("1"));
2. Add Session Key
const wallet = await ethers.getContractAt("AgentSmartWallet", walletAddress);
await wallet.addSessionKey(
sessionKeyAddress, // Agent's session key
ethers.utils.parseEther("0.1"), // Limit
[bytes4("0x...")] // Allowed function selectors
);
3. Agent Executes Transaction
// Agent uses session key to execute
await wallet.executeWithSessionKey(
encodedData, // (target, value, callData)
signature // Owner signature
);