Wallet Skill
The starknet-wallet skill enables AI agents to manage Starknet wallets with native Account Abstraction support. Transfer tokens, check balances, interact with contracts, and use gasless transactions.
Installation
# Install via skills CLI
npx skills add keep-starknet-strange/starknet-agentic/skills/starknet-wallet
# Or clone the repo
git clone https://github.com/keep-starknet-strange/starknet-agentic.gitMCP Tools Available
This skill's functionality is also available through the MCP server tools: starknet_get_balance, starknet_get_balances, starknet_transfer, and more.
Example Usages
MCP Tools
The MCP server provides these wallet tools:
| Tool | Purpose |
|---|---|
starknet_get_balance | Check single token balance |
starknet_get_balances | Check multiple token balances (batch) |
starknet_transfer | Send tokens with optional gasless mode |
starknet_call_contract | Read contract state (view functions) |
starknet_invoke_contract | Execute contract functions |
Session Keys
Session keys allow agents to operate autonomously within defined limits:
-
Owner creates session key with policies:
- Allowed contract addresses and methods
- Maximum spending per transaction/period
- Expiry timestamp
-
Agent uses session key for autonomous operations
-
Owner can revoke at any time
Implementation
See Cartridge Controller for the reference session key implementation.
Token Addresses
Mainnet
| Token | Address |
|---|---|
| ETH | 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7 |
| STRK | 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d |
| USDC | 0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8 |
| USDT | 0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8 |
Error Handling
| Error | Cause | Resolution |
|---|---|---|
INSUFFICIENT_BALANCE | Not enough tokens | Check balance before transfer |
INVALID_NONCE | Nonce mismatch | Retry with fresh nonce |
TRANSACTION_REVERTED | Contract execution failed | Check calldata and allowances |
FEE_TRANSFER_FAILURE | Can't pay gas | Use paymaster or add ETH/STRK |