Minara — crypto trading & wallet skill
USE THIS SKILL when the user's message mentions any of:
- Crypto tokens or tickers: ETH, BTC, SOL, USDC, BONK, PEPE, DOGE, ARB, OP, AVAX, MATIC, $TICKER, or any token name / contract address
- Blockchain / chain names: Solana, Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche, Berachain, Hyperliquid
- Trading actions: swap, buy, sell, trade, exchange, convert, long, short, perps, futures, leverage, limit order
- Wallet / finance actions: balance, portfolio, deposit, withdraw, transfer, send, pay, fund, on-ramp, credit card
- Market / research: trending, price, chart, analysis, DeFi, yield, liquidity, fear and greed, prediction market
- Explicit references: Minara, minara, x402, MoonPay, autopilot
- Stock tickers in crypto context: AAPL, TSLA, NVDAx, trending stocks
Routing gate (anti-collision): apply this skill only when the message includes a finance/trading action and at least one crypto/chain/Minara signal (token, chain, DeFi term, or "Minara"). If missing crypto context, do not route here.
Requires logged-in CLI: check Minara CLI login state; if not logged in → minara login (prefer device code). If device login prints a verification URL/code, relay it to the user and wait for completion (do not claim login is impossible). If MINARA_API_KEY is set, CLI authenticates automatically.
Transaction confirmation (CRITICAL)
For any fund-moving command (swap, transfer, withdraw, perps order, perps deposit, perps withdraw, limit-order create, deposit buy):
- Before executing: show the user a summary of what will happen (action, token, amount, recipient/chain) and ask for explicit confirmation. Do NOT auto-confirm.
- After the CLI returns a confirmation prompt (e.g. "Are you sure you want to proceed?"): relay the details back to the user and wait for the user to approve before answering
y. Never answer y on the user's behalf without their consent.
-y / --yes policy: never add -y (or any auto-confirm flag) unless the user explicitly asks to skip confirmation.
- If the user declines: abort the operation immediately.
This applies to all operations that move funds. Read-only commands (balance, assets, chat, discover, etc.) do not require confirmation.
Intent routing
Match the user's message to the first matching row.
Swap / buy / sell tokens
Triggers: message contains token names/tickers + action words (swap, buy, sell, convert, exchange, trade) + optionally a chain name.
Chain is auto-detected from the token. If a token exists on multiple chains, the CLI prompts the user to pick one (sorted by gas cost). Sell mode supports -a all to sell entire balance.
| User intent pattern |
Action |
| "swap 0.1 ETH to USDC", "buy me 100 USDC worth of ETH", "sell 50 SOL for USDC", "convert 200 USDC to BONK on Solana" — natural-language or explicit swap |
Extract params → minara swap -s <buy|sell> -t '<token>' -a <amount> |
| "sell all my BONK", "dump entire SOL position" |
minara swap -s sell -t '<token>' -a all |
| Simulate a crypto swap without executing |
minara swap -s <side> -t '<token>' -a <amount> --dry-run |
Transfer / send / pay / withdraw crypto
Triggers: message mentions sending, transferring, paying, or withdrawing a crypto token to a wallet address.
| User intent pattern |
Action |
| "send 10 SOL to ", "transfer USDC to " — crypto token + recipient address |
minara transfer (interactive) or extract params |
| "pay 100 USDC to ", "pay 50 USDC" — payment to address (equivalent to transfer) |
minara transfer (interactive) or extract params |
| "withdraw SOL to my external wallet", "withdraw ETH to " — crypto withdrawal |
minara withdraw -c <chain> -t '<token>' -a <amount> --to <address> or minara withdraw (interactive) |
Perpetual futures (Hyperliquid)
Triggers: message mentions perps, perpetual, futures, long, short, leverage, margin, or Hyperliquid.
| User intent pattern |
Action |
| "open a long ETH perp", "short BTC on Hyperliquid", "place a perp order" |
minara perps order (interactive order builder) |
| "analyze ETH long or short", "should I long BTC?", "AI perp analysis for SOL" |
minara perps ask — AI analysis with optional quick order |
| "enable AI autopilot for perps", "turn on autopilot trading", "manage autopilot strategy" |
minara perps autopilot |
| "check my perp positions", "show my Hyperliquid positions" |
minara perps positions |
| "close my perp position", "exit perps trade" |
minara perps close (interactive) |
| "close all my perp positions", "exit all perps trades" |
minara perps close --all |
| "close BTC perp position", "exit ETH perps" |
minara perps close --symbol <SYMBOL> |
| "set leverage to 10x for ETH perps" |
minara perps leverage |
| "cancel my perp orders" |
minara perps cancel |
| "deposit USDC to perps account", "fund my Hyperliquid account" |
minara deposit perps or minara perps deposit -a <amount> |
| "withdraw USDC from perps" |
minara perps withdraw -a <amount> |
| "show my perp trade history" |
minara perps trades |
| "show perps deposit/withdrawal records" |
minara perps fund-records |
Autopilot note: When autopilot is ON, manual minara perps order is blocked. Turn off autopilot first via minara perps autopilot.
Limit orders (crypto)
Triggers: message mentions limit order + crypto token/price.
| User intent pattern |
Action |
| "create a limit order for ETH at $3000", "buy SOL when it hits $150" |
minara limit-order create |
| "list my crypto limit orders" |
minara limit-order list |
| "cancel limit order " |
minara limit-order cancel <id> |
Crypto wallet / portfolio / account
Triggers: message mentions crypto balance, portfolio, assets, wallet, deposit address, or Minara account.
| User intent pattern |
Action |
| "what's my total balance", "how much USDC do I have" — quick balance check |
minara balance |
| "show my crypto portfolio", "spot holdings with PnL", "how much ETH do I have in Minara" |
minara assets spot |
| "show my perps balance", "Hyperliquid account equity" |
minara assets perps |
| "show all my crypto assets" — full overview (spot + perps) |
minara assets |
| "show deposit address", "where to send USDC" — spot deposit addresses |
minara deposit spot |
| "deposit to perps", "transfer USDC from spot to perps", "fund perps from spot" |
minara deposit perps |
| "buy crypto with credit card", "deposit with card", "on-ramp with MoonPay" |
minara deposit buy |
| "how do I deposit crypto" — interactive (spot, perps, or credit card) |
minara deposit |
| "show my Minara account", "my wallet addresses" |
minara account |
Crypto AI chat / market analysis
Triggers: message asks about crypto prices, token analysis, DeFi research, on-chain data, crypto market insights, or prediction market analysis.
Timeout: AI chat responses can be long-running. Set shell execution timeout to 15 minutes (900 s) for all minara chat commands.
| User intent pattern |
Action |
| "what's the BTC price", "analyze ETH tokenomics", "DeFi yield opportunities", crypto research, on-chain analysis |
minara chat "<user text>" |
| "analyze this Polymarket event", "prediction market odds on ", "what are the chances of " — prediction market insights |
minara chat "<user text or URL>" |
| Deep crypto analysis requiring reasoning — "think through ETH vs SOL long-term" |
minara chat --thinking "<user text>" |
| High-quality detailed crypto analysis — "detailed report on Solana DeFi ecosystem" |
minara chat --quality "<user text>" |
| "continue our previous Minara chat" |
minara chat -c <chatId> |
| "list my Minara chat history" |
minara chat --list |
Crypto & stock market discovery
Triggers: message mentions trending tokens, trending stocks, crypto market sentiment, fear and greed, or Bitcoin metrics.
| User intent pattern |
Action |
| "what crypto tokens are trending", "hot tokens right now" |
minara discover trending |
| "what stocks are trending", "trending stocks", "top stocks today" |
minara discover trending stocks |
| "search for SOL tokens", "find crypto token X", "look up AAPL", "search TSLA" |
minara discover search <query> |
| "crypto fear and greed index", "market sentiment" |
minara discover fear-greed |
| "bitcoin on-chain metrics", "BTC hashrate and supply data" |
minara discover btc-metrics |
Minara premium / subscription
Triggers: message explicitly mentions Minara plan, subscription, credits, or pricing.
| User intent pattern |
Action |
| "show Minara plans", "Minara pricing" |
minara premium plans |
| "my Minara subscription status" |
minara premium status |
| "subscribe to Minara", "upgrade Minara plan" |
minara premium subscribe |
| "buy Minara credits" |
minara premium buy-credits |
| "cancel Minara subscription" |
minara premium cancel |
x402 protocol payment
Triggers: agent receives HTTP 402 Payment Required, or user mentions x402, paid API, or paying for API access with crypto. x402 spec.
Flow: parse PAYMENT-REQUIRED header (amount, token, recipient, chain) → minara balance → minara transfer to pay → retry request.
Payment step must follow the global confirmation policy: user must explicitly confirm before any minara transfer.
| User intent pattern |
Action |
| Agent receives 402 with x402 headers |
Parse headers → minara transfer (USDC to recipient on required chain) → retry |
| "pay for this API with Minara", "use Minara wallet for x402" |
minara balance → minara transfer to service payment address |
| "fund my wallet for paid APIs" |
minara deposit buy (credit card) or minara deposit spot (crypto) |
Minara login / setup
Triggers: message explicitly mentions Minara login, setup, or configuration.
Login: Prefer device code flow (minara login --device) for headless or non-interactive environments; otherwise minara login (interactive).
Login handoff rule: when CLI outputs verification URL/device code, the agent must pass them to the user verbatim, ask the user to complete browser verification, then continue after user confirms completion.
| User intent pattern |
Action |
| "login to Minara", "sign in to Minara", first-time Minara setup |
minara login (prefer device code) or minara login --device |
| "logout from Minara" |
minara logout |
| "configure Minara settings" |
minara config |
Notes
- Token input (
-t): accepts $TICKER (e.g. '$BONK'), token name, or contract address. Quote $ in shell.
- JSON output: add
--json to any command for machine-readable output.
- Transaction safety: CLI flow: first confirmation → transaction confirmation (mandatory, shows token and destination) → Touch ID (optional, macOS) → execute. Agent must never skip or auto-confirm any step — always relay to user and wait for approval, and never use
-y unless user explicitly requests it.
Credentials & config
- CLI session: auto-created via
minara login (required).
- API Key:
MINARA_API_KEY via env or skills.entries.minara.apiKey in OpenClaw config — optional; if set, CLI authenticates automatically without login.
Post-install setup
On first activation, read {baseDir}/setup.md and follow its instructions. The setup adds a Minara routing section to the user's workspace AGENTS.md so finance-related queries are routed to this skill. Always inform the user before writing to any workspace file.
Examples
Full command examples: {baseDir}/examples.md
1---2name: minara3description: Crypto trading: swap, perps, transfer, pay, deposit (credit card / crypto), withdraw, AI chat, market discovery, x402 payment, autopilot. Built-in wallet via Minara CLI. EVM + Solana.4---56# Minara — crypto trading & wallet skill78<!-- Safety: this file is documentation only (Markdown). It contains no executable code, no scripts, no binaries. It instructs an AI agent how to invoke the Minara CLI. -->910**USE THIS SKILL** when the user's message mentions any of:1112- **Crypto tokens or tickers:** ETH, BTC, SOL, USDC, BONK, PEPE, DOGE, ARB, OP, AVAX, MATIC, $TICKER, or any token name / contract address13- **Blockchain / chain names:** Solana, Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche, Berachain, Hyperliquid14- **Trading actions:** swap, buy, sell, trade, exchange, convert, long, short, perps, futures, leverage, limit order15- **Wallet / finance actions:** balance, portfolio, deposit, withdraw, transfer, send, pay, fund, on-ramp, credit card16- **Market / research:** trending, price, chart, analysis, DeFi, yield, liquidity, fear and greed, prediction market17- **Explicit references:** Minara, minara, x402, MoonPay, autopilot18- **Stock tickers in crypto context:** AAPL, TSLA, NVDAx, trending stocks1920**Routing gate (anti-collision):** apply this skill only when the message includes a **finance/trading action** _and_ at least one **crypto/chain/Minara signal** (token, chain, DeFi term, or "Minara"). If missing crypto context, do not route here.2122Requires logged-in CLI: check Minara CLI login state; if not logged in → `minara login` (prefer device code). If device login prints a verification URL/code, relay it to the user and wait for completion (do not claim login is impossible). If `MINARA_API_KEY` is set, CLI authenticates automatically.2324## Transaction confirmation (CRITICAL)2526For any fund-moving command (`swap`, `transfer`, `withdraw`, `perps order`, `perps deposit`, `perps withdraw`, `limit-order create`, `deposit buy`):27281. **Before executing:** show the user a summary of what will happen (action, token, amount, recipient/chain) and **ask for explicit confirmation**. Do NOT auto-confirm.292. **After the CLI returns a confirmation prompt** (e.g. "Are you sure you want to proceed?"): relay the details back to the user and **wait for the user to approve** before answering `y`. Never answer `y` on the user's behalf without their consent.303. **`-y` / `--yes` policy:** never add `-y` (or any auto-confirm flag) unless the user explicitly asks to skip confirmation.314. **If the user declines:** abort the operation immediately.3233This applies to all operations that move funds. Read-only commands (`balance`, `assets`, `chat`, `discover`, etc.) do not require confirmation.3435## Intent routing3637Match the user's message to the **first** matching row.3839### Swap / buy / sell tokens4041Triggers: message contains token names/tickers + action words (swap, buy, sell, convert, exchange, trade) + optionally a chain name.4243Chain is **auto-detected** from the token. If a token exists on multiple chains, the CLI prompts the user to pick one (sorted by gas cost). Sell mode supports `-a all` to sell entire balance.4445| User intent pattern | Action |46| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |47| "swap 0.1 ETH to USDC", "buy me 100 USDC worth of ETH", "sell 50 SOL for USDC", "convert 200 USDC to BONK on Solana" — natural-language or explicit swap | Extract params → `minara swap -s <buy\|sell> -t '<token>' -a <amount>` |48| "sell all my BONK", "dump entire SOL position" | `minara swap -s sell -t '<token>' -a all` |49| Simulate a crypto swap without executing | `minara swap -s <side> -t '<token>' -a <amount> --dry-run` |5051### Transfer / send / pay / withdraw crypto5253Triggers: message mentions sending, transferring, paying, or withdrawing a crypto token to a wallet address.5455| User intent pattern | Action |56| -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |57| "send 10 SOL to <address>", "transfer USDC to <address>" — crypto token + recipient address | `minara transfer` (interactive) or extract params |58| "pay 100 USDC to <address>", "pay <address> 50 USDC" — payment to address (equivalent to transfer) | `minara transfer` (interactive) or extract params |59| "withdraw SOL to my external wallet", "withdraw ETH to <address>" — crypto withdrawal | `minara withdraw -c <chain> -t '<token>' -a <amount> --to <address>` or `minara withdraw` (interactive) |6061### Perpetual futures (Hyperliquid)6263Triggers: message mentions perps, perpetual, futures, long, short, leverage, margin, or Hyperliquid.6465| User intent pattern | Action |66| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------ |67| "open a long ETH perp", "short BTC on Hyperliquid", "place a perp order" | `minara perps order` (interactive order builder) |68| "analyze ETH long or short", "should I long BTC?", "AI perp analysis for SOL" | `minara perps ask` — AI analysis with optional quick order |69| "enable AI autopilot for perps", "turn on autopilot trading", "manage autopilot strategy" | `minara perps autopilot` |70| "check my perp positions", "show my Hyperliquid positions" | `minara perps positions` |71| "close my perp position", "exit perps trade" | `minara perps close` (interactive) |72| "close all my perp positions", "exit all perps trades" | `minara perps close --all` |73| "close BTC perp position", "exit ETH perps" | `minara perps close --symbol <SYMBOL>` |74| "set leverage to 10x for ETH perps" | `minara perps leverage` |75| "cancel my perp orders" | `minara perps cancel` |76| "deposit USDC to perps account", "fund my Hyperliquid account" | `minara deposit perps` or `minara perps deposit -a <amount>` |77| "withdraw USDC from perps" | `minara perps withdraw -a <amount>` |78| "show my perp trade history" | `minara perps trades` |79| "show perps deposit/withdrawal records" | `minara perps fund-records` |8081> **Autopilot note:** When autopilot is ON, manual `minara perps order` is blocked. Turn off autopilot first via `minara perps autopilot`.8283### Limit orders (crypto)8485Triggers: message mentions limit order + crypto token/price.8687| User intent pattern | Action |88| -------------------------------------------------------------------- | -------------------------------- |89| "create a limit order for ETH at $3000", "buy SOL when it hits $150" | `minara limit-order create` |90| "list my crypto limit orders" | `minara limit-order list` |91| "cancel limit order <id>" | `minara limit-order cancel <id>` |9293### Crypto wallet / portfolio / account9495Triggers: message mentions crypto balance, portfolio, assets, wallet, deposit address, or Minara account.9697| User intent pattern | Action |98| ---------------------------------------------------------------------------------------- | ---------------------- |99| "what's my total balance", "how much USDC do I have" — quick balance check | `minara balance` |100| "show my crypto portfolio", "spot holdings with PnL", "how much ETH do I have in Minara" | `minara assets spot` |101| "show my perps balance", "Hyperliquid account equity" | `minara assets perps` |102| "show all my crypto assets" — full overview (spot + perps) | `minara assets` |103| "show deposit address", "where to send USDC" — spot deposit addresses | `minara deposit spot` |104| "deposit to perps", "transfer USDC from spot to perps", "fund perps from spot" | `minara deposit perps` |105| "buy crypto with credit card", "deposit with card", "on-ramp with MoonPay" | `minara deposit buy` |106| "how do I deposit crypto" — interactive (spot, perps, or credit card) | `minara deposit` |107| "show my Minara account", "my wallet addresses" | `minara account` |108109### Crypto AI chat / market analysis110111Triggers: message asks about crypto prices, token analysis, DeFi research, on-chain data, crypto market insights, or prediction market analysis.112113> **Timeout:** AI chat responses can be long-running. Set shell execution timeout to **15 minutes** (900 s) for all `minara chat` commands.114115| User intent pattern | Action |116| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- |117| "what's the BTC price", "analyze ETH tokenomics", "DeFi yield opportunities", crypto research, on-chain analysis | `minara chat "<user text>"` |118| "analyze this Polymarket event", "prediction market odds on <topic>", "what are the chances of <event>" — prediction market insights | `minara chat "<user text or URL>"` |119| Deep crypto analysis requiring reasoning — "think through ETH vs SOL long-term" | `minara chat --thinking "<user text>"` |120| High-quality detailed crypto analysis — "detailed report on Solana DeFi ecosystem" | `minara chat --quality "<user text>"` |121| "continue our previous Minara chat" | `minara chat -c <chatId>` |122| "list my Minara chat history" | `minara chat --list` |123124### Crypto & stock market discovery125126Triggers: message mentions trending tokens, trending stocks, crypto market sentiment, fear and greed, or Bitcoin metrics.127128| User intent pattern | Action |129| ----------------------------------------------------------------------------- | --------------------------------- |130| "what crypto tokens are trending", "hot tokens right now" | `minara discover trending` |131| "what stocks are trending", "trending stocks", "top stocks today" | `minara discover trending stocks` |132| "search for SOL tokens", "find crypto token X", "look up AAPL", "search TSLA" | `minara discover search <query>` |133| "crypto fear and greed index", "market sentiment" | `minara discover fear-greed` |134| "bitcoin on-chain metrics", "BTC hashrate and supply data" | `minara discover btc-metrics` |135136### Minara premium / subscription137138Triggers: message explicitly mentions Minara plan, subscription, credits, or pricing.139140| User intent pattern | Action |141| -------------------------------------------- | ---------------------------- |142| "show Minara plans", "Minara pricing" | `minara premium plans` |143| "my Minara subscription status" | `minara premium status` |144| "subscribe to Minara", "upgrade Minara plan" | `minara premium subscribe` |145| "buy Minara credits" | `minara premium buy-credits` |146| "cancel Minara subscription" | `minara premium cancel` |147148### x402 protocol payment149150Triggers: agent receives HTTP **402 Payment Required**, or user mentions x402, paid API, or paying for API access with crypto. [x402 spec](https://docs.cdp.coinbase.com/x402/quickstart-for-buyers).151152Flow: parse `PAYMENT-REQUIRED` header (amount, token, recipient, chain) → `minara balance` → `minara transfer` to pay → retry request.153154Payment step must follow the global confirmation policy: user must explicitly confirm before any `minara transfer`.155156| User intent pattern | Action |157| ------------------------------------------------------------ | ------------------------------------------------------------------------------- |158| Agent receives 402 with x402 headers | Parse headers → `minara transfer` (USDC to recipient on required chain) → retry |159| "pay for this API with Minara", "use Minara wallet for x402" | `minara balance` → `minara transfer` to service payment address |160| "fund my wallet for paid APIs" | `minara deposit buy` (credit card) or `minara deposit spot` (crypto) |161162### Minara login / setup163164Triggers: message explicitly mentions Minara login, setup, or configuration.165166**Login:** Prefer device code flow (`minara login --device`) for headless or non-interactive environments; otherwise `minara login` (interactive).167**Login handoff rule:** when CLI outputs verification URL/device code, the agent must pass them to the user verbatim, ask the user to complete browser verification, then continue after user confirms completion.168169| User intent pattern | Action |170| --------------------------------------------------------------- | -------------------------------------------------------------- |171| "login to Minara", "sign in to Minara", first-time Minara setup | `minara login` (prefer device code) or `minara login --device` |172| "logout from Minara" | `minara logout` |173| "configure Minara settings" | `minara config` |174175## Notes176177- **Token input (`-t`):** accepts `$TICKER` (e.g. `'$BONK'`), token name, or contract address. Quote `$` in shell.178- **JSON output:** add `--json` to any command for machine-readable output.179- **Transaction safety:** CLI flow: first confirmation → transaction confirmation (mandatory, shows token and destination) → Touch ID (optional, macOS) → execute. Agent must **never skip or auto-confirm** any step — always relay to user and wait for approval, and never use `-y` unless user explicitly requests it.180181## Credentials & config182183- **CLI session:** auto-created via `minara login` (required).184- **API Key:** `MINARA_API_KEY` via env or `skills.entries.minara.apiKey` in OpenClaw config — optional; if set, CLI authenticates automatically without login.185186## Post-install setup187188On first activation, read `{baseDir}/setup.md` and follow its instructions. The setup adds a Minara routing section to the user's workspace `AGENTS.md` so finance-related queries are routed to this skill. **Always inform the user** before writing to any workspace file.189190## Examples191192Full command examples: `{baseDir}/examples.md`