计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
emblem-ai-agent-wallet【效率与协作】Connect to EmblemVault and manage crypto wallets via Hustle AI. Supports Solana, Ethereum, Base, BSC, Polygon, Hedera, and Bitcoin.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Connect to Agent Hustle - EmblemVault's autonomous crypto AI with 256+ trading tools across 7 blockchains.
When this skill loads, you can ask Agent Hustle anything about crypto:
Example commands to try:
To invoke this skill, say things like:
Install the CLI globally:
npm install -g @emblemvault/agentwallet
This provides a single unified command: emblemai
Login and signup are the same action. There is no separate registration step.
| Scenario | What Happens |
|---|---|
| First time with a password | A new vault is created with unique wallet addresses |
| Same password again | Returns the same vault (deterministic) |
| Different password | Creates a completely different vault |
Important:
Before making requests, locate the password using this priority:
if [ -n "$EMBLEM_PASSWORD" ]; then
PASSWORD="$EMBLEM_PASSWORD"
fi
if [ -z "$PASSWORD" ] && [ -f ~/.emblem-vault ]; then
PASSWORD=$(cat ~/.emblem-vault)
fi
Ask the user:
"I need your EmblemVault password to connect to Hustle AI. This password must be at least 16 characters.
Note: If this is your first time, entering a new password will create a new wallet. If you've used this before, use the same password to access your existing wallet.
Would you like to provide a password?"
Once provided, save it:
echo "USER_PROVIDED_PASSWORD" > ~/.emblem-vault
chmod 600 ~/.emblem-vault
DO NOT impose timeouts. Hustle AI queries can take up to 2 minutes. This is normal behavior, not a stall.
DO NOT assume Hustle is stalled. The CLI outputs progress dots every 5 seconds to indicate it's working. Wait for the response to complete naturally.
Cleanup before next request. Ensure no leftover emblemai processes are running before starting a new query:
pkill -f emblemai 2>/dev/null || true
Present Hustle's response EXACTLY as received. Do not paraphrase, summarize, or modify Hustle AI's response. Display it to the user in a markdown codeblock:
**Hustle AI Response:**
\`\`\`
[exact response from Hustle goes here, unmodified]
\`\`\`
This ensures the user sees exactly what Hustle returned, including any transaction details, addresses, or confirmations.
Use --agent mode for programmatic, single-message queries:
emblemai --agent -p "$PASSWORD" -m "Your message here"
Features:
emblemai -p "$PASSWORD"
# Or let it prompt for password:
emblemai
Interactive Commands:
| Command | Description |
|---|---|
/help | Show all commands |
/settings | Show current config |
/auth | Open auth menu (API key, addresses, etc.) |
/stream on|off | Toggle streaming mode |
/debug on|off | Toggle debug mode |
/history on|off | Toggle history retention |
/reset | Clear conversation history |
/models | List available models |
/model <id> | Set model (or "clear" to reset) |
/tools | List tool categories |
/tools add|remove <id> | Manage tools |
/exit | Exit the CLI |
emblemai --reset
emblemai --agent -p "$PASSWORD" -m "What are my wallet addresses?"
emblemai --agent -p "$PASSWORD" -m "Show all my balances across all chains"
emblemai --agent -p "$PASSWORD" -m "Swap $20 worth of SOL to USDC"
emblemai --agent -p "$PASSWORD" -m "What's trending on Solana right now?"
emblemai --agent -p "$PASSWORD" -m "Send 0.1 ETH to 0x..."
CRITICAL: Use verbose, natural language.
Hustle AI interprets terse commands as "$0" transactions. Always explain your intent in full sentences.
| Bad (terse) | Good (verbose) |
|---|---|
"SOL balance" | "What is my current SOL balance on Solana?" |
"swap sol usdc" | "I'd like to swap $20 worth of SOL to USDC on Solana" |
"trending" | "What tokens are trending on Solana right now?" |
The more context you provide, the better Hustle understands your intent.
Hustle AI provides access to:
| Category | Features |
|---|---|
| Chains | Solana, Ethereum, Base, BSC, Polygon, Hedera, Bitcoin |
| Trading | Swaps, limit orders, conditional orders, stop-losses |
| DeFi | LP management, yield farming, liquidity pools |
| Market Data | CoinGlass, DeFiLlama, Birdeye, LunarCrush |
| NFTs | OpenSea integration, transfers, listings |
| Bridges | Cross-chain swaps via ChangeNow |
| Memecoins | Pump.fun discovery, trending analysis |
| Predictions | PolyMarket betting and positions |
Each password deterministically generates wallet addresses across all chains:
| Chain | Address Type |
|---|---|
| Solana | Native SPL wallet |
| EVM | Single address for ETH, Base, BSC, Polygon |
| Hedera | Account ID (0.0.XXXXXXX) |
| Bitcoin | Taproot, SegWit, and Legacy addresses |
Ask Hustle: "What are my wallet addresses?" to retrieve all addresses.
The CLI maintains conversation history:
~/.emblemai-history.json/reset or --reset to clear historyCRITICAL: NEVER share or expose the password publicly.
| Concept | Description |
|---|---|
| Password = Identity | Each password generates a unique, deterministic vault |
| No Recovery | Passwords cannot be recovered if lost |
| Vault Isolation | Different passwords = completely separate wallets |
| Fresh Auth | New JWT token generated on every request |
Configure credentials in ~/.openclaw/openclaw.json:
{
"skills": {
"entries": {
"emblem-wallet": {
"enabled": true,
"apiKey": "your-secure-password-min-16-chars"
}
}
}
}
This injects the password as $EMBLEM_PASSWORD environment variable.
cd ~/.openclaw/skills/emblem-wallet && git pull
npm update -g @emblemvault/agentwallet
| Issue | Solution |
|---|---|
emblemai: command not found | Run: npm install -g @emblemvault/agentwallet |
Authentication failed | Check password is 16+ characters |
Empty response | Retry - Hustle AI may be temporarily unavailable |
HTTP 401 | JWT expired, will auto-refresh on next request |
| Slow response | Normal - queries can take up to 2 minutes |
# First time? Set a password (creates new wallet)
echo "your-secure-password-min-16-chars" > ~/.emblem-vault
chmod 600 ~/.emblem-vault
# Agent mode (for AI agents - single shot)
emblemai --agent -p "$(cat ~/.emblem-vault)" -m "What are my balances?"
# Interactive mode (for humans)
emblemai
# Or use environment variable
export EMBLEM_PASSWORD="your-secure-password-min-16-chars"
emblemai --agent -p "$EMBLEM_PASSWORD" -m "What tokens do I have?"
# Reset conversation history
emblemai --reset