Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
AI-powered crypto trading agent and LLM gateway via natural language. Use when the user wants to trade crypto, check portfolio balances, view token prices, t...
AI-powered crypto trading agent and LLM gateway via natural language. Use when the user wants to trade crypto, check portfolio balances, view token prices, t...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Execute crypto trading and DeFi operations using natural language. Two integration options: Bankr CLI (recommended) β Install @bankr/cli for a batteries-included terminal experience REST API β Call https://api.bankr.bot directly from any language or tool Both use the same API key and the same async job workflow under the hood.
Before using either option, you need a Bankr API key. Two ways to get one: Option A: Headless email login (recommended for agents) Two-step flow β send OTP, then verify and complete setup. See "First-Time Setup" below for the full guided flow with user preference prompts. # Step 1 β send OTP to email bankr login email user@example.com # Step 2 β verify OTP and generate API key (options based on user preferences) bankr login email user@example.com --code 123456 --accept-terms --key-name "My Agent" --read-write This creates a wallet, accepts terms, and generates an API key β no browser needed. Before running step 2, ask the user whether they need read-only or read-write access, LLM gateway, and their preferred key name. Option B: Bankr Terminal Visit bankr.bot/api Sign up / Sign in β Enter your email and the one-time passcode (OTP) sent to it Generate an API key β Create a key with Agent API access enabled (the key starts with bk_...) Both options automatically provision EVM wallets (Base, Ethereum, Polygon, Unichain) and a Solana wallet β no manual wallet setup needed.
bun install -g @bankr/cli Or with npm: npm install -g @bankr/cli
Headless email login (recommended for agents) When the user asks to log in with an email, walk them through this flow: Step 1 β Send verification code bankr login email <user-email> Step 2 β Ask the user for the OTP code they received via email. Step 3 β Before completing login, ask the user about their preferences: Accept Terms of Service β Present the Terms of Service link and confirm the user agrees. Required for new users β do not pass --accept-terms unless the user has explicitly confirmed. Read-only or read-write API key? Read-only (default) β portfolio, balances, prices, research only Read-write (--read-write) β enables swaps, transfers, orders, token launches, leverage, Polymarket bets Enable LLM gateway access? (--llm) β multi-model API at llm.bankr.bot (currently limited to beta testers). Skip if user doesn't need it. Key name? (--key-name) β a display name for the API key (e.g. "My Agent", "Trading Bot") Step 4 β Construct and run the step 2 command with the user's choices: # Example with all options bankr login email <user-email> --code <otp> --accept-terms --key-name "My Agent" --read-write --llm # Example read-only, no LLM bankr login email <user-email> --code <otp> --accept-terms --key-name "Research Bot" Login options reference OptionDescription--code <otp>OTP code received via email (step 2)--accept-termsAccept Terms of Service without prompting (required for new users)--key-name <name>Display name for the API key (e.g. "My Agent"). Prompted if omitted--read-writeEnable write operations: swaps, transfers, orders, token launches, leverage, Polymarket bets. Without this flag, the key is read-only (portfolio, balances, prices, research only)--llmEnable LLM gateway access (multi-model API at llm.bankr.bot). Currently limited to beta testers Any option not provided on the command line will be prompted interactively by the CLI, so you can mix headless and interactive as needed. Login with existing API key If the user already has an API key: bankr login --api-key bk_YOUR_KEY_HERE If they need to create one at the Bankr Terminal: Run bankr login --url β prints the terminal URL Present the URL to the user, ask them to generate a bk_... key Run bankr login --api-key bk_THE_KEY Separate LLM Gateway Key (Optional) If your LLM gateway key differs from your API key, pass --llm-key during login or run bankr config set llmKey YOUR_LLM_KEY afterward. When not set, the API key is used for both. See references/llm-gateway.md for full details. Verify Setup bankr whoami bankr prompt "What is my balance?"
No CLI installation required β call the API directly with curl, fetch, or any HTTP client.
All requests require an X-API-Key header: curl -X POST "https://api.bankr.bot/agent/prompt" \ -H "X-API-Key: bk_YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt": "What is my ETH balance?"}'
# 1. Submit a prompt β returns a job ID JOB=$(curl -s -X POST "https://api.bankr.bot/agent/prompt" \ -H "X-API-Key: $BANKR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt": "What is my ETH balance?"}') JOB_ID=$(echo "$JOB" | jq -r '.jobId') # 2. Poll until terminal status while true; do RESULT=$(curl -s "https://api.bankr.bot/agent/job/$JOB_ID" \ -H "X-API-Key: $BANKR_API_KEY") STATUS=$(echo "$RESULT" | jq -r '.status') [ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ] || [ "$STATUS" = "cancelled" ] && break sleep 2 done # 3. Read the response echo "$RESULT" | jq -r '.response'
Every prompt response includes a threadId. Pass it back to continue the conversation: # Start β the response includes a threadId curl -X POST "https://api.bankr.bot/agent/prompt" \ -H "X-API-Key: $BANKR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt": "What is the price of ETH?"}' # β {"jobId": "job_abc", "threadId": "thr_XYZ", ...} # Continue β pass threadId to maintain context curl -X POST "https://api.bankr.bot/agent/prompt" \ -H "X-API-Key: $BANKR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt": "And what about SOL?", "threadId": "thr_XYZ"}' Omit threadId to start a new conversation. CLI equivalent: bankr prompt --continue (reuses last thread) or bankr prompt --thread <id>.
EndpointMethodDescription/agent/promptPOSTSubmit a prompt (async, returns job ID)/agent/job/{jobId}GETCheck job status and results/agent/job/{jobId}/cancelPOSTCancel a running job/agent/balancesGETWallet balances across chains (sync, optional ?chains= filter)/agent/signPOSTSign messages/transactions (sync)/agent/submitPOSTSubmit raw transactions (sync) For full API details (request/response schemas, job states, rich data, polling strategy), see: Reference: references/api-workflow.md | references/sign-submit-api.md
CommandDescriptionbankr loginAuthenticate with the Bankr API (interactive menu)bankr login email <address>Send OTP to email (headless step 1)bankr login email <address> --code <otp> [options]Verify OTP and complete setup (headless step 2)bankr login --api-key <key>Login with an existing API key directlybankr login --api-key <key> --llm-key <key>Login with separate LLM gateway keybankr login --urlPrint Bankr Terminal URL for API key generationbankr logoutClear stored credentialsbankr whoamiShow current authentication infobankr prompt <text>Send a prompt to the Bankr AI agentbankr prompt --continue <text>Continue the most recent conversation threadbankr prompt --thread <id> <text>Continue a specific conversation threadbankr status <jobId>Check the status of a running jobbankr cancel <jobId>Cancel a running jobbankr balancesShow wallet token balances across all chainsbankr balances --chain <chains>Filter by chain(s): base, polygon, mainnet, unichain, solana (comma-separated)bankr balances --jsonOutput raw JSON balancesbankr skillsShow all Bankr AI agent skills with examples
CommandDescriptionbankr config get [key]Get config value(s)bankr config set <key> <value>Set a config valuebankr --config <path> <command>Use a custom config file path Valid config keys: apiKey, apiUrl, llmKey, llmUrl Default config location: ~/.bankr/config.json. Override with --config or BANKR_CONFIG env var.
VariableDescriptionBANKR_API_KEYAPI key (overrides stored key)BANKR_API_URLAPI URL (default: https://api.bankr.bot)BANKR_LLM_KEYLLM gateway key (falls back to BANKR_API_KEY if not set)BANKR_LLM_URLLLM gateway URL (default: https://llm.bankr.bot) Environment variables override config file values. Config file values override defaults.
CommandDescriptionbankr llm modelsList available LLM modelsbankr llm setup openclaw [--install]Generate or install OpenClaw configbankr llm setup opencode [--install]Generate or install OpenCode configbankr llm setup claudeShow Claude Code environment setupbankr llm setup cursorShow Cursor IDE setup instructionsbankr llm claude [args...]Launch Claude Code via the Bankr LLM Gateway
For straightforward requests that complete quickly: bankr prompt "What is my ETH balance?" bankr prompt "What's the price of Bitcoin?" The CLI handles the full submit-poll-complete workflow automatically. You can also use the shorthand β any unrecognized command is treated as a prompt: bankr What is the price of ETH?
For prompts containing $ or special characters that the shell would expand: # Interactive mode β no shell expansion issues bankr prompt # Then type: Buy $50 of ETH on Base # Or pipe input echo 'Buy $50 of ETH on Base' | bankr prompt
Continue a multi-turn conversation with the agent: # First prompt β starts a new thread automatically bankr prompt "What is the price of ETH?" # β Thread: thr_ABC123 # Continue the conversation (agent remembers the ETH context) bankr prompt --continue "And what about BTC?" bankr prompt -c "Compare them" # Resume any thread by ID bankr prompt --thread thr_ABC123 "Show me ETH chart" Thread IDs are automatically saved to config after each prompt. The --continue / -c flag reuses the last thread.
For advanced use or long-running operations: # Submit and get job ID bankr prompt "Buy $100 of ETH" # β Job submitted: job_abc123 # Check status of a specific job bankr status job_abc123 # Cancel if needed bankr cancel job_abc123
The Bankr LLM Gateway is a unified API for Claude, Gemini, GPT, and other models β multi-provider access, cost tracking, automatic failover, and SDK compatibility through a single endpoint. Base URL: https://llm.bankr.bot | Dashboard: bankr.bot/llm | API Keys: bankr.bot/api
Uses your llmKey if configured, otherwise falls back to your API key LLM credits (USD) and trading wallet (crypto) are completely separate balances β having crypto does NOT give you LLM credits New accounts start with $0 LLM credits β top up at bankr.bot/llm before making any LLM calls, or you will get a 402 error Check credits: bankr llm credits | Check trading wallet: bankr balances In OpenClaw config, prefix model IDs with bankr/ (e.g. bankr/claude-sonnet-4.6). In direct API calls, use bare IDs (e.g. claude-sonnet-4.6)
bankr llm models # List available models bankr llm credits # Check credit balance bankr llm setup openclaw --install # Install Bankr provider into OpenClaw bankr llm setup claude # Print Claude Code env vars bankr llm claude # Launch Claude Code through gateway For full details β setup paths, model list, provider config, SDK examples, key management, and troubleshooting β see: Reference: references/llm-gateway.md
Token Swaps: Buy/sell/swap tokens across chains Cross-Chain: Bridge tokens between chains Limit Orders: Execute at target prices Stop Loss: Automatic sell protection DCA: Dollar-cost averaging strategies TWAP: Time-weighted average pricing Reference: references/token-trading.md
Check balances across all chains (bankr balances or GET /agent/balances) View USD valuations Track holdings by token or chain Real-time price updates Multi-chain aggregation Filter by chain: bankr balances --chain base,solana or GET /agent/balances?chains=base,solana Reference: references/portfolio.md
Token prices and market data Technical analysis (RSI, MACD, etc.) Social sentiment analysis Price charts Trending tokens Token comparisons Reference: references/market-research.md
Send to addresses, ENS, or social handles Multi-chain support Flexible amount formats Social handle resolution (Twitter, Farcaster, Telegram) Reference: references/transfers.md
Browse and search collections View floor prices and listings Purchase NFTs via OpenSea View your NFT portfolio Transfer NFTs Mint from supported platforms Reference: references/nft-operations.md
Search prediction markets Check odds Place bets on outcomes View positions Redeem winnings Reference: references/polymarket.md
Long/short positions (up to 50x crypto, 100x forex/commodities) Crypto, forex, and commodities Stop loss and take profit Position management via Avantis on Base Reference: references/leverage-trading.md
EVM (Base): Deploy ERC20 tokens via Clanker with customizable metadata and social links Solana: Launch SPL tokens via Raydium LaunchLab with bonding curve and auto-migration to CPMM Creator fee claiming on both chains Fee Key NFTs for Solana (50% LP trading fees post-migration) Optional fee recipient designation with 99.9%/0.1% split (Solana) Both creator AND fee recipient can claim bonding curve fees (gas sponsored) Optional vesting parameters (Solana) Rate limits: 1/day standard, 10/day Bankr Club (gas sponsored within limits) Reference: references/token-deployment.md
Limit orders Stop loss orders DCA (dollar-cost averaging) TWAP (time-weighted average price) Scheduled commands Reference: references/automation.md
Submit raw EVM transactions with explicit calldata Custom contract calls to any address Execute pre-built calldata from other tools Value transfers with data Reference: references/arbitrary-transaction.md
ChainNative TokenBest ForGas CostBaseETHMemecoins, general tradingVery LowPolygonMATICGaming, NFTs, frequent tradesVery LowEthereumETHBlue chips, high liquidityHighSolanaSOLHigh-speed tradingMinimalUnichainETHNewer L2 optionVery Low
Dedicated Agent Wallet: When building autonomous agents, create a separate Bankr account rather than using your personal wallet. This isolates agent funds β if a key is compromised, only the agent wallet is exposed. Fund it with limited amounts and replenish as needed. API Key Types: Bankr uses a single key format (bk_...) with capability flags (agentApiEnabled, llmGatewayEnabled). You can optionally configure a separate LLM Gateway key via bankr config set llmKey or BANKR_LLM_KEY β useful when you want independent revocation or different permissions for agent vs LLM access. Read-Only API Keys: Keys with readOnly: true filter all write tools (swaps, transfers, staking, token launches, etc.) from agent sessions. The /agent/sign and /agent/submit endpoints return 403. Ideal for monitoring bots and research agents. IP Whitelisting: Set allowedIps on your API key to restrict usage to specific IPs. Requests from non-whitelisted IPs are rejected with 403 at the auth layer. Rate Limits: 100 messages/day (standard), 1,000/day (Bankr Club), or custom per key. Resets 24h from first message (rolling window). LLM Gateway uses a credit-based system. Key safety rules: Store keys in environment variables (BANKR_API_KEY, BANKR_LLM_KEY), never in source code Add ~/.bankr/ and .env to .gitignore β the CLI stores credentials in ~/.bankr/config.json Test with small amounts on low-cost chains (Base, Polygon) before production use Use waitForConfirmation: true with /agent/submit β transactions execute immediately with no confirmation prompt Rotate keys periodically and revoke immediately if compromised at bankr.bot/api Reference: references/safety.md
# Check balance bankr prompt "What is my ETH balance on Base?" # Check price bankr prompt "What's the current price of PEPE?" # Then trade bankr prompt "Buy $20 of PEPE on Base"
# Direct balance check (no AI agent, instant response) bankr balances bankr balances --chain base bankr balances --chain base,solana bankr balances --json # Via AI agent (natural language, richer context) bankr prompt "Show my complete portfolio" # Chain-specific bankr prompt "What tokens do I have on Base?" # Token-specific bankr prompt "Show my ETH across all chains"
# DCA strategy bankr prompt "DCA $100 into ETH every week" # Stop loss protection bankr prompt "Set stop loss for my ETH at $2,500" # Limit order bankr prompt "Buy ETH if price drops to $3,000"
# Price and analysis bankr prompt "Do technical analysis on ETH" # Trending tokens bankr prompt "What tokens are trending on Base?" # Compare tokens bankr prompt "Compare ETH vs SOL"
Bankr uses an asynchronous job-based API: Submit β Send prompt (with optional threadId), get job ID and thread ID Poll β Check status every 2 seconds Complete β Process results when done Continue β Reuse threadId for multi-turn conversations The bankr prompt command handles this automatically. When using the REST API directly, implement the poll loop yourself (see Option 2 above or the reference below). For manual job control via CLI, use bankr status <jobId> and bankr cancel <jobId>. For details on the API structure, job states, polling strategy, and error handling, see: Reference: references/api-workflow.md
For direct signing and transaction submission, Bankr also provides synchronous endpoints: POST /agent/sign - Sign messages, typed data, or transactions without broadcasting POST /agent/submit - Submit raw transactions directly to the blockchain These endpoints return immediately (no polling required) and are ideal for: Authentication flows (sign messages) Gasless approvals (sign EIP-712 permits) Pre-built transactions (submit raw calldata) Reference: references/sign-submit-api.md
Common issues and fixes: Authentication errors β Run bankr login or check bankr whoami (CLI), or verify your X-API-Key header (REST API) Insufficient balance β Add funds or reduce amount Token not found β Verify symbol and chain Transaction reverted β Check parameters and balances Rate limiting β Wait and retry For comprehensive error troubleshooting, setup instructions, and debugging steps, see: Reference: references/error-handling.md
Never share your API key or LLM key Use a dedicated agent wallet with limited funds for autonomous agents Use read-only API keys for monitoring and research-only agents Set IP whitelisting for server-side agents with known IPs Verify addresses before large transfers Use stop losses for leverage trading Store keys in environment variables, not source code β add ~/.bankr/ to .gitignore See references/safety.md for comprehensive safety guidance.
Check balance before trades Specify chain for lesser-known tokens Consider gas costs (use Base/Polygon for small amounts) Start small, scale up after testing Use limit orders for better prices
Test automation with small amounts first Review active orders regularly Set realistic price targets Always use stop loss for leverage Monitor execution and adjust as needed
Start with balance checks and price queries Test with $5-10 trades first Use Base for lower fees Enable trading confirmations initially Learn one feature at a time
Leverage automation for strategies Use multiple chains for diversification Combine DCA with stop losses Explore advanced features (leverage, Polymarket) Monitor gas costs across chains
"Buy $50 of ETH on Base" "Swap 0.1 ETH for USDC" "Sell 50% of my PEPE" "Bridge 100 USDC from Polygon to Base"
bankr balances (direct, no AI processing) bankr balances --chain base (single chain) "Show my portfolio" "What's my ETH balance?" "Total portfolio value" "Holdings on Base"
"What's the price of Bitcoin?" "Analyze ETH price" "Trending tokens on Base" "Compare UNI vs SUSHI"
"Send 0.1 ETH to vitalik.eth" "Transfer $20 USDC to @friend" "Send 50 USDC to 0x123..."
"Show Bored Ape floor price" "Buy cheapest Pudgy Penguin" "Show my NFTs"
"What are the odds Trump wins?" "Bet $10 on Yes for [market]" "Show my Polymarket positions"
"Open 5x long on ETH with $100" "Short BTC 10x with stop loss at $45k" "Show my Avantis positions"
"DCA $100 into ETH weekly" "Set limit order to buy ETH at $3,000" "Stop loss for all holdings at -20%"
Solana (LaunchLab): "Launch a token called MOON on Solana" "Launch a token called FROG and give fees to @0xDeployer" "Deploy SpaceRocket with symbol ROCK" "Launch BRAIN and route fees to 7xKXtg..." "How much fees can I claim for MOON?" "Claim my fees for MOON" (works for creator or fee recipient) "Show my Fee Key NFTs" "Claim my fee NFT for ROCKET" (post-migration) "Transfer fees for MOON to 7xKXtg..." EVM (Clanker): "Deploy a token called BankrFan with symbol BFAN on Base" "Claim fees for my token MTK"
"Submit this transaction: {to: 0x..., data: 0x..., value: 0, chainId: 8453}" "Execute this calldata on Base: {...}" "Send raw transaction with this JSON: {...}"
Direct message signing without AI processing: # Sign a plain text message curl -X POST "https://api.bankr.bot/agent/sign" \ -H "X-API-Key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{"signatureType": "personal_sign", "message": "Hello, Bankr!"}' # Sign EIP-712 typed data (permits, orders) curl -X POST "https://api.bankr.bot/agent/sign" \ -H "X-API-Key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{"signatureType": "eth_signTypedData_v4", "typedData": {...}}' # Sign a transaction without broadcasting curl -X POST "https://api.bankr.bot/agent/sign" \ -H "X-API-Key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{"signatureType": "eth_signTransaction", "transaction": {"to": "0x...", "chainId": 8453}}'
Direct transaction submission without AI processing: # Submit a raw transaction curl -X POST "https://api.bankr.bot/agent/submit" \ -H "X-API-Key: $API_KEY" \ -H "Content-Type: application/json" \ -d '{ "transaction": {"to": "0x...", "chainId": 8453, "value": "1000000000000000000"}, "waitForConfirmation": true }' Reference: references/sign-submit-api.md
Documentation: https://docs.bankr.bot LLM Gateway Docs: https://docs.bankr.bot/llm-gateway/overview API Key Management: https://bankr.bot/api Terminal: https://bankr.bot/terminal CLI Package: https://www.npmjs.com/package/@bankr/cli Twitter: @bankr_bot
# Verify installation which bankr # Reinstall if needed bun install -g @bankr/cli
CLI: # Check current auth bankr whoami # Re-authenticate bankr login # Check LLM key specifically bankr config get llmKey REST API: # Test your API key curl -s "https://api.bankr.bot/_health" -H "X-API-Key: $BANKR_API_KEY"
See references/error-handling.md for comprehensive troubleshooting.
Check error message in CLI output or API response Run bankr whoami to verify auth (CLI) or test with a curl to /_health (REST API) Consult relevant reference document Test with simple queries first (bankr prompt "What is my balance?" or POST /agent/prompt) Pro Tip: The most common issue is not specifying the chain for tokens. When in doubt, always include "on Base" or "on Ethereum" in your prompt. Security: Keep your API key private. Never commit your config file to version control. Only trade amounts you can afford to lose. Quick Win: Start by checking your portfolio (bankr prompt "Show my portfolio") to see what's possible, then try a small $5-10 trade on Base to get familiar with the flow.
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.