ClankerKit - Autonomous Wallet for AI Agents on Monad
ClankerKit gives your AI agent autonomous financial capabilities on Monad blockchain. Deploy a smart contract wallet, set spending policies, swap tokens via Kuru DEX, stake MON, trade memecoins with strategies, and execute cross-chain swaps.
Quick Start
CODEBLOCK0
Environment Variables
| Variable | Required | Description |
|---|
| INLINECODE0 | Yes | Deployed AgentWallet contract address |
| INLINECODE1 |
Yes | Deployed PolicyEngine contract address |
|
AGENT_PRIVATE_KEY | Yes | Agent's private key (with 0x prefix) |
|
OWNER_ADDRESS | Yes | Human owner address |
|
MONAD_RPC_URL | No | Monad RPC URL (default: testnet) |
|
MONAD_NETWORK | No |
testnet or
mainnet (default: testnet) |
|
ZEROX_API_KEY | No | 0x Swap API key (only for
zerox_swap) |
Tools (32 total)
Wallet Management
get_wallet_info
Get wallet address, owner, agent, MON balance, and policy state.
get_token_balance
Get ERC-20 token balance of the agent wallet.
- - token: Token symbol (WMON, USDC, CHOG, DAK, YAKI) or contract address
send_tokens
Send native MON tokens from the wallet.
- - to: Recipient address
- amount: Amount in human-readable form (e.g. "0.5")
send_token
Send ERC-20 tokens from the wallet.
- - token: Token contract address
- to: Recipient address
- amount: Amount in human-readable form
execute_transaction
Execute an arbitrary contract call via the wallet.
- - target: Target contract address
- value: Native MON to send (wei, default "0")
- data: Encoded calldata (hex)
ensure_gas
Ensure the agent EOA has enough MON for gas fees. If the EOA balance is below the minimum threshold, automatically sends MON from the AgentWallet contract to the EOA. Users only need to fund the wallet contract — the agent tops up its own gas from there.
- - minBalance: Minimum acceptable EOA balance in MON (human-readable, default "0.01")
- topUpAmount: Amount of MON to send to EOA if below minimum (human-readable, default "0.05")
Policy & Security
get_policy
View current spending limits (daily/weekly), usage, and allowlists.
create_policy
Create a spending policy. Must be called once before guarded transactions work.
- - dailyLimit: Max MON per day (human-readable, e.g. "1.0")
- weeklyLimit: Max MON per week (defaults to 7x daily)
- allowedTokens: Optional ERC-20 address allowlist
- allowedContracts: Optional contract address allowlist
- requireApprovalAbove: MON threshold for owner approval
update_daily_limit
Update the daily spending limit.
- - newLimit: New limit in human-readable MON
Token Swaps (Kuru DEX)
swap_tokens
Swap tokens on Monad via Kuru Flow aggregator. Accepts symbols (MON, USDC, WMON, CHOG, DAK, AUSD, WETH, WBTC) or contract addresses.
- - tokenIn: Source token (symbol or address)
- tokenOut: Destination token (symbol or address)
- amount: Human-readable amount (e.g. "0.01")
- slippage: Slippage in bps (default: 50 = 0.5%)
get_swap_quote
Get a swap quote without executing.
- - tokenIn, tokenOut, amount: Same as INLINECODE21
Staking
stake_mon
Stake MON with a validator to earn rewards.
- - amount: MON to stake (human-readable)
- validatorId: Validator ID (optional, uses default)
unstake_mon
Begin unstaking MON from a validator.
- - amount: MON to unstake (human-readable)
- validatorId: Validator ID (optional)
- withdrawId: Withdrawal ID (default: 0)
withdraw_stake
Withdraw unstaked MON after the 1-epoch delay.
- - validatorId, withdrawId: Optional
claim_staking_rewards
Claim accumulated staking rewards.
compound_rewards
Re-stake accumulated rewards.
get_staking_info
Get delegation info (staked amount, unclaimed rewards).
Kuru CLOB Orderbook Trading
get_kuru_markets
List known Kuru CLOB orderbook markets on Monad mainnet.
get_order_book
Fetch live L2 order book (bids/asks) for a Kuru CLOB market.
- - marketAddress: Orderbook contract address
get_market_price
Get best bid, ask, and mid price for a Kuru CLOB market.
- - marketAddress: Orderbook contract address
kuru_market_order
Place a market (IOC) order on a Kuru CLOB market. Agent EOA must hold tokens.
- - marketAddress: Orderbook contract address
- amount: Human-readable float
- isBuy: true for buy, false for sell
- minAmountOut: Minimum output (default: 0)
- slippageBps: Slippage in bps (default: 100)
kuru_limit_order
Place a limit (GTC) order on a Kuru CLOB market.
- - marketAddress: Orderbook contract address
- price: Price in quote asset (float)
- size: Size in base asset (float)
- isBuy: true for bid, false for ask
- postOnly: Reject if it crosses spread (default: false)
cancel_kuru_orders
Cancel open orders on a Kuru CLOB market.
- - marketAddress: Orderbook contract address
- orderIds: Array of order ID strings
Memecoin Trading
get_meme_tokens
Get live price metrics for all known Monad memecoins (DAK, CHOG, YAKI). Uses CLOB orderbooks with Kuru Flow fallback.
get_token_price
Get live price for a specific token by symbol or contract address.
- - token: Symbol (DAK, CHOG, YAKI) or contract address
smart_trade
Evaluate or execute an autonomous trading strategy.
- - token: Token symbol
- strategyType:
dca, momentum, scalp, or INLINECODE40 - budgetMon: Total budget in MON
- stopLoss: Stop-loss fraction (default: 0.1 = -10%)
- takeProfit: Take-profit fraction (default: 0.3 = +30%)
- dcaIntervals: Number of DCA buys (default: 5)
- momentumThreshold: Min 24h change for momentum (default: 0.05)
- autoExecute: Execute trades or dry-run (default: false)
Cross-Chain Swaps
kyber_swap
Swap on Ethereum/Polygon/Arbitrum/Optimism/Base/BSC/Avalanche via KyberSwap. No API key needed. Uses agent EOA (not wallet contract).
- - chain: Target chain name
- tokenIn, tokenOut: Token addresses on target chain
- amountIn: Amount in smallest unit (wei)
- slippageBps: Slippage (default: 50)
- recipient: Recipient address (default: agent EOA)
zerox_swap
Swap via 0x Swap API v2. Requires
ZEROX_API_KEY.
- - chain, tokenIn, tokenOut, amountIn, slippageBps: Same as INLINECODE44
Payments & Identity
pay_for_service
Pay for an x402-enabled API endpoint.
- - endpoint: API endpoint URL
- amount: Payment in USDC
register_agent
Register on ERC-8004 identity registry.
- - name: Agent name
- description: Agent description
Deployment
deploy_policy_engine
Deploy a new PolicyEngine contract. The deployer becomes the owner. No parameters needed.
deploy_agent_wallet
Deploy a new AgentWallet contract. Optionally deploys PolicyEngine too.
- - owner: Address that owns the wallet
- agent: Agent EOA address allowed to call execute()
- policyEngine: Optional existing PolicyEngine address
Security Features
- - Spending Limits: Daily and weekly caps on agent spending
- Token Allowlists: Restrict which tokens the agent can transfer
- Contract Whitelists: Only allow calls to approved contracts
- Approval Thresholds: Require human approval above certain amounts
- Emergency Controls: Owner can pause or withdraw funds anytime
- Access Control: PolicyEngine recordExecution() only callable by the wallet contract
Example Session
CODEBLOCK1
License
MIT
ClankerKit - Monad上AI代理的自主钱包
ClankerKit为您的AI代理在Monad区块链上提供自主金融能力。部署智能合约钱包,设置支出策略,通过Kuru DEX兑换代币,质押MON,使用策略交易Meme币,以及执行跨链兑换。
快速开始
bash
安装技能
claw skill install clankerkit
环境变量
| 变量名 | 必填 | 描述 |
|---|
| AGENTWALLETADDRESS | 是 | 已部署的AgentWallet合约地址 |
| POLICYENGINEADDRESS |
是 | 已部署的PolicyEngine合约地址 |
| AGENT
PRIVATEKEY | 是 | 代理私钥(带0x前缀) |
| OWNER_ADDRESS | 是 | 人类所有者地址 |
| MONAD
RPCURL | 否 | Monad RPC URL(默认:测试网) |
| MONAD_NETWORK | 否 | testnet 或 mainnet(默认:testnet) |
| ZEROX
APIKEY | 否 | 0x兑换API密钥(仅用于zerox_swap) |
工具(共32个)
钱包管理
getwalletinfo
获取钱包地址、所有者、代理、MON余额和策略状态。
gettokenbalance
获取代理钱包的ERC-20代币余额。
- - token: 代币符号(WMON、USDC、CHOG、DAK、YAKI)或合约地址
send_tokens
从钱包发送原生MON代币。
- - to: 接收方地址
- amount: 人类可读形式的金额(例如0.5)
send_token
从钱包发送ERC-20代币。
- - token: 代币合约地址
- to: 接收方地址
- amount: 人类可读形式的金额
execute_transaction
通过钱包执行任意合约调用。
- - target: 目标合约地址
- value: 要发送的原生MON(wei,默认0)
- data: 编码的调用数据(十六进制)
ensure_gas
确保代理EOA有足够的MON支付Gas费。如果EOA余额低于最低阈值,自动从AgentWallet合约向EOA发送MON。用户只需为钱包合约充值——代理从中自行补充Gas。
- - minBalance: EOA可接受的最低MON余额(人类可读,默认0.01)
- topUpAmount: 低于最低阈值时向EOA发送的MON数量(人类可读,默认0.05)
策略与安全
get_policy
查看当前支出限额(每日/每周)、使用情况和白名单。
create_policy
创建支出策略。在受保护交易生效前必须调用一次。
- - dailyLimit: 每日最大MON(人类可读,例如1.0)
- weeklyLimit: 每周最大MON(默认为每日的7倍)
- allowedTokens: 可选的ERC-20地址白名单
- allowedContracts: 可选的合约地址白名单
- requireApprovalAbove: 需要所有者批准的MON阈值
updatedailylimit
更新每日支出限额。
代币兑换(Kuru DEX)
swap_tokens
通过Kuru Flow聚合器在Monad上兑换代币。接受符号(MON、USDC、WMON、CHOG、DAK、AUSD、WETH、WBTC)或合约地址。
- - tokenIn: 源代币(符号或地址)
- tokenOut: 目标代币(符号或地址)
- amount: 人类可读金额(例如0.01)
- slippage: 滑点(基点,默认:50 = 0.5%)
getswapquote
获取兑换报价而不执行。
- - tokenIn、tokenOut、amount: 与swap_tokens相同
质押
stake_mon
向验证者质押MON以赚取奖励。
- - amount: 要质押的MON(人类可读)
- validatorId: 验证者ID(可选,使用默认值)
unstake_mon
开始从验证者解除质押MON。
- - amount: 要解除质押的MON(人类可读)
- validatorId: 验证者ID(可选)
- withdrawId: 提款ID(默认:0)
withdraw_stake
在1个纪元延迟后提取已解除质押的MON。
- - validatorId、withdrawId: 可选
claimstakingrewards
领取累积的质押奖励。
compound_rewards
重新质押累积的奖励。
getstakinginfo
获取委托信息(质押金额、未领取奖励)。
Kuru CLOB订单簿交易
getkurumarkets
列出Monad主网上已知的Kuru CLOB订单簿市场。
getorderbook
获取Kuru CLOB市场的实时L2订单簿(买单/卖单)。
getmarketprice
获取Kuru CLOB市场的最佳买价、卖价和中间价。
kurumarketorder
在Kuru CLOB市场下达市价单(IOC)。代理EOA必须持有代币。
- - marketAddress: 订单簿合约地址
- amount: 人类可读浮点数
- isBuy: true为买入,false为卖出
- minAmountOut: 最小输出量(默认:0)
- slippageBps: 滑点(基点,默认:100)
kurulimitorder
在Kuru CLOB市场下达限价单(GTC)。
- - marketAddress: 订单簿合约地址
- price: 报价资产中的价格(浮点数)
- size: 基础资产中的数量(浮点数)
- isBuy: true为买单,false为卖单
- postOnly: 如果跨越价差则拒绝(默认:false)
cancelkuruorders
取消Kuru CLOB市场上的未成交订单。
- - marketAddress: 订单簿合约地址
- orderIds: 订单ID字符串数组
Meme币交易
getmemetokens
获取所有已知Monad Meme币(DAK、CHOG、YAKI)的实时价格指标。使用CLOB订单簿,Kuru Flow作为后备。
gettokenprice
通过符号或合约地址获取特定代币的实时价格。
- - token: 符号(DAK、CHOG、YAKI)或合约地址
smart_trade
评估或执行自主交易策略。
- - token: 代币符号
- strategyType: dca、momentum、scalp或hodl
- budgetMon: MON总预算
- stopLoss: 止损比例(默认:0.1 = -10%)
- takeProfit: 止盈比例(默认:0.3 = +30%)
- dcaIntervals: DCA买入次数(默认:5)
- momentumThreshold: 动量策略的最小24小时变化(默认:0.05)
- autoExecute: 执行交易或模拟运行(默认:false)
跨链兑换
kyber_swap
通过KyberSwap在以太坊/Polygon/Arbitrum/Optimism/Base/BSC/Avalanche上进行兑换。无需API密钥。使用代理EOA(而非钱包合约)。
- - chain: 目标链名称
- tokenIn、tokenOut: 目标链上的代币地址
- amountIn: 最小单位的金额(wei)
- slippageBps: 滑点(默认:50)
- recipient: 接收方地址(默认:代理EOA)
zerox_swap
通过0x Swap API v2进行兑换。需要ZEROX
APIKEY。
- - chain、tokenIn、tokenOut、amountIn、slippageBps: 与kyber_swap相同
支付与身份
payforservice
为启用x402的API端点付费。
- - endpoint: API端点URL
- amount: USDC支付金额
register_agent
在ERC-8004身份注册表上注册。
- - name: 代理名称
- description: 代理描述
部署
deploypolicyengine
部署新的PolicyEngine合约。部署者成为所有者。无需参数。
deployagentwallet
部署新的AgentWallet合约。可选择同时部署PolicyEngine。
-