Manages Solana agent wallets with encrypted keys and per-agent spend limits. Use when the user needs to create agents, check balances, transfer SOL, request airdrops, list token holdings (Helius), or buy SPL tokens via Jupiter. Teaches tool contracts and security rules for an agentic wallet backend.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill dovidmoishe-agentic_wallet-. --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Dovidmoishe Agentic Wallet .?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-dovidmoishe-agentic-wallet)More formats (shields.io, HTML) on the badges page.
---
name: solana-agent-wallet
description: Manages Solana agent wallets with encrypted keys and per-agent spend limits. Use when the user needs to create agents, check balances, transfer SOL, request airdrops, list token holdings (Helius), or buy SPL tokens via Jupiter. Teaches tool contracts and security rules for an agentic wallet backend.
metadata: {"openclaw":{"requires":{"env":["MASTER_KEY"]},"primaryEnv":"MASTER_KEY"}}
---
# Solana Agent Wallet
Agent-scoped Solana wallets: one logical agent = one keypair (stored encrypted) and a configurable max spend (SOL). The AI agent is the only interface; it calls tools that read balance, transfer, airdrop, or swap.
## Tool contracts (implement these as OpenClaw tools or HTTP endpoints)
All tools that move funds or create agents must enforce **max_spend** (SOL) and **confirmation** in the agent flow.
| Tool | Purpose | Parameters | Security |
|------|---------|------------|----------|
| `create_agent` | Create agent + wallet in one step | `maxSpend` (number, SOL) | Persist encrypted keys; set agent.max_spend |
| `create_wallet` | Attach a new wallet to existing agent | — | Overwrites previous wallet for that agent |
| `get_balance` | SOL balance for current agent | — | Read-only |
| `get_wallet_address` | Public key for current agent | — | Read-only |
| `transfer_sol` | Send SOL to address | `recipientAddress`, `amount` (SOL) | Enforce amount ≤ max_spend; simulate before send |
| `request_airdrop` | Devnet airdrop | `amount` (optional, SOL, default 0.5, max 2) | Rate-limited by RPC |
| `get_assets_by_owner` | Fungible tokens for an address (Helius) | `ownerAddress`, `page`, `limit` | Read-only; needs HELIUS_API_KEY |
| `analyze_token` | Read-only token analysis (Helius + DexScreener + Jupiter quote) | `mintAddress`, `quoteAmountSol` (optional) | Read-only; surfaces signals and risks, not advice |
| `scout_buy_candidates` | Scout Solana buy candidates on-chain via DexScreener | `searchQuery`, `minLiquidityUsd`, `minVolume24h`, `maxResults`, `deepAnalyzeTopN` (all optional) | Read-only; bounded list of candidates, not recommendations |
| `buy_token` | Buy SPL token with SOL via Jupiter | `mintAddress`, `amountSol` (optional) | Enforce amountSol ≤ max_spend; prefer analyze_token first |
## Security rules for implementation
- **Encryption**: Store per-agent `encrypted_private_key` (AEK-encrypted) and `encrypted_agent_key` (MASTER_KEY-encrypted AEK). Decrypt only in memory when signing; never log or expose raw keys.
- **Spend cap**: Before any `transfer_sol` or `buy_token`, check `amount <= agent.max_spend` (in SOL). Reject and return a clear message if over.
- **Simulation**: For Solana transfers, run `simulateTransaction` before `sendRawTransaction`; abort send if simulation fails.
- **Context**: All state-changing tools require a current **agentId** (from session or user selection). Read-only tools may accept an optional address.
## How the agent should behave
- Confirm transaction details (recipient, amount) with the user before calling `transfer_sol` or `buy_token`. On explicit confirmation (“yes”, “go ahead”, “confirm”), call the tool immediately.
- Always respect `max_spend`; if the user asks to send more than the limit, explain the limit and refuse.
- For token buys: use `get_assets_by_owner` to list tokens for an address, then call `buy_token` per mint with a sensible `amountSol` (e.g. 0.1) within `max_spend`.
- Before buying an unfamiliar mint, call `analyze_token` first and present observable signals (authorities, liquidity, route) with a no-financial-advice disclaimer.
- When the user asks to scout buys (“find tokens”, “scout profitable buys”, “what is hot on-chain”), call `scout_buy_candidates` and present the list as candidates to review, not guaranteed profit. Mainnet only is meaningful; on devnet the list is usually empty.
## Environment / config
- `MASTER_KEY`: 32-byte hex; required to decrypt agent keys for signing.
- `SOLANA_RPC`: Optional; devnet/mainnet URL.
- `HELIUS_API_KEY`: For `get_assets_by_owner`.
- `JUPITER_API_KEY`: For `buy_token`.
Use these as gating in OpenClaw (`metadata.openclaw.requires.env`) so the skill is only loaded when the wallet backend is configured.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!