Install
openclaw skills install aawp-aiAAWP (AI Agent Wallet Protocol) — crypto wallet protocol built exclusively for AI Agents on EVM chains and Solana. Signer is the AI Agent itself, cryptographically bound at creation. Supports wallet lifecycle, transfers, DEX swaps, bridging, Solana native trading (Pump.fun + Jupiter), token launches, DCA, price alerts, limit orders, NFTs, yield/DeFi, SPL token transfers, portfolio tracking, transaction history, SOL staking (native + Marinade), and Raydium LP management.
openclaw skills install aawp-aiWhen this skill is triggered (e.g. /aawp), show a live wallet dashboard:
bash scripts/ensure-daemon.sh (silent, just ensure daemon is up)node scripts/wallet-manager.js status --all to get all 6 EVM chainsnode scripts/wallet-manager.js --chain solana status + --chain solana balance for Solananode scripts/wallet-manager.js --chain base balance for Base token breakdown🔐 AAWP Wallet Dashboard
📍 EVM: 0x85bd...ecc8 (6 chains)
📍 SOL: CKeD...Ub4f (Mainnet)
🔑 Daemon: ✅ online | Frozen: no
💰 Balances
Base 0.000408 ETH
ETH 0.0 ETH
ARB 0.0 ETH
OP 0.0 ETH
Polygon 0.0 MATIC
BSC 0.001 BNB
Solana 0.001733 SOL (PDA) · 0.033209 SOL (Signer)
📊 Base Tokens
USDC 0.0 · USDT 0.0 · WETH 0.0
⚡ Quick Actions: balance · swap · send · bridge · dca · yield · pump
要做什么?
Rules:
provision.sh)wallet-manager.js create)approveBinary)All other operations (balance, quotes, reads) are safe to run autonomously.
EVM: Guardian pays gas → Wallet contract holds assets → Daemon signs (secp256k1) Solana: AI Signer pays directly → Wallet PDA holds assets → Daemon signs (Ed25519) Same seed, HKDF domain separation → independent keys per chain family.
Networks: Ethereum · Base · BNB Chain · Polygon · Optimism · Arbitrum · Solana
| Contract | Address |
|---|---|
| Factory Proxy | 0xAAAA3Df87F112c743BbC57c4de1700C72eB7aaAA |
| Identity Proxy | 0xAAAafBf6F88367C75A9B701fFb4684Df6bCA1D1d |
All commands: node scripts/wallet-manager.js [--chain <chain>] <command>
Chains: base|eth|bsc|polygon|optimism|arbitrum
| Command | Description |
|---|---|
create | Deploy wallet |
status | Status overview |
balance | Native + token balances |
dashboard | Full multi-chain dashboard |
portfolio | Portfolio view |
history | Tx history |
compute-address | Predict wallet address |
backup <file> | Backup wallet |
restore <file> | Restore wallet |
| Command | Description |
|---|---|
send <to> <amt> | Send native token |
send-token <symbol> <to> <amt> | Send ERC-20 |
quote <from> <to> <amt> | Swap preview (no gas) |
swap <from> <to> <amt> | Execute swap |
bridge <token> <dest_chain> <amt> | Cross-chain bridge |
| Command | Description |
|---|---|
approve <token> <spender> <amt> | Approve ERC-20 |
allowance <token> <spender> | Check allowance |
revoke <token> <spender> | Revoke approval |
call <contract> "transfer(address,uint256)" 0xTo 1000 # Write (tx)
read <contract> "balanceOf(address) returns (uint256)" 0x # Read (free)
batch ./calls.json # Atomic batch
addr add|list|get|remove <label> [<address>]
node scripts/dca.jsdca.js add --chain base --from ETH --to USDC --amount 0.01 --cron "0 9 * * *"
dca.js list | run <id> | history <id> | remove <id>
node scripts/price-alert.jsprice-alert.js add --chain base --from ETH --to USDC --above 2600 --notify
price-alert.js add --chain base --from ETH --to USDC --below 2200 --auto-swap 0.01
price-alert.js list | check | remove <id>
node scripts/limit-order.jsChains: eth|base|arb|op|polygon (CoW Protocol) · bsc (1inch)
limit-order.js --chain base create ETH USDC 0.1 2700 [--expiry 48]
limit-order.js --chain base list | history | cancel <orderUid>
node scripts/portfolio.jsportfolio.js [--chain base] [--no-prices] [--hide-zero] [--json]
node scripts/nft.jsnft.js --chain base balance [--contract 0x...]
nft.js --chain eth info <contract> <tokenId>
nft.js --chain base transfer <contract> <tokenId> <to> [amount]
nft.js --chain base approve|revoke <contract> <operator>
nft.js --chain base mint <contract> [calldata]
nft.js --chain eth floor <contract>
node scripts/yield.jsChains: base|eth|arb|op|polygon (Aave) · bsc (Venus)
yield.js --chain base rates | positions
yield.js --chain base supply|withdraw <token> <amt|max>
yield.js --chain base borrow|repay <token> <amt|max> [--rate stable]
node scripts/deploy-clanker.jsChains: base|eth|arb|unichain|bera|bsc
deploy-clanker.js --dry-run # Preview
deploy-clanker.js # Deploy
Edit CONFIG at top of script: name, symbol, image, initialMarketCap, vault settings, etc.
tokenAdmin + rewardRecipient default to AAWP wallet.
| Component | Address |
|---|---|
| Program | AAwpAAQSVAZYHvpUW5uz7zxqj7RYTYR6CZvWL9wf4qiS |
| Factory PDA | 6EkR7RUVPVkJ2SNpVN6UJTLS9TZ2bqHJt9nch5fgetxx |
| Identity PDA | 8Aef6r3Q4YiuLMN9mdrZGQJJrfLJFgwEGjKa1CiHmAej |
All commands: wallet-manager.js --chain solana <command>
| Component | Address |
|---|---|
| AI Signer | BrZhu5oBmqBPGMYA8TiUS2hMr2Kpg11q5PFpfK35Kgoi |
| Wallet PDA | CKeDtwBFaahwX3LuEo4us1XJd7hS2e45N25zDHjTUb4f |
| Guardian | BvbXW3uZG9YkzQmcYEnQ5qxTkTf1tQ5Jb4vHJ8HPM77P |
status · balance · compute-address · send <to> <amt> · price <token>
send <to> <amount_SOL> # Send SOL
send-token <mint> <to> <amount> # Send SPL token (Token-2022 auto-detect)
portfolio # All token holdings + USD values
history [--limit 20] # Transaction history with type classification
swap SOL <mint> 0.1 # Buy
swap <mint> SOL 1000000 # Sell
swap SOL <mint> 0.1 --pool jupiter # Force Jupiter
swap SOL USDC 0.5 --slippage 5
dca create <inputMint> <outputMint> <totalAmount> <perCycle> <frequencySec>
dca list # Active DCA positions
dca close <dcaAccount> # Close DCA position
JUP_API_KEY)limit create <inputMint> <outputMint> <inAmount> <outAmount> [--expires <sec>]
limit list # Open orders
limit cancel <orderPubkey> # Cancel order
limit history # Order history
nft list # List all NFTs
nft info <mint> # Metadata details
nft send <mint> <to> # Transfer NFT
stake <amount_SOL> <validatorVoteAccount> # Delegate SOL
unstake <stakeAccount> # Deactivate stake
stake-list # List all stake accounts
stake-withdraw <stakeAccount> # Withdraw after cooldown
raydium info <poolId> # Pool details + TVL
raydium search <mint> # Search pools by token
raydium add <poolId> <amountA> <amountB> # Add liquidity
raydium remove <poolId> <lpAmount> # Remove liquidity
pump-info <mint>
pump-quote buy|sell|cost <mint> <amount>
pump-create <name> <symbol> <uri> [--buy 0.5]
pump-fees balance|collect|distribute|cashback [addr|mint]
pump-share <mint> <addr1:share1> <addr2:share2>
pump-incentives [claim]
pump-lp deposit|withdraw <mint> <amount>
pump-volume [sync]
pump-migrate <mint> <withdraw_authority>
bash scripts/provision.sh # 1. Initialize
node scripts/wallet-manager.js --chain base create # 2. Create wallet
export AAWP_WALLET=0x... # 3. Pin address
# Fund wallet, then:
node scripts/wallet-manager.js --chain base balance # 4. Verify
| Script | Purpose |
|---|---|
scripts/doctor.sh | Full diagnostics |
scripts/ensure-daemon.sh | Start if not running |
scripts/restart-daemon.sh | Force restart |
| Error | Fix |
|---|---|
E_AI_GATE / hmac_mismatch | bash scripts/restart-daemon.sh |
InvalidSignature | Verify signer + binary approval on factory |
E40 / E41 | Kill duplicate daemon, restart |
BinaryNotApproved | Owner must approveBinary(hash) on all chains |
| TX reverts ~1M gas | Add --gas-limit 8000000 |
export AAWP_WALLET=0x...