bankr
AI-powered crypto trading agent, wallet API, and LLM gateway via natural language. Use when the user wants to trade crypto, check portfolio balances (with PnL and NFTs), view token prices, search tokens, transfer crypto, manage NFTs, use leverage (Hyperliquid or Avantis), bet on Polymarket, deploy tokens, set up automated trading, sign and submit raw transactions, call or deploy x402 paid API endpoints, browse the web, or access LLM models through the Bankr LLM gateway funded by your Bankr wallet. Supports Base, Ethereum, Polygon, Solana, Unichain, World Chain, Arbitrum, and BNB Chain.
What this skill does
# Bankr Execute crypto trading and DeFi operations using natural language. Two integration options: 1. **Bankr CLI** (recommended) — Install `@bankr/cli` for a batteries-included terminal experience 2. **REST API** — Call `https://api.bankr.bot` directly from any language or tool Both use the same API key. The API has two layers: - **Wallet API** (`/wallet/*`) — Direct, synchronous endpoints for portfolio, transfers, signing, and transaction submission - **Agent API** (`/agent/*`) — AI-powered async prompt endpoint for natural language operations ## Getting an API Key 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. ```bash # Step 1 — send OTP to email bankr login email [email protected] # Step 2 — verify OTP and generate API key (options based on user preferences) bankr login email [email protected] --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 which APIs they need (wallet, agent, both via `--read-write`, LLM gateway) and their preferred key name. **Option B: Bankr Terminal** 1. Visit [bankr.bot/api-keys](https://bankr.bot/api-keys) 2. **Sign up / Sign in** — Enter your email and the one-time passcode (OTP) sent to it 3. **Generate an API key** — Create a key with **Wallet & 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. ## Option 1: Bankr CLI (Recommended) ### Install ```bash bun install -g @bankr/cli ``` Or with npm: ```bash npm install -g @bankr/cli ``` ### First-Time Setup #### 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** ```bash bankr login email <user-email> ``` **Step 2 — Ask the user for the OTP code and all preferences in a single message.** This avoids unnecessary back-and-forth. Ask for: 1. **OTP code** — the code they received via email 2. **Accept Terms of Service (REQUIRED)** — Present the [Terms of Service](https://bankr.bot/terms) link and confirm the user agrees. **The login command will fail for new users without `--accept-terms`.** You MUST ask for ToS acceptance and do not pass `--accept-terms` unless the user has explicitly confirmed. 3. **Which APIs do they need?** - **Wallet API** — enabled by default, use `--no-wallet-api` to disable - **Agent API** (`--agent-api`) — AI-powered prompts and natural language operations - **Token Launch** — enabled by default, use `--no-token-launch` to disable - Add `--read-write` to allow transactions (without it, enabled APIs are read-only) 4. **Enable LLM gateway access?** (`--llm`) — multi-model API at `llm.bankr.bot` (currently limited to beta testers). Skip if user doesn't need it. 5. **Key name?** (`--key-name`) — a display name for the API key (e.g. "My Agent", "Trading Bot") **Step 3 — Construct and run the step 2 command** with the user's choices. **Do NOT execute if the user has not explicitly accepted the Terms of Service** — ask again if needed: ```bash # Full access: wallet + agent with write + LLM bankr login email <user-email> --code <otp> --accept-terms --key-name "My Agent" --agent-api --read-write --llm # Agent with write access (AI can execute transactions) bankr login email <user-email> --code <otp> --accept-terms --key-name "Trading Agent" --agent-api --read-write # Default key (wallet + token launch, read-only) bankr login email <user-email> --code <otp> --accept-terms --key-name "My Key" # Agent read-only (research, prices, balances — no transactions) bankr login email <user-email> --code <otp> --accept-terms --key-name "Research Agent" --agent-api # LLM-only (no wallet, no token launch) bankr login email <user-email> --code <otp> --accept-terms --key-name "LLM Client" --no-wallet-api --no-token-launch --llm ``` #### Login options reference | Option | Description | |--------|-------------| | `--code <otp>` | OTP code received via email (step 2) | | `--accept-terms` | Accept [Terms of Service](https://bankr.bot/terms) without prompting (required for new users) | | `--key-name <name>` | Display name for the API key (e.g. "My Agent"). Prompted if omitted | | `--no-wallet-api` | Disable Wallet API (enabled by default) | | `--agent-api` | Enable Agent API (AI prompts, natural language operations) | | `--read-write` | Disable read-only mode (allow transactions). Without this, enabled APIs are read-only | | `--no-token-launch` | Disable Token Launch API (enabled by default) | | `--llm` | Enable [LLM gateway](https://docs.bankr.bot/llm-gateway/overview) access (multi-model API at `llm.bankr.bot`). Currently limited to beta testers | | `--allowed-ips <ips>` | Comma-separated IP/CIDR allowlist for the API key (e.g., `1.2.3.4,10.0.0.0/24`) | | `--allowed-recipients <addresses>` | Comma-separated EVM/Solana addresses the key can send to (auto-classified by 0x prefix) | **New key defaults** (when no flags are passed): | Flag | Default | To change | |------|---------|-----------| | `walletApiEnabled` | Enabled | `--no-wallet-api` | | `agentApiEnabled` | Disabled | `--agent-api` | | `tokenLaunchApiEnabled` | Enabled | `--no-token-launch` | | `llmGatewayEnabled` | Disabled | `--llm` | | `readOnly` | Enabled (read-only) | `--read-write` | 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: ```bash bankr login --api-key bk_YOUR_KEY_HERE ``` If they need to create one at the Bankr Terminal: 1. Run `bankr login --url` — prints the terminal URL 2. Present the URL to the user, ask them to generate a `bk_...` key 3. 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](references/llm-gateway.md) for full details. #### Verify Setup ```bash bankr whoami bankr wallet portfolio bankr agent prompt "What is my balance?" ``` ## Option 2: REST API (Direct) No CLI installation required — call the API directly with `curl`, `fetch`, or any HTTP client. ### Authentication All requests require an `X-API-Key` header: ```bash 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?"}' ``` ### Quick Example: Submit → Poll → Complete ```bash # 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' ``` ### Conversation Threads Every prompt response includes a `threadId`. Pass it back to continue the conversation: ```bash # 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", "thread
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".