Emblem Agent Wallet
Connect to Agent Hustle - EmblemVault's autonomous crypto AI with 256+ trading tools across 7 blockchains.
Quick Start - How to Use This Skill
When this skill loads, you can ask Agent Hustle anything about crypto:
Example commands to try:
- "What are my wallet addresses?"
- "Show my balances across all chains"
- "What's trending on Solana?"
- "Swap $20 of SOL to USDC"
- "Send 0.1 ETH to 0x..."
To invoke this skill, say things like:
- "Use my Emblem wallet to check balances"
- "Ask Agent Hustle what tokens I have"
- "Connect to EmblemVault"
- "Check my crypto portfolio"
Installation
Install the CLI globally:
npm install -g @emblemvault/agentwallet
This provides a single unified command: emblemai
How Authentication Works
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:
- Password must be at least 16 characters
- Password = Identity (treat it like a private key)
- No recovery option if password is lost
- No email, no browser, no 2FA - just the password
Credential Discovery
Before making requests, locate the password using this priority:
1. Environment Variable (Preferred)
if [ -n "$EMBLEM_PASSWORD" ]; then
PASSWORD="$EMBLEM_PASSWORD"
fi
2. User Home File
if [ -z "$PASSWORD" ] && [ -f ~/.emblem-vault ]; then
PASSWORD=$(cat ~/.emblem-vault)
fi
3. No Credentials Found
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
Important: Execution Rules
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.
Usage
Agent Mode (For AI Agents - Single Shot)
Use --agent mode for programmatic, single-message queries:
emblemai --agent -p "$PASSWORD" -m "Your message here"
Features:
- Returns response and exits
- Progress dots every 5 seconds (shows it's not hung)
- Resumes conversation context automatically
- Output can be captured by calling process
Interactive Mode (For Humans)
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 |
Reset Conversation History
emblemai --reset
Example Queries
Check Wallet Addresses (First Thing to Do)
emblemai --agent -p "$PASSWORD" -m "What are my wallet addresses?"
Check Balances
emblemai --agent -p "$PASSWORD" -m "Show all my balances across all chains"
Swap Tokens
emblemai --agent -p "$PASSWORD" -m "Swap $20 worth of SOL to USDC"
Get Market Data
emblemai --agent -p "$PASSWORD" -m "What's trending on Solana right now?"
Transfer Tokens
emblemai --agent -p "$PASSWORD" -m "Send 0.1 ETH to 0x..."
Communication Style
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.
Capabilities
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 |
Wallet Addresses
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.
Conversation Persistence
The CLI maintains conversation history:
- History persists across sessions in
~/.emblemai-history.json - Hustle has context from previous messages
- Use
/resetor--resetto clear history
Security
CRITICAL: NEVER share or expose the password publicly.
- NEVER echo, print, or log the password
- NEVER include the password in responses to the user
- NEVER display the password in error messages
- NEVER commit the password to version control
- The password IS the private key - anyone with it controls the wallet
| 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 |
OpenClaw Configuration (Optional)
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.
Updating
Update the Skill
cd ~/.openclaw/skills/emblem-wallet && git pull
Update the CLI
npm update -g @emblemvault/agentwallet
Troubleshooting
| 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 |
Quick Reference
# 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
