Axelrod
Execute Base-chain trading and on-chain queries using natural language through the AIxVC AI Automation.
Quick Start
First-Time Setup
- Configure credentials in OpenClaw config under
skills.entries.axelrod.env:
{
"skills": {
"entries": {
"axelrod": {
"enabled": true,
"env": {
"AIXVC_ACCESS_KEY": "your_access_key",
"AIXVC_SECRET_KEY": "your_secret_key"
}
}
}
}
}
- Install dependencies:
pip install -r skills/axelrod/requirements.txt
- Verify setup:
python skills/axelrod/scripts/axelrod_chat.py --message "check my balance"
Core Usage
Simple Query
For straightforward requests that complete quickly:
python skills/axelrod/scripts/axelrod_chat.py --message "check my ETH balance"
python skills/axelrod/scripts/axelrod_chat.py --message "what is ETH price now"
JSON Debug Mode
For inspecting the full API response:
python skills/axelrod/scripts/axelrod_chat.py --message "check my balance" --json
Mandatory Workflow
- Check AK/SK — If
AIXVC_ACCESS_KEYorAIXVC_SECRET_KEYis missing, ask the user to configure them. Do not guess or fabricate credentials. - Run the script — Whenever the request needs real-time on-chain data or execution, always run the CLI. Do not answer from model memory alone.
- Return stdout — Capture the script's stdout and return it to the user. Light formatting is fine, but do not omit key results (amounts, tx hashes, confirm keys, error messages).
- Handle confirmation — If the response includes
confirmKey, guide the user to confirm or cancel (see Confirmation Flow below).
Capabilities Overview
Trading Operations
- Spot Buy/Sell/Swap: Exchange tokens on Base chain
- DCA: Dollar-cost averaging automation (e.g. "DCA 20u into ETH every day")
- Limit/Trigger Orders: Execute at target prices or PnL rates
- RSI Strategy: Conditional trading based on RSI indicators (e.g. "if 1h RSI < 30, buy 100u BTC")
- Take-Profit / Stop-Loss: Automated risk management via
QUERY_ALGO
Reference: references/api.md
Query Operations
- Balance Query: Single token or all-asset portfolio
- Token Info & Analysis: Contract details, decimals, analytics
- Price Query: Real-time prices with 24h change
- Order Query: Active order list and details
- TP/SL Order Query: Take-profit/stop-loss order status
Blockchain Assistant
- Crypto/DeFi domain Q&A and execution guidance
- Trading plan suggestions on Base chain
Confirmation Flow
Orders usually require risk-control confirmation; small orders (approximately ≤ $10) may skip confirmation. confirmKey is valid for about 10 minutes.
When the response includes confirmKey, ask the user to send one of:
yes, please execute <confirmKey>
no, please cancel <confirmKey>
If the key has expired, the user must submit the original request again.
Current Limitations
| Limitation | Details |
|---|---|
| Chain | Base only |
| Multiple trades | One trade per message; ask user to split if needed |
| Not supported | Leverage/futures/options, lending, cross-chain, NFT, fiat on/off-ramp |
Common Patterns
Check Before Trading
# Check balance
python skills/axelrod/scripts/axelrod_chat.py --message "check my ETH balance"
# Check price
python skills/axelrod/scripts/axelrod_chat.py --message "what is ETH price now"
# Then trade
python skills/axelrod/scripts/axelrod_chat.py --message "buy 50u of ETH"
Automated Strategies
# DCA strategy
python skills/axelrod/scripts/axelrod_chat.py --message "DCA 20u into ETH every day"
# RSI conditional strategy
python skills/axelrod/scripts/axelrod_chat.py --message "if 1h RSI < 30, buy 100u BTC"
# Limit order
python skills/axelrod/scripts/axelrod_chat.py --message "buy ETH when price drops to 2500"
Portfolio Review
# Full portfolio
python skills/axelrod/scripts/axelrod_chat.py --message "check my balance"
# Token analysis
python skills/axelrod/scripts/axelrod_chat.py --message "analyze AXR token for me"
# Order status
python skills/axelrod/scripts/axelrod_chat.py --message "show my recent orders"
Error Handling
Exit Codes
| Code | Meaning | Resolution |
|---|---|---|
0 | Success | — |
2 | Missing AK/SK | Ask user to configure AIXVC_ACCESS_KEY and AIXVC_SECRET_KEY |
3 | HTTP failure or invalid/non-JSON response | Check network, verify endpoint is reachable |
4 | API business error (code not in success set) | Read the error message, guide user to fix |
Common Issues
| Issue | Resolution |
|---|---|
| "Please login first" | AK/SK is incorrect — reconfigure credentials |
| Authentication error | Verify AK/SK are correct and not expired |
| Insufficient balance | Reduce trade amount or add funds |
| Token not found | Check token symbol or contract address |
| confirmKey expired | Re-submit the original trade request |
| Multiple trades in one message | Split into separate requests |
Prompt Examples by Category
Trading
"buy 50u of AXR""sell 50% of my ETH""swap 10 SOL to ETH"
Automated Strategies
"DCA 20u into ETH every day""if 1h RSI < 30, buy 100u BTC""buy ETH when price drops to 2500"
Portfolio & Queries
"check my balance""show AXR token info""what is ETH price now""show my recent orders""show my TP/SL orders"
Blockchain Assistant
"analyze AXR token for me""help me make a Base trading plan"
Best Practices
Security
- Never share your AK/SK credentials
- Start with small test amounts
- Verify token addresses before large trades
- Review confirmation details carefully before executing
Trading
- Check balance before trades
- Specify amounts clearly (
50u,50%,0.1 ETH) - Start small, scale up after validation
- Use limit orders for better entry prices
- Set TP/SL for risk management
API Reference
For the full API contract, SigV4 signing protocol, request/response format, and response field details, see:
Reference: references/api.md
Implementation Notes
- The script uses AK/SK with SigV4-style signing to call the AIxVC.
- Current endpoint:
https://api.aixvc.io/gw/openapi/v2/public/twa/agent/chat(chain-id=base). - If documentation conflicts with code behavior, follow the script implementation.
File Structure
- SKILL.md — Agent instructions (this file). The agent reads this to understand how to use the skill.
- README.md — Human-facing setup and usage guide.
- scripts/axelrod_chat.py — CLI client. Always invoke with
python skills/axelrod/scripts/axelrod_chat.py --message "<instruction>". - references/api.md — Full API contract and signing reference.
- requirements.txt — Python dependencies (
requests).
Troubleshooting
Script Not Working
# Ensure Python 3 is available
python --version
# Install dependencies
pip install -r skills/axelrod/requirements.txt
# Test connectivity
curl -I https://api.aixvc.io
API Errors
See exit codes and common issues tables above. If an error persists:
- Check the error message from stderr
- Use
--jsonmode to inspect the full API response - Verify AK/SK configuration
- Test with a simple query first (
"check my balance")
💡 Pro Tip: The most common issue is missing or incorrect AK/SK. Always verify credentials first when encountering errors.
⚠️ Security: Keep your AK/SK private. Never commit credentials to version control. Only trade amounts you can afford to lose.
🚀 Quick Win: Start by checking your balance to verify setup, then try a small trade like "buy 1u of ETH" to get familiar with the flow.