skills/vault-agent/SKILL.md
Execute NFT vault liquidity operations via NFTX protocol. Simulate, analyze, and execute mint/redeem/swap on NFTX V3 vaults with built-in fee calculation and safety checks.
npx skillsauth add aleks-nft/agentvault vault-agentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
VaultAgent gives AI agents execution-grade access to NFT vault liquidity on NFTX V3. Every write operation follows a mandatory Simulate → Confirm → Execute pattern — the agent shows the user a full cost breakdown and waits for explicit confirmation before touching any on-chain transaction.
| Tool | When to use |
|------|-------------|
| list_vaults | First step — discover active vaults for a collection |
| get_vault_info | Get fees, NFT count, vToken info for a specific vault |
| get_premium_window | Before targeted redeem — check Dutch auction premium and timing |
| simulate_mint | Pre-flight check before execute_mint |
| Tool | When to use |
|------|-------------|
| execute_mint | Deposit NFTs → vTokens. Always simulate first. |
| execute_redeem | Redeem vTokens → NFTs (random or targeted). Use get_premium_window first for targeted. |
| execute_swap | Swap specific NFTs for other NFTs in same vault. |
1. Read → list_vaults / get_vault_info / get_premium_window / simulate_mint
2. Show → present the full cost breakdown to the user clearly:
- What goes in (NFT tokenIds or vToken amount)
- What comes out (vTokens or NFT)
- NFTX protocol fee
- VaultAgent fee (0.25%)
- ETH premium (for targeted redeems)
- Gas estimate
3. Ask → "Confirm [mint/redeem/swap]?" — explicit yes/no from user
4. Execute → call execute_* with confirmed=true ONLY after user says yes
Never set confirmed=true without explicit user approval in the same conversation turn.
If confirmed=false, the tool returns AWAITING_CONFIRMATION — this is correct and expected.
NFTX V3 uses a Dutch auction for targeted redeems:
get_premium_window before a targeted redeemeth_premium_wei to execute_redeemmax_premium_bps (recommended: 2000 = 20%) to protect against price spikesEvery transaction through VaultAgent:
| Error | What to do |
|-------|------------|
| AWAITING_CONFIRMATION | Normal — show to user, ask for confirmation |
| APPROVAL_REQUIRED | User must approve NFT or vToken spending. Explain which contract to approve. |
| BLOCKED / paused: true | Contract paused by owner. Do not retry. Inform user. |
| Insufficient vToken balance | User needs more vTokens. Show required vs available. |
| premium exceeds max | Current premium too high. Show get_premium_window result. |
User: "How many Milady NFTs are in NFTX right now?"
Agent workflow:
1. list_vaults() → find MILADY vault
2. get_vault_info(vault_address: "0x...milady...") → show NFT count, fees, vToken price
3. Reply with: vault name, NFTs locked, current fees, vToken symbol (MILADY)
User: "I want to deposit Milady #1234 into NFTX. What will I get?"
Agent workflow:
1. list_vaults() → find MILADY vault address
2. simulate_mint(vault_address, token_ids: [1234], owner_address: "0x...user...")
3. Show result:
- You will receive: ~0.9975 MILADY vTokens (after 0.25% VaultAgent fee)
- NFTX mint fee: X%
- Approval needed: Yes/No
- Ready to execute: Yes/No
4. Ask: "Want me to execute this mint?"
User: "Get me Milady #5678 back from NFTX"
Agent workflow:
1. list_vaults() → MILADY vault address
2. get_premium_window(vault_address, token_ids: [5678]) → check Dutch auction
3. If premium > 20%: "Current premium is 45% (~0.45 ETH extra).
It will drop to ~15% in 3.2 hours. Wait or proceed?"
4. User: "Proceed"
5. execute_redeem(vault_address, num_nfts: 1, specific_ids: [5678],
vtoken_amount: "1000000000000000000",
eth_premium_wei: "450000000000000000",
max_premium_bps: 5000,
owner_address: "0x...",
confirmed: false) ← first show AWAITING_CONFIRMATION
6. Show cost breakdown to user, ask "Confirm?"
7. User: "Yes"
8. execute_redeem(..., confirmed: true) → execute on-chain
User: "Redeem 1 random Azuki from NFTX vault"
Agent workflow:
1. list_vaults() → AZUKI vault
2. execute_redeem(vault_address, num_nfts: 1, specific_ids: [],
vtoken_amount: "1000000000000000000",
confirmed: false)
3. Show: cost breakdown, ask "Confirm?"
4. execute_redeem(..., confirmed: true)
testing
Mint or redeem NFTX vault tokens (vMILADY, vPUNK, vDEATH) using USDT/USDC. Use when asked to buy/sell/enter/exit NFT vault positions with stablecoins, or when checking premium windows and arbitrage opportunities in NFT liquidity.
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".