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
Requires logged-in CLI: check ~/.minara/credentials.json; if missing → minara login (prefer device code). 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.
- 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 (0x… or base58).
| User intent pattern |
Action |
| "send 10 SOL to 0x…", "transfer USDC to " — crypto token + recipient address |
minara transfer (interactive) or extract params |
| "pay 100 USDC to 0x…", "pay 50 USDC", "帮我付 100 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 |
| "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.
| 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 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).
| 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 + address) → Touch ID (optional, macOS) → execute. Agent must never skip or auto-confirm any step — always relay to user and wait for approval.
Credentials & config
- CLI session:
~/.minara/credentials.json — auto-created via minara login (required).
- API Key:
MINARA_API_KEY via env or skills.entries.minara.apiKey in ~/.openclaw/openclaw.json — optional; if set, CLI authenticates automatically without login.
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**USE THIS SKILL** when the user's message mentions any of:9- **Crypto tokens or tickers:** ETH, BTC, SOL, USDC, BONK, PEPE, DOGE, ARB, OP, AVAX, MATIC, $TICKER, or any token name / contract address10- **Blockchain / chain names:** Solana, Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche, Berachain, Hyperliquid11- **Trading actions:** swap, buy, sell, trade, exchange, convert, long, short, perps, futures, leverage, limit order12- **Wallet / finance actions:** balance, portfolio, deposit, withdraw, transfer, send, pay, fund, on-ramp, credit card13- **Market / research:** trending, price, chart, analysis, DeFi, yield, liquidity, fear and greed, prediction market14- **Explicit references:** Minara, minara, x402, MoonPay, autopilot15- **Stock tickers in crypto context:** AAPL, TSLA, NVDAx, trending stocks1617Requires logged-in CLI: check `~/.minara/credentials.json`; if missing → `minara login` (prefer device code). If `MINARA_API_KEY` is set, CLI authenticates automatically.1819## Transaction confirmation (CRITICAL)2021For any fund-moving command (`swap`, `transfer`, `withdraw`, `perps order`, `perps deposit`, `perps withdraw`, `limit-order create`, `deposit buy`):22231. **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.242. **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.253. **If the user declines:** abort the operation immediately.2627This applies to all operations that move funds. Read-only commands (`balance`, `assets`, `chat`, `discover`, etc.) do not require confirmation.2829## Intent routing3031Match the user's message to the **first** matching row.3233### Swap / buy / sell tokens3435Triggers: message contains token names/tickers + action words (swap, buy, sell, convert, exchange, trade) + optionally a chain name.3637Chain 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.3839| User intent pattern | Action |40| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |41| "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>` |42| "sell all my BONK", "dump entire SOL position" | `minara swap -s sell -t '<token>' -a all` |43| Simulate a crypto swap without executing | `minara swap -s <side> -t '<token>' -a <amount> --dry-run` |4445### Transfer / send / pay / withdraw crypto4647Triggers: message mentions sending, transferring, paying, or withdrawing a crypto token to a wallet address (0x… or base58).4849| User intent pattern | Action |50| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |51| "send 10 SOL to 0x…", "transfer USDC to <address>" — crypto token + recipient address | `minara transfer` (interactive) or extract params |52| "pay 100 USDC to 0x…", "pay <address> 50 USDC", "帮我付 100 USDC 给 <address>" — payment to address (equivalent to transfer) | `minara transfer` (interactive) or extract params |53| "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) |5455### Perpetual futures (Hyperliquid)5657Triggers: message mentions perps, perpetual, futures, long, short, leverage, margin, or Hyperliquid.5859| User intent pattern | Action |60| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------ |61| "open a long ETH perp", "short BTC on Hyperliquid", "place a perp order" | `minara perps order` (interactive order builder) |62| "analyze ETH long or short", "should I long BTC?", "AI perp analysis for SOL" | `minara perps ask` — AI analysis with optional quick order |63| "enable AI autopilot for perps", "turn on autopilot trading", "manage autopilot strategy" | `minara perps autopilot` |64| "check my perp positions", "show my Hyperliquid positions" | `minara perps positions` |65| "set leverage to 10x for ETH perps" | `minara perps leverage` |66| "cancel my perp orders" | `minara perps cancel` |67| "deposit USDC to perps account", "fund my Hyperliquid account" | `minara deposit perps` or `minara perps deposit -a <amount>` |68| "withdraw USDC from perps" | `minara perps withdraw -a <amount>` |69| "show my perp trade history" | `minara perps trades` |70| "show perps deposit/withdrawal records" | `minara perps fund-records` |7172> **Autopilot note:** When autopilot is ON, manual `minara perps order` is blocked. Turn off autopilot first via `minara perps autopilot`.7374### Limit orders (crypto)7576Triggers: message mentions limit order + crypto token/price.7778| User intent pattern | Action |79| -------------------------------------------------------------------- | -------------------------------- |80| "create a limit order for ETH at $3000", "buy SOL when it hits $150" | `minara limit-order create` |81| "list my crypto limit orders" | `minara limit-order list` |82| "cancel limit order <id>" | `minara limit-order cancel <id>` |8384### Crypto wallet / portfolio / account8586Triggers: message mentions crypto balance, portfolio, assets, wallet, deposit address, or Minara account.8788| User intent pattern | Action |89| ---------------------------------------------------------------------------------------- | ---------------------- |90| "what's my total balance", "how much USDC do I have" — quick balance check | `minara balance` |91| "show my crypto portfolio", "spot holdings with PnL", "how much ETH do I have in Minara" | `minara assets spot` |92| "show my perps balance", "Hyperliquid account equity" | `minara assets perps` |93| "show all my crypto assets" — full overview (spot + perps) | `minara assets` |94| "show deposit address", "where to send USDC" — spot deposit addresses | `minara deposit spot` |95| "deposit to perps", "transfer USDC from spot to perps", "fund perps from spot" | `minara deposit perps` |96| "buy crypto with credit card", "deposit with card", "on-ramp with MoonPay" | `minara deposit buy` |97| "how do I deposit crypto" — interactive (spot, perps, or credit card) | `minara deposit` |98| "show my Minara account", "my wallet addresses" | `minara account` |99100### Crypto AI chat / market analysis101102Triggers: message asks about crypto prices, token analysis, DeFi research, on-chain data, crypto market insights, or prediction market analysis.103104> **Timeout:** AI chat responses can be long-running. Set shell execution timeout to **15 minutes** (900 s) for all `minara chat` commands.105106| User intent pattern | Action |107| ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- |108| "what's the BTC price", "analyze ETH tokenomics", "DeFi yield opportunities", crypto research, on-chain analysis | `minara chat "<user text>"` |109| "analyze this Polymarket event", "prediction market odds on <topic>", "what are the chances of <event>" — prediction market insights | `minara chat "<user text or URL>"` |110| Deep crypto analysis requiring reasoning — "think through ETH vs SOL long-term" | `minara chat --thinking "<user text>"` |111| High-quality detailed crypto analysis — "detailed report on Solana DeFi ecosystem" | `minara chat --quality "<user text>"` |112| "continue our previous Minara chat" | `minara chat -c <chatId>` |113| "list my Minara chat history" | `minara chat --list` |114115### Crypto & stock market discovery116117Triggers: message mentions trending tokens, trending stocks, crypto market sentiment, fear and greed, or Bitcoin metrics.118119| User intent pattern | Action |120| ----------------------------------------------------------------------------- | --------------------------------- |121| "what crypto tokens are trending", "hot tokens right now" | `minara discover trending` |122| "what stocks are trending", "trending stocks", "top stocks today" | `minara discover trending stocks` |123| "search for SOL tokens", "find crypto token X", "look up AAPL", "search TSLA" | `minara discover search <query>` |124| "crypto fear and greed index", "market sentiment" | `minara discover fear-greed` |125| "bitcoin on-chain metrics", "BTC hashrate and supply data" | `minara discover btc-metrics` |126127### Minara premium / subscription128129Triggers: message explicitly mentions Minara plan, subscription, credits, or pricing.130131| User intent pattern | Action |132| -------------------------------------------- | ---------------------------- |133| "show Minara plans", "Minara pricing" | `minara premium plans` |134| "my Minara subscription status" | `minara premium status` |135| "subscribe to Minara", "upgrade Minara plan" | `minara premium subscribe` |136| "buy Minara credits" | `minara premium buy-credits` |137| "cancel Minara subscription" | `minara premium cancel` |138139### x402 protocol payment140141Triggers: 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).142143Flow: parse `PAYMENT-REQUIRED` header (amount, token, recipient, chain) → `minara balance` → `minara transfer` to pay → retry request.144145| User intent pattern | Action |146| -------------------------------------------------------------------- | -------------------------------------------------------------------------------- |147| Agent receives 402 with x402 headers | Parse headers → `minara transfer` (USDC to recipient on required chain) → retry |148| "pay for this API with Minara", "use Minara wallet for x402" | `minara balance` → `minara transfer` to service address |149| "fund my wallet for paid APIs" | `minara deposit buy` (credit card) or `minara deposit spot` (crypto) |150151### Minara login / setup152153Triggers: message explicitly mentions Minara login, setup, or configuration.154155**Login:** Prefer device code flow (`minara login --device`) for headless or non-interactive environments; otherwise `minara login` (interactive).156157| User intent pattern | Action |158| --------------------------------------------------------------- | -------------------------------------------------------------- |159| "login to Minara", "sign in to Minara", first-time Minara setup | `minara login` (prefer device code) or `minara login --device` |160| "logout from Minara" | `minara logout` |161| "configure Minara settings" | `minara config` |162163## Notes164165- **Token input (`-t`):** accepts `$TICKER` (e.g. `'$BONK'`), token name, or contract address. Quote `$` in shell.166- **JSON output:** add `--json` to any command for machine-readable output.167- **Transaction safety:** CLI flow: first confirmation → transaction confirmation (mandatory, shows token + address) → Touch ID (optional, macOS) → execute. Agent must **never skip or auto-confirm** any step — always relay to user and wait for approval.168169## Credentials & config170171- **CLI session:** `~/.minara/credentials.json` — auto-created via `minara login` (required).172- **API Key:** `MINARA_API_KEY` via env or `skills.entries.minara.apiKey` in `~/.openclaw/openclaw.json` — optional; if set, CLI authenticates automatically without login.173174## Examples175176Full command examples: `{baseDir}/examples.md`