httpcat-cli 0.3.0-rc.14 → 0.3.0-rc.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +684 -25
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +53 -3
  4. package/dist/client.js.map +1 -1
  5. package/dist/commands/account.d.ts.map +1 -1
  6. package/dist/commands/account.js +16 -6
  7. package/dist/commands/account.js.map +1 -1
  8. package/dist/commands/balances.d.ts.map +1 -1
  9. package/dist/commands/balances.js +2 -0
  10. package/dist/commands/balances.js.map +1 -1
  11. package/dist/commands/buy.d.ts.map +1 -1
  12. package/dist/commands/buy.js +89 -116
  13. package/dist/commands/buy.js.map +1 -1
  14. package/dist/commands/cex.d.ts.map +1 -0
  15. package/dist/commands/cex.js +958 -0
  16. package/dist/commands/cex.js.map +1 -0
  17. package/dist/commands/claim.js +2 -2
  18. package/dist/commands/claim.js.map +1 -1
  19. package/dist/commands/create.js +1 -1
  20. package/dist/commands/create.js.map +1 -1
  21. package/dist/commands/health.d.ts.map +1 -1
  22. package/dist/commands/health.js +10 -0
  23. package/dist/commands/health.js.map +1 -1
  24. package/dist/commands/info.js +1 -1
  25. package/dist/commands/info.js.map +1 -1
  26. package/dist/commands/launchpad.d.ts.map +1 -1
  27. package/dist/commands/launchpad.js +5 -0
  28. package/dist/commands/launchpad.js.map +1 -1
  29. package/dist/commands/list.js +1 -1
  30. package/dist/commands/list.js.map +1 -1
  31. package/dist/commands/market.d.ts.map +1 -1
  32. package/dist/commands/market.js +282 -0
  33. package/dist/commands/market.js.map +1 -1
  34. package/dist/commands/mcp-install.d.ts.map +1 -0
  35. package/dist/commands/mcp-install.js +147 -0
  36. package/dist/commands/mcp-install.js.map +1 -0
  37. package/dist/commands/portfolio.d.ts.map +1 -1
  38. package/dist/commands/portfolio.js +3 -0
  39. package/dist/commands/portfolio.js.map +1 -1
  40. package/dist/commands/positions.js +1 -1
  41. package/dist/commands/positions.js.map +1 -1
  42. package/dist/commands/sell.js +3 -3
  43. package/dist/commands/sell.js.map +1 -1
  44. package/dist/commands/sign.d.ts.map +1 -0
  45. package/dist/commands/sign.js +1048 -0
  46. package/dist/commands/sign.js.map +1 -0
  47. package/dist/commands/system.js +31 -1
  48. package/dist/commands/system.js.map +1 -1
  49. package/dist/config.d.ts.map +1 -1
  50. package/dist/config.js +13 -4
  51. package/dist/config.js.map +1 -1
  52. package/dist/index.js +507 -127
  53. package/dist/index.js.map +1 -1
  54. package/dist/interactive/shell.d.ts.map +1 -1
  55. package/dist/interactive/shell.js +56 -14
  56. package/dist/interactive/shell.js.map +1 -1
  57. package/dist/mcp/context.d.ts.map +1 -0
  58. package/dist/mcp/context.js +211 -0
  59. package/dist/mcp/context.js.map +1 -0
  60. package/dist/mcp/onboarding.d.ts.map +1 -0
  61. package/dist/mcp/onboarding.js +266 -0
  62. package/dist/mcp/onboarding.js.map +1 -0
  63. package/dist/mcp/resources.d.ts.map +1 -0
  64. package/dist/mcp/resources.js +222 -0
  65. package/dist/mcp/resources.js.map +1 -0
  66. package/dist/mcp/server.d.ts.map +1 -1
  67. package/dist/mcp/server.js +51 -1
  68. package/dist/mcp/server.js.map +1 -1
  69. package/dist/mcp/tools.d.ts.map +1 -1
  70. package/dist/mcp/tools.js +3320 -388
  71. package/dist/mcp/tools.js.map +1 -1
  72. package/dist/mcp/types.d.ts.map +1 -1
  73. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -1
  74. package/dist/ui/components/shell/ShellInput.js +4 -0
  75. package/dist/ui/components/shell/ShellInput.js.map +1 -1
  76. package/dist/utils/autoSetup.d.ts.map +1 -0
  77. package/dist/utils/autoSetup.js +252 -0
  78. package/dist/utils/autoSetup.js.map +1 -0
  79. package/dist/utils/llm-cli-config.d.ts.map +1 -1
  80. package/dist/utils/llm-cli-config.js +85 -43
  81. package/dist/utils/llm-cli-config.js.map +1 -1
  82. package/dist/utils/llm-cli-detector.d.ts.map +1 -1
  83. package/dist/utils/llm-cli-detector.js +14 -0
  84. package/dist/utils/llm-cli-detector.js.map +1 -1
  85. package/dist/utils/mcp-config.d.ts.map +1 -1
  86. package/dist/utils/mcp-config.js +5 -9
  87. package/dist/utils/mcp-config.js.map +1 -1
  88. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  89. package/dist/utils/privateKeyPrompt.js +15 -10
  90. package/dist/utils/privateKeyPrompt.js.map +1 -1
  91. package/dist/utils/shell-setup.d.ts.map +1 -1
  92. package/dist/utils/shell-setup.js +150 -2
  93. package/dist/utils/shell-setup.js.map +1 -1
  94. package/package.json +7 -2
  95. package/scripts/cat-spin.sh +417 -0
  96. package/scripts/monitor-foobar.js +117 -0
  97. package/tests/fixtures/test-data.json +16 -0
  98. package/keys.txt +0 -4
package/README.md CHANGED
@@ -94,16 +94,44 @@ yarn build
94
94
 
95
95
  ### First-Time Setup
96
96
 
97
- Run `httpcat` to start the configuration wizard:
97
+ Run `httpcat` to automatically create your wallet:
98
98
 
99
99
  ```bash
100
100
  httpcat
101
101
  ```
102
102
 
103
- You'll be prompted to enter:
103
+ **Automatic Wallet Generation:**
104
+
105
+ When you first run `httpcat`, a wallet is automatically created for you:
106
+
107
+ 1. **Seed Phrase Generated** - A 12-word seed phrase is generated locally on your computer
108
+ 2. **Address Displayed** - Your wallet address is prominently displayed so you can immediately send USDC or ETH
109
+ 3. **Security Information** - Comprehensive security messaging explains that:
110
+ - Your seed phrase was generated on THIS computer only
111
+ - It has NEVER been and will NEVER be transmitted to any server, third party, or external service
112
+ - All cryptographic operations happen entirely on your device
113
+ - Your seed phrase is stored locally at `~/.config/httpcat/config.json`
114
+ 4. **Password Protection (Optional)** - You can set a password to encrypt your wallet, or press Enter to skip (keys are still encrypted)
115
+ 5. **Backup Instructions** - You'll be shown your seed phrase with instructions to back it up securely
116
+
117
+ **Import Mode (Optional):**
118
+
119
+ If you want to import an existing seed phrase or private key instead of auto-generation, set the `HTTPCAT_IMPORT_MODE` environment variable:
120
+
121
+ ```bash
122
+ HTTPCAT_IMPORT_MODE=true httpcat
123
+ ```
124
+
125
+ This will show the traditional import options:
126
+
127
+ - Generate new wallet (seed phrase)
128
+ - Import existing seed phrase
129
+ - Import existing private key
130
+
131
+ **Configuration Options:**
132
+
133
+ After wallet setup, you'll be prompted for:
104
134
 
105
- - **Private Key** - Your wallet's private key (starts with 0x) or seed phrase for HD wallet
106
- - **Password** - (Optional) Password to encrypt your private keys and seed phrase
107
135
  - **Network** - Network format: `eip155:84532` (Base Sepolia testnet) or `eip155:8453` (Base mainnet)
108
136
  - **Agent URL** - The httpcat agent endpoint (default: https://agent-test.402.cat)
109
137
  - **ASCII Art** - Enable or disable cat art
@@ -139,6 +167,13 @@ Available Commands:
139
167
  positions [--active|--graduated] Get all your positions with comprehensive info
140
168
  transactions [--user|--token|--type] Get transaction history
141
169
  claim <id|name|symbol> [--execute] View/claim LP fees for graduated tokens
170
+ market search <query> Search cryptocurrencies (CoinGecko, FREE)
171
+ market coin-data <coinId> Get coin market data (CoinGecko, $0.001)
172
+ market chart <coinId> <days> Get price chart (CoinGecko, $0.01)
173
+ cex markets Get CEX.IO markets (FREE)
174
+ cex ticker <symbol> Get CEX.IO ticker (FREE)
175
+ cex balance Get CEX.IO balance ($0.001)
176
+ cex place-order <symbol> <type> <orderType> <amount> Place order ($0.05, HIGH RISK)
142
177
  chat [token] Start streaming chat (optional: token symbol/name/address)
143
178
  balances Check wallet balances (ETH, USDC, and CAT)
144
179
  account [list|switch|add] Manage accounts
@@ -219,6 +254,8 @@ httpcat -q buy MTK 0.20 && echo "Success!" || echo "Failed"
219
254
 
220
255
  ## Commands
221
256
 
257
+ > **Note on Command Organization:** httpcat v0.3.0 organizes commands into logical groups (e.g., `launchpad`, `portfolio`, `trade`). Many top-level commands are still available for backward compatibility but are considered deprecated. Use the grouped commands for new scripts. See [Command Groups](#command-groups) section for the full list of organized commands.
258
+
222
259
  ### Create Token
223
260
 
224
261
  Create a new token on the bonding curve.
@@ -491,6 +528,153 @@ httpcat predictions detect-insiders
491
528
  - `--polymarket-api-key <key>` - Polymarket API key
492
529
  - `--polymarket-api-secret <secret>` - Polymarket API secret
493
530
 
531
+ ### Market Intelligence (CoinGecko)
532
+
533
+ Research cryptocurrencies using CoinGecko market data.
534
+
535
+ **CLI:**
536
+
537
+ ```bash
538
+ # Search for cryptocurrencies
539
+ httpcat market search bitcoin
540
+ httpcat market search "eth" --limit 10
541
+
542
+ # Get comprehensive coin data
543
+ httpcat market coin-data bitcoin
544
+ httpcat market coin-data ethereum --currency eur --sparkline
545
+
546
+ # Get historical price charts
547
+ httpcat market chart bitcoin 7
548
+ httpcat market chart ethereum 30 --currency eur
549
+ httpcat market chart bitcoin max --json
550
+ ```
551
+
552
+ **Subcommands:**
553
+
554
+ - `search <query>` - Search cryptocurrencies by name or symbol (FREE)
555
+ - `coin-data <coinId>` - Get comprehensive market data ($0.001)
556
+ - `chart <coinId> <days>` - Get historical price chart ($0.01)
557
+
558
+ **Options:**
559
+
560
+ - `--limit <number>` - Maximum search results (default: 20, max: 100)
561
+ - `--currency <currency>` - Currency: usd, eur, btc (default: usd)
562
+ - `--sparkline` - Include 7-day sparkline chart
563
+ - `--interval <interval>` - Chart interval: daily or hourly (auto-selected)
564
+
565
+ **Examples:**
566
+
567
+ ```bash
568
+ # Search for Bitcoin
569
+ httpcat market search bitcoin
570
+
571
+ # Get Bitcoin market data with sparkline
572
+ httpcat market coin-data bitcoin --sparkline
573
+
574
+ # Get 7-day hourly chart
575
+ httpcat market chart bitcoin 7
576
+
577
+ # Get max historical data (JSON for charting)
578
+ httpcat market chart bitcoin max --json
579
+ ```
580
+
581
+ **Note:** Use `search` to find CoinGecko coin IDs (e.g., 'bitcoin', 'ethereum') for use with `coin-data` and `chart` commands.
582
+
583
+ ### CEX.IO Trading
584
+
585
+ Trade on CEX.IO exchange via CLI. Monitor positions, place orders, and view market data.
586
+
587
+ **CLI:**
588
+
589
+ ```bash
590
+ # Get all available markets
591
+ httpcat cex markets
592
+ httpcat cex markets --base BTC
593
+
594
+ # Get ticker for a trading pair
595
+ httpcat cex ticker BTC/USD
596
+
597
+ # Check account balance
598
+ httpcat cex balance
599
+ httpcat cex balance --currency BTC
600
+
601
+ # View order book
602
+ httpcat cex orderbook BTC/USD --depth 20
603
+
604
+ # List open orders
605
+ httpcat cex orders
606
+ httpcat cex orders --symbol BTC/USD
607
+
608
+ # View order history
609
+ httpcat cex order-history --status completed
610
+ httpcat cex order-history --symbol BTC/USD --since 2024-01-01T00:00:00Z
611
+
612
+ # View trade history
613
+ httpcat cex trade-history --symbol BTC/USD
614
+
615
+ # Place an order (requires confirmation)
616
+ httpcat cex place-order BTC/USD buy limit 0.1 --price 50000
617
+
618
+ # Cancel an order
619
+ httpcat cex cancel-order 12345
620
+ ```
621
+
622
+ **Subcommands:**
623
+
624
+ - `markets` - Get all trading pairs (FREE)
625
+ - `ticker <symbol>` - Get ticker information (FREE)
626
+ - `balance` - Get account balances ($0.001)
627
+ - `orderbook <symbol>` - Get order book ($0.001)
628
+ - `orders` - Get open orders ($0.001)
629
+ - `order-history` - Get order history ($0.01)
630
+ - `trade-history` - Get trade history ($0.01)
631
+ - `place-order` - Place buy/sell order ($0.05) **HIGH RISK**
632
+ - `cancel-order <orderId>` - Cancel order ($0.01)
633
+
634
+ **Options:**
635
+
636
+ - `--base <currency>` - Filter by base currency (markets)
637
+ - `--quote <currency>` - Filter by quote currency (markets)
638
+ - `--currency <currency>` - Filter by currency (balance)
639
+ - `--depth <depth>` - Order book depth (default: 20, max: 100)
640
+ - `--symbol <symbol>` - Filter by trading pair
641
+ - `--status <status>` - Filter by status: completed, canceled, failed, all
642
+ - `--limit <limit>` - Maximum results
643
+ - `--since <timestamp>` - ISO timestamp filter
644
+ - `--until <timestamp>` - ISO timestamp filter (trade-history)
645
+ - `--price <price>` - Order price (required for limit/stop-limit)
646
+ - `--stop-price <price>` - Stop price (for stop-limit orders)
647
+ - `--confirm` - Skip confirmation prompt (use with caution)
648
+
649
+ **Security Notes:**
650
+
651
+ - `place-order` executes real trades - always requires confirmation unless `--confirm` flag is used
652
+ - Symbol formats supported: `BTC/USD`, `BTC-USD`, or `BTCUSD`
653
+ - Market orders execute immediately; limit orders wait for price
654
+ - Backend must have CEX.IO API credentials configured
655
+
656
+ **Examples:**
657
+
658
+ ```bash
659
+ # View all BTC markets
660
+ httpcat cex markets --base BTC
661
+
662
+ # Get BTC/USD ticker
663
+ httpcat cex ticker BTC/USD
664
+
665
+ # Check your balance
666
+ httpcat cex balance
667
+
668
+ # View order book
669
+ httpcat cex orderbook BTC/USD
670
+
671
+ # Place a limit buy order (will prompt for confirmation)
672
+ httpcat cex place-order BTC/USD buy limit 0.1 --price 50000
673
+
674
+ # Place a market sell order
675
+ httpcat cex place-order ETH/USD sell market 2.0
676
+ ```
677
+
494
678
  ### Token Info
495
679
 
496
680
  Get detailed information about a token.
@@ -825,6 +1009,7 @@ httpcat call https://example.com/api/endpoint \
825
1009
  **Response:**
826
1010
 
827
1011
  The command returns:
1012
+
828
1013
  - HTTP status code and status text
829
1014
  - Response headers
830
1015
  - Response body (parsed as JSON if possible, otherwise raw text)
@@ -832,6 +1017,7 @@ The command returns:
832
1017
  **Payment:**
833
1018
 
834
1019
  The command automatically handles x402 payment flows. If the endpoint requires payment, the command will:
1020
+
835
1021
  1. Receive a 402 Payment Required response
836
1022
  2. Generate a payment signature
837
1023
  3. Retry the request with the payment header
@@ -1033,6 +1219,418 @@ httpcat config -s # Show current config (JSON)
1033
1219
  httpcat config -S network=base # Update a setting
1034
1220
  ```
1035
1221
 
1222
+ ### Sign
1223
+
1224
+ Cryptographic signing operations for messages, files, transactions, and structured data.
1225
+
1226
+ **Interactive:**
1227
+
1228
+ ```bash
1229
+ httpcat> sign # Enter interactive signing mode
1230
+ ```
1231
+
1232
+ **CLI:**
1233
+
1234
+ ```bash
1235
+ # Sign a message (EIP-191)
1236
+ httpcat sign message "Hello, world!"
1237
+ httpcat sign message --file message.txt
1238
+ echo "Hello" | httpcat sign message --stdin
1239
+
1240
+ # Sign a file
1241
+ httpcat sign file document.pdf
1242
+ httpcat sign file document.pdf --hash-algorithm keccak256
1243
+
1244
+ # Sign a transaction
1245
+ httpcat sign transaction '{"to":"0x...","value":"1000000000000000000"}'
1246
+
1247
+ # Sign EIP-712 structured data
1248
+ httpcat sign eip712 --domain '{"name":"MyApp"}' --types '{}' --message '{}'
1249
+
1250
+ # Sign Permit2 authorization
1251
+ httpcat sign permit2 --token 0x... --amount 1000000 --spender 0x...
1252
+
1253
+ # Batch sign multiple items
1254
+ httpcat sign batch '{"messages":["Hello","World"],"files":["doc1.pdf","doc2.pdf"]}'
1255
+
1256
+ # Verify a signature
1257
+ httpcat sign verify --signature 0x... --message "Hello, world!"
1258
+ ```
1259
+
1260
+ **Subcommands:**
1261
+
1262
+ - `sign message [message]` - Sign a message using EIP-191 personal sign
1263
+ - `sign file <path>` - Sign a file (hash + EIP-191 signature)
1264
+ - `sign transaction <tx-json>` - Sign a transaction (EIP-155)
1265
+ - `sign eip712` - Sign EIP-712 structured data
1266
+ - `sign permit2` - Sign Permit2 token authorization
1267
+ - `sign batch <batch-json>` - Batch sign multiple messages/files
1268
+ - `sign verify` - Verify a signature
1269
+
1270
+ **Options:**
1271
+
1272
+ - `--file <path>` - Read message from file (message subcommand)
1273
+ - `--stdin` - Read message from stdin (message subcommand)
1274
+ - `--output <file>` - Save signature to file
1275
+ - `--format <hex|rsv|compact>` - Signature format (default: hex)
1276
+ - `--hash-algorithm <sha256|keccak256>` - Hash algorithm for files (default: sha256)
1277
+ - `--verify` - Verify signature after signing
1278
+ - `--nonce <nonce>` - Nonce for Permit2 (auto-generated if not provided)
1279
+ - `--deadline <timestamp>` - Deadline for Permit2 (auto-generated if not provided)
1280
+
1281
+ **Examples:**
1282
+
1283
+ ```bash
1284
+ # Sign a message and verify
1285
+ httpcat sign message "Hello, world!" --verify
1286
+
1287
+ # Sign a file and save to output file
1288
+ httpcat sign file document.pdf --output signature.json
1289
+
1290
+ # Sign with different format
1291
+ httpcat sign message "Test" --format rsv
1292
+
1293
+ # Sign Permit2 with auto-generated nonce and deadline
1294
+ httpcat sign permit2 --token 0x... --amount 1000000 --spender 0x...
1295
+
1296
+ # Verify an EIP-712 signature
1297
+ httpcat sign verify --signature 0x... --message '{}' --type eip712 \
1298
+ --domain '{"name":"MyApp"}' --types '{}' --primary-type Message
1299
+ ```
1300
+
1301
+ **Cost:** $0.001 USDC per signature preparation (signing is done locally)
1302
+
1303
+ **Note:** Signatures are created locally using your private key. The backend only prepares the signature data; actual signing happens client-side for security.
1304
+
1305
+ ## Command Groups
1306
+
1307
+ httpcat organizes commands into logical groups for better discoverability. Many commands are available both as top-level commands (for backward compatibility) and as grouped commands.
1308
+
1309
+ ### Launchpad (`launchpad` or `lp`)
1310
+
1311
+ Token creation and trading on the bonding curve.
1312
+
1313
+ **Subcommands:**
1314
+
1315
+ - `launchpad create <name> <symbol>` - Create a new token ($0.01)
1316
+ - `launchpad buy <identifier> <amount>` - Buy tokens (amount + 1% fee)
1317
+ - `launchpad sell <identifier> <amount|percentage|all>` - Sell tokens (1% fee)
1318
+ - `launchpad list` - List all tokens ($0.0001)
1319
+ - `launchpad info <identifier>` - Get token information ($0.0001)
1320
+ - `launchpad positions` - Get all positions ($0.01)
1321
+ - `launchpad fees view <identifier>` - View LP fees (FREE)
1322
+ - `launchpad fees claim <identifier> --execute` - Claim LP fees (gas fees)
1323
+
1324
+ **Examples:**
1325
+
1326
+ ```bash
1327
+ httpcat launchpad create "My Token" "MTK"
1328
+ httpcat launchpad buy MTK 0.10
1329
+ httpcat launchpad sell MTK 50%
1330
+ httpcat launchpad list --sort mcap
1331
+ httpcat launchpad info MTK
1332
+ httpcat launchpad positions --active
1333
+ httpcat launchpad fees view MTK
1334
+ httpcat launchpad fees claim MTK --execute
1335
+ ```
1336
+
1337
+ **Alias:** `lp` (e.g., `httpcat lp create "Token" "TKN"`)
1338
+
1339
+ **Note:** Top-level commands `create`, `buy`, `sell`, `list`, `info`, `positions`, and `claim` are deprecated but still work. Use the `launchpad` group for new scripts.
1340
+
1341
+ ### Portfolio (`portfolio` or `pf`)
1342
+
1343
+ Portfolio management and financial data.
1344
+
1345
+ **Subcommands:**
1346
+
1347
+ - `portfolio balances` - Check wallet balances (FREE)
1348
+ - `portfolio positions` - Get all positions across products (FREE)
1349
+ - `portfolio summary` - Portfolio overview ($0.01)
1350
+ - `portfolio pnl` - Profit and loss analysis ($0.01)
1351
+ - `portfolio transactions` - Transaction history (varies)
1352
+
1353
+ **Examples:**
1354
+
1355
+ ```bash
1356
+ httpcat portfolio balances
1357
+ httpcat portfolio positions --active
1358
+ httpcat portfolio summary
1359
+ httpcat portfolio pnl --timeframe 7d
1360
+ httpcat portfolio transactions --type buy
1361
+ ```
1362
+
1363
+ **Alias:** `pf` (e.g., `httpcat pf balances`)
1364
+
1365
+ **Note:** Top-level `balances`, `positions`, and `transactions` commands are deprecated but still work.
1366
+
1367
+ ### Trade (`trade` or `t`)
1368
+
1369
+ Trading operations including swaps, perps, and predictions.
1370
+
1371
+ **Subcommands:**
1372
+
1373
+ - `trade swap <tokenIn> <tokenOut> <amount>` - Token swap ($0.10 standard, $1.00 shielded)
1374
+ - `trade perps markets` - Perpetual futures markets ($0.01)
1375
+ - `trade perps onboard` - Onboard to perps venues (FREE)
1376
+ - `trade perps deposit <amount>` - Deposit to perps (FREE)
1377
+ - `trade perps trade <market> <side> <sizeUsd> <leverage>` - Trade perps ($0.05)
1378
+ - `trade perps positions` - View perps positions ($0.01)
1379
+ - `trade predictions markets` - Prediction markets ($0.01)
1380
+ - `trade predictions market <marketId>` - Market details ($0.01)
1381
+ - `trade predictions search <query>` - Search markets ($0.01)
1382
+ - `trade predictions bet <marketId> <outcomeId> <amountUsd>` - Place bet ($0.05)
1383
+
1384
+ **Examples:**
1385
+
1386
+ ```bash
1387
+ httpcat trade swap USDC WETH 1.0
1388
+ httpcat trade swap USDC WETH 1.0 --shielded
1389
+ httpcat trade perps markets
1390
+ httpcat trade perps trade ETH-USD long 100 10
1391
+ httpcat trade predictions markets
1392
+ httpcat trade predictions bet polymarket:abc123 outcome1 10
1393
+ ```
1394
+
1395
+ **Alias:** `t` (e.g., `httpcat t swap USDC WETH 1.0`)
1396
+
1397
+ **Note:** The `trade` group is a container. Perps and predictions are also available as top-level commands (`httpcat perps`, `httpcat predictions`). Swaps are available as top-level `httpcat swap`.
1398
+
1399
+ ### System (`system` or `sys`)
1400
+
1401
+ System operations and health checks.
1402
+
1403
+ **Subcommands:**
1404
+
1405
+ - `system health` - Check system health (FREE)
1406
+ - `system status` - Get system status ($0.001)
1407
+ - `system limits` - Display API rate limits (FREE)
1408
+ - `system sources` - List data sources (FREE)
1409
+
1410
+ **Examples:**
1411
+
1412
+ ```bash
1413
+ httpcat system health
1414
+ httpcat system status
1415
+ httpcat system limits
1416
+ httpcat system sources
1417
+ ```
1418
+
1419
+ **Alias:** `sys` (e.g., `httpcat sys health`)
1420
+
1421
+ **Note:** Top-level `health` command is deprecated but still works.
1422
+
1423
+ ### Tools (`tools`)
1424
+
1425
+ EVM development and interaction utilities.
1426
+
1427
+ **Subcommands:**
1428
+
1429
+ #### Address Utilities
1430
+
1431
+ - `tools address validate <address>` - Validate Ethereum address (FREE)
1432
+ - `tools address checksum <address>` - Convert to checksummed format (FREE)
1433
+ - `tools address derive <seed> <index>` - Derive address from seed (FREE)
1434
+ - `tools address balance <address>` - Get address balance (FREE)
1435
+
1436
+ #### ABI Utilities
1437
+
1438
+ - `tools abi encode <abi> <function> <args...>` - Encode function call (FREE)
1439
+ - `tools abi decode <abi> <function> <data>` - Decode function result (FREE)
1440
+ - `tools abi parse <abi>` - Parse and validate ABI (FREE)
1441
+
1442
+ #### Transaction Utilities
1443
+
1444
+ - `tools tx build <tx-json>` - Build transaction (FREE)
1445
+ - `tools tx encode <tx-json>` - Encode transaction (FREE)
1446
+ - `tools tx decode <tx-hex>` - Decode transaction (FREE)
1447
+ - `tools tx simulate <tx-json>` - Simulate transaction ($0.001)
1448
+ - `tools tx estimate-gas <tx-json>` - Estimate gas ($0.001)
1449
+ - `tools tx prepare <tx-json>` - Prepare transaction for signing (FREE)
1450
+
1451
+ #### Signature Utilities
1452
+
1453
+ - `tools signature eip191 <message>` - EIP-191 signature (FREE)
1454
+ - `tools signature eip712 <domain> <types> <message>` - EIP-712 signature (FREE)
1455
+ - `tools signature permit2 <token> <amount> <spender>` - Permit2 signature (FREE)
1456
+
1457
+ #### Multicall Utilities
1458
+
1459
+ - `tools multicall encode <calls-json>` - Encode multicall (FREE)
1460
+ - `tools multicall decode <data>` - Decode multicall result (FREE)
1461
+
1462
+ #### Nonce Utilities
1463
+
1464
+ - `tools nonce get <address>` - Get current nonce (FREE)
1465
+ - `tools nonce predict <address>` - Predict next nonce (FREE)
1466
+
1467
+ #### Gas Utilities
1468
+
1469
+ - `tools gas price` - Get current gas price (FREE)
1470
+ - `tools gas estimate <tx-json>` - Estimate gas for transaction ($0.001)
1471
+ - `tools gas optimize <tx-json>` - Optimize gas settings (FREE)
1472
+
1473
+ #### x402 Endpoint Call
1474
+
1475
+ - `tools call <endpoint> [options]` - Call arbitrary x402 endpoint (varies)
1476
+
1477
+ **Examples:**
1478
+
1479
+ ```bash
1480
+ httpcat tools address validate 0x1234...
1481
+ httpcat tools abi encode '[{"inputs":...}]' transfer 0x... 1000
1482
+ httpcat tools tx build '{"to":"0x...","value":"1000000000000000000"}'
1483
+ httpcat tools signature eip712 '{"name":"App"}' '{}' '{"message":"Hello"}'
1484
+ httpcat tools gas price
1485
+ httpcat tools call /api/endpoint --method POST --body '{"data":"value"}'
1486
+ ```
1487
+
1488
+ ### Security (`security`)
1489
+
1490
+ Security and safety analysis tools.
1491
+
1492
+ **Subcommands:**
1493
+
1494
+ - `security token-scan <tokenAddress>` - Comprehensive token safety scan ($0.01)
1495
+ - `security allowances <wallet> <token>` - Check token allowances ($0.001)
1496
+ - `security revoke-allowance <token> <spender>` - Generate revoke transaction (FREE)
1497
+
1498
+ **Examples:**
1499
+
1500
+ ```bash
1501
+ httpcat security token-scan 0x1234...
1502
+ httpcat security allowances 0x... 0x...
1503
+ httpcat security revoke-allowance 0x... 0x...
1504
+ ```
1505
+
1506
+ ### Risk (`risk`)
1507
+
1508
+ Risk management and policy tools.
1509
+
1510
+ **Subcommands:**
1511
+
1512
+ - `risk policy [--wallet <address>] [--set <json>]` - Get or set risk policy ($0.001)
1513
+ - `risk evaluate <wallet> <trade-json>` - Evaluate trade against policy ($0.001)
1514
+
1515
+ **Examples:**
1516
+
1517
+ ```bash
1518
+ httpcat risk policy --wallet 0x...
1519
+ httpcat risk policy --set '{"maxPositionSize":"1000","maxLeverage":10}'
1520
+ httpcat risk evaluate 0x... '{"token":"0x...","amount":"100"}'
1521
+ ```
1522
+
1523
+ ### Opportunities (`opps`)
1524
+
1525
+ DeFi opportunity discovery.
1526
+
1527
+ **Subcommands:**
1528
+
1529
+ - `opps arbitrage [--min-profit <amount>]` - Discover arbitrage opportunities ($0.01)
1530
+ - `opps funding [--min-rate <rate>]` - Discover funding opportunities ($0.01)
1531
+ - `opps yield [--min-apy <apy>]` - Find yield farming opportunities ($0.01)
1532
+ - `opps liquidations` - Detect liquidation opportunities ($0.01)
1533
+ - `opps execute <opportunityId>` - Execute discovered opportunity (varies)
1534
+
1535
+ **Examples:**
1536
+
1537
+ ```bash
1538
+ httpcat opps arbitrage --min-profit 10
1539
+ httpcat opps funding --min-rate 0.01
1540
+ httpcat opps yield --min-apy 5
1541
+ httpcat opps liquidations
1542
+ httpcat opps execute opp-123
1543
+ ```
1544
+
1545
+ ### Automation (`automation`)
1546
+
1547
+ Automation and monitoring tools.
1548
+
1549
+ **Subcommands:**
1550
+
1551
+ - `automation alerts [--wallet <address>] [--create <json>] [--delete <alertId>]` - Manage alerts ($0.001)
1552
+ - `automation webhooks [--wallet <address>] [--register <url>]` - Manage webhooks ($0.001)
1553
+ - `automation jobs [--create <json>] [--status <jobId>]` - Manage automation jobs ($0.01)
1554
+
1555
+ **Examples:**
1556
+
1557
+ ```bash
1558
+ httpcat automation alerts --wallet 0x...
1559
+ httpcat automation alerts --create '{"type":"price","condition":"above","value":"100"}'
1560
+ httpcat automation webhooks --register https://example.com/webhook
1561
+ httpcat automation jobs --create '{"type":"rebalance","schedule":"daily"}'
1562
+ ```
1563
+
1564
+ ### Send (`send`)
1565
+
1566
+ Send native currency, tokens, or batch transactions.
1567
+
1568
+ **Subcommands:**
1569
+
1570
+ - `send eth <to> <amount>` - Send native ETH
1571
+ - `send token <token> <to> <amount>` - Send ERC20 token
1572
+ - `send batch <batch-json>` - Batch send multiple transactions
1573
+ - `send tx <tx-json>` - Send custom transaction
1574
+
1575
+ **Token Aliases:**
1576
+
1577
+ - `usdc` - USDC token
1578
+ - `sol` - Solana token (if on Solana network)
1579
+ - `wbtc` - Wrapped Bitcoin
1580
+ - `cbbtc` - Coinbase Bitcoin
1581
+
1582
+ **Examples:**
1583
+
1584
+ ```bash
1585
+ httpcat send eth 0x... 0.1
1586
+ httpcat send token usdc 0x... 100
1587
+ httpcat send token 0x... 0x... 50
1588
+ httpcat send batch '{"native":[{"to":"0x...","amount":"0.1"}],"tokens":[]}'
1589
+ httpcat send tx '{"to":"0x...","value":"1000000000000000000","data":"0x..."}'
1590
+ ```
1591
+
1592
+ ### Approve (`approve`)
1593
+
1594
+ Token approval operations.
1595
+
1596
+ **Subcommands:**
1597
+
1598
+ - `approve token <token> <spender> <amount>` - Approve ERC20 token
1599
+ - `approve check <token> <spender>` - Check current allowance
1600
+
1601
+ **Options:**
1602
+
1603
+ - `--permit2` - Use Permit2 instead of direct ERC20 approval
1604
+ - `--max` - Approve maximum amount (2^256 - 1)
1605
+
1606
+ **Examples:**
1607
+
1608
+ ```bash
1609
+ httpcat approve token usdc 0x... 1000
1610
+ httpcat approve token 0x... 0x... max --permit2
1611
+ httpcat approve check usdc 0x...
1612
+ ```
1613
+
1614
+ ### RPC (`rpc`)
1615
+
1616
+ JSON-RPC proxy for blockchain calls.
1617
+
1618
+ **Usage:**
1619
+
1620
+ ```bash
1621
+ httpcat rpc --method <method> --params <json-array>
1622
+ ```
1623
+
1624
+ **Examples:**
1625
+
1626
+ ```bash
1627
+ httpcat rpc --method eth_getBalance --params '["0x...","latest"]'
1628
+ httpcat rpc --method eth_blockNumber --params '[]'
1629
+ httpcat rpc --method eth_call --params '[{"to":"0x...","data":"0x..."},"latest"]'
1630
+ ```
1631
+
1632
+ **Cost:** $0.05 USDC per request
1633
+
1036
1634
  ### MCP Server
1037
1635
 
1038
1636
  Start the Model Context Protocol server for AI assistant integration.
@@ -1300,7 +1898,7 @@ All commands with `--json` flag return structured JSON responses. The output fol
1300
1898
  ```json
1301
1899
  {
1302
1900
  "name": "httpcat-cli",
1303
- "version": "0.0.8"
1901
+ "version": "0.3.0"
1304
1902
  }
1305
1903
  ```
1306
1904
 
@@ -1380,9 +1978,35 @@ httpcat mcp-server
1380
1978
  npx httpcat-cli mcp-server
1381
1979
  ```
1382
1980
 
1383
- ### MCP Client Configuration
1981
+ ### Quick Installation
1982
+
1983
+ Use the automated installer to set up httpcat MCP for your LLM CLI:
1984
+
1985
+ ```bash
1986
+ # Install for Claude CLI
1987
+ httpcat mcp-install claude-cli
1988
+
1989
+ # Install for Cursor IDE
1990
+ httpcat mcp-install cursor
1991
+
1992
+ # Install for Claude Desktop
1993
+ httpcat mcp-install claude-desktop
1994
+
1995
+ # List all detected LLM tools
1996
+ httpcat mcp-install
1997
+ ```
1998
+
1999
+ The installer will:
2000
+
2001
+ 1. Check if wallet is configured (runs onboarding if needed)
2002
+ 2. Automatically configure your LLM CLI with MCP server
2003
+ 3. Provide next steps and example system prompt
1384
2004
 
1385
- Add the httpcat MCP server to your MCP client configuration:
2005
+ **Note**: Private key is NOT included in MCP config - the server reads from `~/.config/httpcat/config.json` automatically.
2006
+
2007
+ ### Manual Configuration
2008
+
2009
+ If you prefer to configure manually, add to your MCP client config:
1386
2010
 
1387
2011
  #### For Cursor
1388
2012
 
@@ -1393,10 +2017,7 @@ Add to your Cursor settings (`.cursor/mcp.json` or settings UI):
1393
2017
  "mcpServers": {
1394
2018
  "httpcat": {
1395
2019
  "command": "npx",
1396
- "args": ["-y", "httpcat-cli", "mcp-server"],
1397
- "env": {
1398
- "HTTPCAT_PRIVATE_KEY": "0x..." // Optional - can also pass via tool params
1399
- }
2020
+ "args": ["-y", "httpcat-cli", "mcp-server"]
1400
2021
  }
1401
2022
  }
1402
2023
  }
@@ -1411,10 +2032,7 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
1411
2032
  "mcpServers": {
1412
2033
  "httpcat": {
1413
2034
  "command": "npx",
1414
- "args": ["-y", "httpcat-cli", "mcp-server"],
1415
- "env": {
1416
- "HTTPCAT_PRIVATE_KEY": "0x..."
1417
- }
2035
+ "args": ["-y", "httpcat-cli", "mcp-server"]
1418
2036
  }
1419
2037
  }
1420
2038
  }
@@ -1429,15 +2047,14 @@ If you've installed httpcat globally:
1429
2047
  "mcpServers": {
1430
2048
  "httpcat": {
1431
2049
  "command": "httpcat",
1432
- "args": ["mcp-server"],
1433
- "env": {
1434
- "HTTPCAT_PRIVATE_KEY": "0x..."
1435
- }
2050
+ "args": ["mcp-server"]
1436
2051
  }
1437
2052
  }
1438
2053
  }
1439
2054
  ```
1440
2055
 
2056
+ **Important**: No `HTTPCAT_PRIVATE_KEY` in env - the MCP server automatically reads from `~/.config/httpcat/config.json`.
2057
+
1441
2058
  ### Available MCP Tools
1442
2059
 
1443
2060
  The MCP server exposes the following tools:
@@ -2016,13 +2633,27 @@ const renewal = await mcp.callTool("chat_renew_lease", {
2016
2633
 
2017
2634
  ### Private Key Configuration
2018
2635
 
2019
- Private keys can be configured in three ways (priority order):
2636
+ Private keys are automatically read from the httpcat config file (`~/.config/httpcat/config.json`).
2637
+
2638
+ **Priority order** (if you need to override):
2020
2639
 
2021
2640
  1. **Tool parameter** - Pass `privateKey` in each tool call (highest priority)
2022
- 2. **Environment variable** - Set `HTTPCAT_PRIVATE_KEY` in the MCP client config
2023
- 3. **Config file** - Use `httpcat config` to set up `~/.config/httpcat/config.json`
2641
+ 2. **Environment variable** - Set `HTTPCAT_PRIVATE_KEY` (for backward compatibility)
2642
+ 3. **Config file** - Default: `~/.config/httpcat/config.json` (recommended)
2643
+
2644
+ **Security Recommendation:** Use the config file (default). The MCP server automatically reads from it, so you don't need to pass private keys in MCP configs.
2645
+
2646
+ ### Onboarding
2024
2647
 
2025
- **Security Recommendation:** Use the environment variable in your MCP client config rather than passing it in each tool call.
2648
+ If no wallet is configured when the MCP server starts, it will run an interactive onboarding flow:
2649
+
2650
+ 1. **Generate new wallet** - Creates a seed phrase (recommended for new users)
2651
+ 2. **Import seed phrase** - Import existing 12/24 word seed phrase
2652
+ 3. **Import private key** - Import existing private key
2653
+
2654
+ The onboarding runs automatically via stdio, so it works seamlessly with LLM CLI tools.
2655
+
2656
+ See [MCP Onboarding Guide](docs/MCP_ONBOARDING.md) for detailed information.
2026
2657
 
2027
2658
  ### Example MCP Tool Usage
2028
2659
 
@@ -2066,13 +2697,41 @@ All MCP tools return structured JSON responses matching the CLI's JSON output fo
2066
2697
  }
2067
2698
  ```
2068
2699
 
2700
+ ### MCP Resources
2701
+
2702
+ The MCP server provides resources for static data:
2703
+
2704
+ - `httpcat://tokens/list` - Cached token list with market data
2705
+ - `httpcat://network/status` - Network status and configuration
2706
+ - `httpcat://ecosystem/info` - Ecosystem information and token economics
2707
+
2708
+ Resources are cached (5 minute TTL) for faster access.
2709
+
2710
+ ### MCP Prompts
2711
+
2712
+ System prompts available for LLM agents:
2713
+
2714
+ - `ecosystem_context` - Comprehensive ecosystem information
2715
+ - `system_prompt` - Suggested system prompt for configuring agents
2716
+
2717
+ ### Enhanced Tool Descriptions
2718
+
2719
+ All tools include:
2720
+
2721
+ - 💰 Cost information
2722
+ - 📝 Usage examples
2723
+ - 💡 Tips and best practices
2724
+ - Detailed parameter descriptions
2725
+
2069
2726
  ### Benefits
2070
2727
 
2071
2728
  - **No Shell Access Required** - AI assistants can interact with httpcat without needing shell/terminal access
2072
2729
  - **Structured Responses** - Consistent JSON output format for reliable parsing
2073
- - **Secure** - Private keys can be managed via environment variables or config
2730
+ - **Secure** - Private keys stored locally, never in LLM config files
2731
+ - **Automatic Onboarding** - Interactive setup when wallet not configured
2074
2732
  - **Always Up-to-Date** - Using `npx` ensures you always get the latest version
2075
- - **Zero Configuration** - Works out of the box with standard MCP clients
2733
+ - **Zero Configuration** - Automated installation with `mcp-install` command
2734
+ - **Rich Context** - Resources and prompts provide ecosystem information
2076
2735
 
2077
2736
  ## Advanced Usage
2078
2737