httpcat-cli 0.3.0-rc.9 → 0.3.1

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 (203) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/.github/workflows/rc-publish.yml +6 -0
  3. package/.github/workflows/release.yml +6 -0
  4. package/README.md +1306 -130
  5. package/bun.lock +2 -2
  6. package/dist/agent/ax-agent.d.ts.map +1 -1
  7. package/dist/agent/ax-agent.js +64 -1
  8. package/dist/agent/ax-agent.js.map +1 -1
  9. package/dist/agent/tools.d.ts.map +1 -1
  10. package/dist/agent/tools.js +107 -7
  11. package/dist/agent/tools.js.map +1 -1
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/client.js +258 -11
  14. package/dist/client.js.map +1 -1
  15. package/dist/commands/account.d.ts.map +1 -1
  16. package/dist/commands/account.js +34 -14
  17. package/dist/commands/account.js.map +1 -1
  18. package/dist/commands/agent.d.ts.map +1 -1
  19. package/dist/commands/agent.js +114 -247
  20. package/dist/commands/agent.js.map +1 -1
  21. package/dist/commands/approve.d.ts.map +1 -0
  22. package/dist/commands/approve.js +505 -0
  23. package/dist/commands/approve.js.map +1 -0
  24. package/dist/commands/automation.d.ts.map +1 -0
  25. package/dist/commands/automation.js +346 -0
  26. package/dist/commands/automation.js.map +1 -0
  27. package/dist/commands/balances.d.ts.map +1 -1
  28. package/dist/commands/balances.js +31 -8
  29. package/dist/commands/balances.js.map +1 -1
  30. package/dist/commands/buy.d.ts.map +1 -1
  31. package/dist/commands/buy.js +88 -115
  32. package/dist/commands/buy.js.map +1 -1
  33. package/dist/commands/call.d.ts.map +1 -0
  34. package/dist/commands/call.js +51 -0
  35. package/dist/commands/call.js.map +1 -0
  36. package/dist/commands/cex.d.ts.map +1 -0
  37. package/dist/commands/cex.js +958 -0
  38. package/dist/commands/cex.js.map +1 -0
  39. package/dist/commands/claim.d.ts.map +1 -1
  40. package/dist/commands/claim.js +231 -4
  41. package/dist/commands/claim.js.map +1 -1
  42. package/dist/commands/create.d.ts.map +1 -1
  43. package/dist/commands/create.js +88 -3
  44. package/dist/commands/create.js.map +1 -1
  45. package/dist/commands/gasless-swap.d.ts.map +1 -0
  46. package/dist/commands/gasless-swap.js +232 -0
  47. package/dist/commands/gasless-swap.js.map +1 -0
  48. package/dist/commands/health.d.ts.map +1 -1
  49. package/dist/commands/health.js +58 -4
  50. package/dist/commands/health.js.map +1 -1
  51. package/dist/commands/info.js +1 -1
  52. package/dist/commands/info.js.map +1 -1
  53. package/dist/commands/launchpad.d.ts.map +1 -0
  54. package/dist/commands/launchpad.js +708 -0
  55. package/dist/commands/launchpad.js.map +1 -0
  56. package/dist/commands/list.d.ts.map +1 -1
  57. package/dist/commands/list.js +1 -1
  58. package/dist/commands/list.js.map +1 -1
  59. package/dist/commands/market.d.ts.map +1 -0
  60. package/dist/commands/market.js +960 -0
  61. package/dist/commands/market.js.map +1 -0
  62. package/dist/commands/mcp-install.d.ts.map +1 -0
  63. package/dist/commands/mcp-install.js +387 -0
  64. package/dist/commands/mcp-install.js.map +1 -0
  65. package/dist/commands/opps.d.ts.map +1 -0
  66. package/dist/commands/opps.js +409 -0
  67. package/dist/commands/opps.js.map +1 -0
  68. package/dist/commands/perps.d.ts.map +1 -0
  69. package/dist/commands/perps.js +248 -0
  70. package/dist/commands/perps.js.map +1 -0
  71. package/dist/commands/portfolio.d.ts.map +1 -0
  72. package/dist/commands/portfolio.js +679 -0
  73. package/dist/commands/portfolio.js.map +1 -0
  74. package/dist/commands/positions.js +1 -1
  75. package/dist/commands/positions.js.map +1 -1
  76. package/dist/commands/predict.d.ts.map +1 -0
  77. package/dist/commands/predict.js +280 -0
  78. package/dist/commands/predict.js.map +1 -0
  79. package/dist/commands/predictions.d.ts.map +1 -0
  80. package/dist/commands/predictions.js +486 -0
  81. package/dist/commands/predictions.js.map +1 -0
  82. package/dist/commands/risk.d.ts.map +1 -0
  83. package/dist/commands/risk.js +225 -0
  84. package/dist/commands/risk.js.map +1 -0
  85. package/dist/commands/security.d.ts.map +1 -0
  86. package/dist/commands/security.js +244 -0
  87. package/dist/commands/security.js.map +1 -0
  88. package/dist/commands/sell.js +3 -3
  89. package/dist/commands/sell.js.map +1 -1
  90. package/dist/commands/send.d.ts.map +1 -0
  91. package/dist/commands/send.js +733 -0
  92. package/dist/commands/send.js.map +1 -0
  93. package/dist/commands/sign.d.ts.map +1 -0
  94. package/dist/commands/sign.js +1048 -0
  95. package/dist/commands/sign.js.map +1 -0
  96. package/dist/commands/swap.d.ts.map +1 -1
  97. package/dist/commands/swap.js +245 -2
  98. package/dist/commands/swap.js.map +1 -1
  99. package/dist/commands/system.d.ts.map +1 -0
  100. package/dist/commands/system.js +417 -0
  101. package/dist/commands/system.js.map +1 -0
  102. package/dist/commands/tools/index.d.ts.map +1 -0
  103. package/dist/commands/tools/index.js +2040 -0
  104. package/dist/commands/tools/index.js.map +1 -0
  105. package/dist/commands/trade.d.ts.map +1 -0
  106. package/dist/commands/trade.js +237 -0
  107. package/dist/commands/trade.js.map +1 -0
  108. package/dist/commands/transactions.js +1 -1
  109. package/dist/commands/transactions.js.map +1 -1
  110. package/dist/commands/update.d.ts.map +1 -0
  111. package/dist/commands/update.js +429 -0
  112. package/dist/commands/update.js.map +1 -0
  113. package/dist/config.d.ts.map +1 -1
  114. package/dist/config.js +91 -9
  115. package/dist/config.js.map +1 -1
  116. package/dist/index.js +4409 -1050
  117. package/dist/index.js.map +1 -1
  118. package/dist/interactive/art.d.ts.map +1 -1
  119. package/dist/interactive/art.js +33 -0
  120. package/dist/interactive/art.js.map +1 -1
  121. package/dist/interactive/shell.d.ts.map +1 -1
  122. package/dist/interactive/shell.js +81 -5
  123. package/dist/interactive/shell.js.map +1 -1
  124. package/dist/mcp/context.d.ts.map +1 -0
  125. package/dist/mcp/context.js +211 -0
  126. package/dist/mcp/context.js.map +1 -0
  127. package/dist/mcp/onboarding.d.ts.map +1 -0
  128. package/dist/mcp/onboarding.js +266 -0
  129. package/dist/mcp/onboarding.js.map +1 -0
  130. package/dist/mcp/resources.d.ts.map +1 -0
  131. package/dist/mcp/resources.js +222 -0
  132. package/dist/mcp/resources.js.map +1 -0
  133. package/dist/mcp/server.d.ts.map +1 -1
  134. package/dist/mcp/server.js +51 -1
  135. package/dist/mcp/server.js.map +1 -1
  136. package/dist/mcp/tools.d.ts.map +1 -1
  137. package/dist/mcp/tools.js +4119 -169
  138. package/dist/mcp/tools.js.map +1 -1
  139. package/dist/mcp/types.d.ts.map +1 -1
  140. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -1
  141. package/dist/ui/components/shell/ShellInput.js +4 -0
  142. package/dist/ui/components/shell/ShellInput.js.map +1 -1
  143. package/dist/utils/admin.d.ts.map +1 -0
  144. package/dist/utils/admin.js +144 -0
  145. package/dist/utils/admin.js.map +1 -0
  146. package/dist/utils/autoSetup.d.ts.map +1 -0
  147. package/dist/utils/autoSetup.js +252 -0
  148. package/dist/utils/autoSetup.js.map +1 -0
  149. package/dist/utils/build-constants.d.ts.map +1 -0
  150. package/dist/utils/build-constants.js +10 -0
  151. package/dist/utils/build-constants.js.map +1 -0
  152. package/dist/utils/errors.d.ts.map +1 -1
  153. package/dist/utils/errors.js +10 -1
  154. package/dist/utils/errors.js.map +1 -1
  155. package/dist/utils/formatting.d.ts.map +1 -1
  156. package/dist/utils/formatting.js +9 -3
  157. package/dist/utils/formatting.js.map +1 -1
  158. package/dist/utils/llm-cli-config.d.ts.map +1 -0
  159. package/dist/utils/llm-cli-config.js +963 -0
  160. package/dist/utils/llm-cli-config.js.map +1 -0
  161. package/dist/utils/llm-cli-detector.d.ts.map +1 -0
  162. package/dist/utils/llm-cli-detector.js +202 -0
  163. package/dist/utils/llm-cli-detector.js.map +1 -0
  164. package/dist/utils/maintenance.d.ts.map +1 -0
  165. package/dist/utils/maintenance.js +17 -0
  166. package/dist/utils/maintenance.js.map +1 -0
  167. package/dist/utils/mcp-config.d.ts.map +1 -0
  168. package/dist/utils/mcp-config.js +77 -0
  169. package/dist/utils/mcp-config.js.map +1 -0
  170. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  171. package/dist/utils/privateKeyPrompt.js +287 -119
  172. package/dist/utils/privateKeyPrompt.js.map +1 -1
  173. package/dist/utils/process-cleanup.d.ts.map +1 -0
  174. package/dist/utils/process-cleanup.js +136 -0
  175. package/dist/utils/process-cleanup.js.map +1 -0
  176. package/dist/utils/retry.d.ts.map +1 -0
  177. package/dist/utils/retry.js +56 -0
  178. package/dist/utils/retry.js.map +1 -0
  179. package/dist/utils/shell-setup.d.ts.map +1 -0
  180. package/dist/utils/shell-setup.js +531 -0
  181. package/dist/utils/shell-setup.js.map +1 -0
  182. package/dist/utils/token-resolver.d.ts.map +1 -1
  183. package/dist/utils/token-resolver.js +42 -0
  184. package/dist/utils/token-resolver.js.map +1 -1
  185. package/dist/utils/x402-caller.d.ts.map +1 -0
  186. package/dist/utils/x402-caller.js +17 -0
  187. package/dist/utils/x402-caller.js.map +1 -0
  188. package/docs/README.md +28 -0
  189. package/docs/agent/README.md +18 -0
  190. package/docs/api/README.md +41 -0
  191. package/docs/cli/README.md +42 -0
  192. package/docs/guides/README.md +26 -0
  193. package/docs/implementation/README.md +18 -0
  194. package/docs/planning/README.md +19 -0
  195. package/docs/testing/README.md +15 -0
  196. package/docs/ux/README.md +16 -0
  197. package/package.json +9 -3
  198. package/scripts/cat-spin.sh +417 -0
  199. package/scripts/deprecate-rc-versions.js +58 -0
  200. package/scripts/inject-build-constants.js +43 -0
  201. package/scripts/monitor-foobar.js +117 -0
  202. package/test.txt +12 -0
  203. package/tests/fixtures/test-data.json +16 -0
package/README.md CHANGED
@@ -94,18 +94,46 @@ 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
- - **Agent URL** - The httpcat agent endpoint (default: https://agent.402.cat)
136
+ - **Agent URL** - The httpcat agent endpoint (default: https://agent-test.402.cat)
109
137
  - **ASCII Art** - Enable or disable cat art
110
138
 
111
139
  **Network Format:** Uses CAIP-2 format (`eip155:<chainId>`):
@@ -125,7 +153,7 @@ $ httpcat
125
153
  > ^ < Your agent for token operations
126
154
 
127
155
  🔗 Connected to: eip155:84532 (Base Sepolia)
128
- 🌐 Agent: https://agent.402.cat
156
+ 🌐 Agent: https://agent-test.402.cat
129
157
 
130
158
  httpcat> help
131
159
  Available Commands:
@@ -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.
@@ -341,6 +378,8 @@ httpcat sell MTK all
341
378
 
342
379
  Swap any ERC20 token to any other ERC20 token using pro DEX aggregation with optimal routing.
343
380
 
381
+ **Note:** This is a CLI-only feature, not available in the interactive shell.
382
+
344
383
  **CLI:**
345
384
 
346
385
  ```bash
@@ -368,7 +407,273 @@ httpcat swap 0x036cbd53842c5426634e7929541ec2318f3dcf7e 0x4200000000000000000000
368
407
  httpcat swap 0x036c... 0x4200... 1000000 --slippage 100
369
408
  ```
370
409
 
371
- **Cost:** $0.10 USDC
410
+ **Options:**
411
+
412
+ - `--shielded` - Use MEV-protected swap via UniswapX Dutch auction ($1.00)
413
+
414
+ **Examples:**
415
+
416
+ ```bash
417
+ # MEV-protected swap
418
+ httpcat swap USDC WETH 1.0 --shielded
419
+ ```
420
+
421
+ **Cost:** $0.10 USDC (standard) or $1.00 USDC (shielded)
422
+
423
+ ### Gasless Swap
424
+
425
+ Submit gasless swap trades that don't require gas fees.
426
+
427
+ **CLI:**
428
+
429
+ ```bash
430
+ # Submit signed 0x gasless swap
431
+ httpcat gasless-submit --trade '{"order": {...}}'
432
+
433
+ # Submit via our executor
434
+ httpcat gasless-submit-our \
435
+ --token-in 0x... \
436
+ --token-out 0x... \
437
+ --total-amount 1000000 \
438
+ --fee-amount 10000 \
439
+ --taker 0x... \
440
+ --permit2-signature 0x... \
441
+ --permit-nonce 0 \
442
+ --permit-deadline 1234567890
443
+ ```
444
+
445
+ **Cost:** $0.01 USDC
446
+
447
+ ### Perps (Perpetual Futures)
448
+
449
+ Trade perpetual futures across multiple venues.
450
+
451
+ **CLI:**
452
+
453
+ ```bash
454
+ # List available markets
455
+ httpcat perps markets
456
+
457
+ # Onboard wallet to venues (one-time setup)
458
+ httpcat perps onboard
459
+
460
+ # Deposit USDC to venues
461
+ httpcat perps deposit 1000
462
+
463
+ # Open a position
464
+ httpcat perps trade ETH-USD long 100 10
465
+
466
+ # View open positions
467
+ httpcat perps positions
468
+ ```
469
+
470
+ **Subcommands:**
471
+
472
+ - `markets` - Get available markets ($0.01)
473
+ - `onboard` - One-time wallet setup (FREE)
474
+ - `deposit <amount>` - Deposit USDC (FREE)
475
+ - `trade <market> <side> <sizeUsd> <leverage>` - Open/close positions ($0.05)
476
+ - `positions` - View open positions ($0.01)
477
+
478
+ **Options:**
479
+
480
+ - `--venue <name>` - Filter by venue
481
+ - `--wallet <address>` - Wallet address (defaults to configured wallet)
482
+ - `--aster-api-key <key>` - Aster API key (for positions)
483
+ - `--aster-api-secret <secret>` - Aster API secret (for positions)
484
+
485
+ ### Predictions
486
+
487
+ Interact with prediction markets on Polymarket and Azuro.
488
+
489
+ **CLI:**
490
+
491
+ ```bash
492
+ # Browse markets
493
+ httpcat predictions markets
494
+
495
+ # Get market details
496
+ httpcat predictions market <marketId>
497
+
498
+ # Search markets
499
+ httpcat predictions search "bitcoin"
500
+
501
+ # Place a bet
502
+ httpcat predictions bet <marketId> <outcomeId> <amountUsd>
503
+
504
+ # Detect arbitrage opportunities
505
+ httpcat predictions detect-arbs
506
+
507
+ # Detect sophisticated traders
508
+ httpcat predictions detect-insiders
509
+ ```
510
+
511
+ **Subcommands:**
512
+
513
+ - `markets` - Browse markets ($0.01)
514
+ - `market <marketId>` - Get market details ($0.01)
515
+ - `search <query>` - Search markets ($0.01)
516
+ - `bet <marketId> <outcomeId> <amountUsd>` - Place bet ($0.05)
517
+ - `detect-arbs` - Find arbitrage opportunities (FREE)
518
+ - `calculate-hedge` - Calculate optimal hedge (FREE)
519
+ - `execute-arb` - Execute arbitrage trade ($0.20)
520
+ - `detect-insiders` - Detect sophisticated traders ($5.00)
521
+
522
+ **Options:**
523
+
524
+ - `--venue <name>` - Filter by venue
525
+ - `--category <category>` - Filter by category
526
+ - `--limit <number>` - Limit results
527
+ - `--wallet <address>` - Wallet address (defaults to configured wallet)
528
+ - `--polymarket-api-key <key>` - Polymarket API key
529
+ - `--polymarket-api-secret <secret>` - Polymarket API secret
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
+ ```
372
677
 
373
678
  ### Token Info
374
679
 
@@ -671,6 +976,73 @@ httpcat health
671
976
 
672
977
  **Cost:** $0.0001 USDC (or 402 response)
673
978
 
979
+ ### Call x402 Endpoint
980
+
981
+ Call an arbitrary x402-protected HTTP endpoint with automatic payment handling. This allows you to interact with any x402-enabled API, not just the httpcat agent.
982
+
983
+ **CLI:**
984
+
985
+ ```bash
986
+ # POST request with JSON body
987
+ httpcat call https://example.com/api/endpoint --method POST --body '{"key": "value"}'
988
+
989
+ # GET request
990
+ httpcat call https://example.com/api/endpoint --method GET
991
+
992
+ # POST with body from stdin
993
+ echo '{"data": "test"}' | httpcat call https://example.com/api/endpoint --body -
994
+
995
+ # With custom headers
996
+ httpcat call https://example.com/api/endpoint \
997
+ --header "X-Custom-Header: value" \
998
+ --header "Authorization: Bearer token"
999
+ ```
1000
+
1001
+ **Options:**
1002
+
1003
+ - `<url>` (required) - The full URL of the x402 endpoint
1004
+ - `-m, --method <method>` - HTTP method: GET, POST, PUT, DELETE, or PATCH (default: POST)
1005
+ - `-b, --body <body>` - Request body as JSON string, or `-` to read from stdin
1006
+ - `-H, --header <header>` - Additional HTTP headers (format: "Key: Value"), can be specified multiple times
1007
+ - `-k, --private-key <key>` - Override private key (optional)
1008
+
1009
+ **Response:**
1010
+
1011
+ The command returns:
1012
+
1013
+ - HTTP status code and status text
1014
+ - Response headers
1015
+ - Response body (parsed as JSON if possible, otherwise raw text)
1016
+
1017
+ **Payment:**
1018
+
1019
+ The command automatically handles x402 payment flows. If the endpoint requires payment, the command will:
1020
+
1021
+ 1. Receive a 402 Payment Required response
1022
+ 2. Generate a payment signature
1023
+ 3. Retry the request with the payment header
1024
+ 4. Return the final response
1025
+
1026
+ **Cost:** Varies by endpoint (determined by the x402 endpoint you're calling)
1027
+
1028
+ **Examples:**
1029
+
1030
+ ```bash
1031
+ # Call a paid API endpoint
1032
+ httpcat call https://api.example.com/compute --method POST --body '{"input": "data"}'
1033
+
1034
+ # Make a GET request
1035
+ httpcat call https://api.example.com/status --method GET
1036
+
1037
+ # Pipe JSON from file
1038
+ cat request.json | httpcat call https://api.example.com/process --body -
1039
+
1040
+ # With authentication header
1041
+ httpcat call https://api.example.com/protected \
1042
+ --header "Authorization: Bearer your-token" \
1043
+ --method GET
1044
+ ```
1045
+
674
1046
  ### Chat
675
1047
 
676
1048
  Start streaming chat with the httpcat community. Join general chat or token-specific discussions.
@@ -847,131 +1219,543 @@ httpcat config -s # Show current config (JSON)
847
1219
  httpcat config -S network=base # Update a setting
848
1220
  ```
849
1221
 
850
- ### MCP Server
1222
+ ### Sign
851
1223
 
852
- Start the Model Context Protocol server for AI assistant integration.
1224
+ Cryptographic signing operations for messages, files, transactions, and structured data.
853
1225
 
854
- **CLI:**
1226
+ **Interactive:**
855
1227
 
856
1228
  ```bash
857
- httpcat mcp-server
1229
+ httpcat> sign # Enter interactive signing mode
858
1230
  ```
859
1231
 
860
- **Description:**
1232
+ **CLI:**
861
1233
 
862
- Starts an MCP server that exposes all httpcat CLI commands as MCP tools. The server communicates via stdio and can be used with MCP clients like Cursor or Claude Desktop.
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
863
1239
 
864
- **Configuration:**
1240
+ # Sign a file
1241
+ httpcat sign file document.pdf
1242
+ httpcat sign file document.pdf --hash-algorithm keccak256
865
1243
 
866
- Add to your MCP client config:
1244
+ # Sign a transaction
1245
+ httpcat sign transaction '{"to":"0x...","value":"1000000000000000000"}'
867
1246
 
868
- ```json
869
- {
870
- "mcpServers": {
871
- "httpcat": {
872
- "command": "npx",
873
- "args": ["-y", "httpcat-cli", "mcp-server"],
874
- "env": {
875
- "HTTPCAT_PRIVATE_KEY": "0x..." // Optional
876
- }
877
- }
878
- }
879
- }
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!"
880
1258
  ```
881
1259
 
882
- See the [MCP Server section](#mcp-server-model-context-protocol) for detailed documentation.
1260
+ **Subcommands:**
883
1261
 
884
- ## Headless Mode (JSON Output)
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
885
1269
 
886
- Perfect for scripting, automation, or LLM/agent integration.
1270
+ **Options:**
887
1271
 
888
- ### JSON Output
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)
889
1280
 
890
- Add `-j, --json` flag to any command:
1281
+ **Examples:**
891
1282
 
892
1283
  ```bash
893
- $ httpcat -j create "Test Token" "TEST"
894
- {
895
- "success": true,
896
- "operation": "create_token",
897
- "data": {
898
- "tokenId": "abc123-4567-89ab-cdef-0123456789ab",
899
- "tokenAddress": "0x789abcdef123...",
900
- "name": "Test Token",
901
- "symbol": "TEST",
902
- "totalSupply": "1000000000000000000000000000",
903
- "status": "active",
904
- "createdAt": "2025-11-22T10:30:00.000Z",
905
- "entrypointKey": "create_token_..."
906
- },
907
- "payment": {
908
- "txHash": "0x1234567890abcdef..."
909
- }
910
- }
911
- ```
1284
+ # Sign a message and verify
1285
+ httpcat sign message "Hello, world!" --verify
912
1286
 
913
- ### JSON Output Schema
1287
+ # Sign a file and save to output file
1288
+ httpcat sign file document.pdf --output signature.json
914
1289
 
915
- All commands with `--json` flag return structured JSON responses. The output follows a consistent schema:
1290
+ # Sign with different format
1291
+ httpcat sign message "Test" --format rsv
916
1292
 
917
- #### Success Response
1293
+ # Sign Permit2 with auto-generated nonce and deadline
1294
+ httpcat sign permit2 --token 0x... --amount 1000000 --spender 0x...
918
1295
 
919
- ```json
920
- {
921
- "success": true,
922
- "operation": "operation_name",
923
- "data": {
924
- // Operation-specific data (see below)
925
- },
926
- "payment": {
927
- "txHash": "0x...", // Optional: transaction hash if payment was made
928
- "amount": "0.01" // Optional: payment amount
929
- }
930
- }
1296
+ # Verify an EIP-712 signature
1297
+ httpcat sign verify --signature 0x... --message '{}' --type eip712 \
1298
+ --domain '{"name":"MyApp"}' --types '{}' --primary-type Message
931
1299
  ```
932
1300
 
933
- #### Error Response
1301
+ **Cost:** $0.001 USDC per signature preparation (signing is done locally)
934
1302
 
935
- ```json
936
- {
937
- "success": false,
938
- "operation": "operation_name",
939
- "error": {
940
- "message": "Human-readable error message",
941
- "code": 1, // Exit code (see Exit Codes section)
942
- "details": {
943
- // Optional: Additional error details
944
- // May contain nested error objects from the API
945
- }
946
- }
947
- }
948
- ```
1303
+ **Note:** Signatures are created locally using your private key. The backend only prepares the signature data; actual signing happens client-side for security.
949
1304
 
950
- #### Operation-Specific Data Structures
1305
+ ## Command Groups
951
1306
 
952
- **Create Token (`create_token`)**
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.
953
1308
 
954
- ```json
955
- {
956
- "tokenId": "uuid-string",
957
- "tokenAddress": "0x...",
958
- "name": "Token Name",
959
- "symbol": "SYMBOL",
960
- "totalSupply": "1000000000000000000000000000",
961
- "status": "active",
962
- "createdAt": "2025-11-22T10:30:00.000Z",
963
- "entrypointKey": "create_token_..."
964
- }
965
- ```
1309
+ ### Launchpad (`launchpad` or `lp`)
966
1310
 
967
- **Buy Token (`token_buy`)**
1311
+ Token creation and trading on the bonding curve.
968
1312
 
969
- ```json
970
- {
971
- "tokenId": "uuid-string",
972
- "tokensReceived": "50000",
973
- "amountSpent": "5.00",
974
- "fee": "0.05",
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
+
1634
+ ### MCP Server
1635
+
1636
+ Start the Model Context Protocol server for AI assistant integration.
1637
+
1638
+ **CLI:**
1639
+
1640
+ ```bash
1641
+ httpcat mcp start
1642
+ ```
1643
+
1644
+ **Description:**
1645
+
1646
+ Starts an MCP server that exposes all httpcat CLI commands as MCP tools. The server communicates via stdio and can be used with MCP clients like Cursor or Claude Desktop.
1647
+
1648
+ **Configuration:**
1649
+
1650
+ Add to your MCP client config:
1651
+
1652
+ ```json
1653
+ {
1654
+ "mcpServers": {
1655
+ "httpcat": {
1656
+ "command": "npx",
1657
+ "args": ["-y", "httpcat-cli", "mcp", "start"],
1658
+ "env": {
1659
+ "HTTPCAT_PRIVATE_KEY": "0x..." // Optional
1660
+ }
1661
+ }
1662
+ }
1663
+ }
1664
+ ```
1665
+
1666
+ See the [MCP Server section](#mcp-server-model-context-protocol) for detailed documentation.
1667
+
1668
+ ## Headless Mode (JSON Output)
1669
+
1670
+ Perfect for scripting, automation, or LLM/agent integration.
1671
+
1672
+ ### JSON Output
1673
+
1674
+ Add `-j, --json` flag to any command:
1675
+
1676
+ ```bash
1677
+ $ httpcat -j create "Test Token" "TEST"
1678
+ {
1679
+ "success": true,
1680
+ "operation": "create_token",
1681
+ "data": {
1682
+ "tokenId": "abc123-4567-89ab-cdef-0123456789ab",
1683
+ "tokenAddress": "0x789abcdef123...",
1684
+ "name": "Test Token",
1685
+ "symbol": "TEST",
1686
+ "totalSupply": "1000000000000000000000000000",
1687
+ "status": "active",
1688
+ "createdAt": "2025-11-22T10:30:00.000Z",
1689
+ "entrypointKey": "create_token_..."
1690
+ },
1691
+ "payment": {
1692
+ "txHash": "0x1234567890abcdef..."
1693
+ }
1694
+ }
1695
+ ```
1696
+
1697
+ ### JSON Output Schema
1698
+
1699
+ All commands with `--json` flag return structured JSON responses. The output follows a consistent schema:
1700
+
1701
+ #### Success Response
1702
+
1703
+ ```json
1704
+ {
1705
+ "success": true,
1706
+ "operation": "operation_name",
1707
+ "data": {
1708
+ // Operation-specific data (see below)
1709
+ },
1710
+ "payment": {
1711
+ "txHash": "0x...", // Optional: transaction hash if payment was made
1712
+ "amount": "0.01" // Optional: payment amount
1713
+ }
1714
+ }
1715
+ ```
1716
+
1717
+ #### Error Response
1718
+
1719
+ ```json
1720
+ {
1721
+ "success": false,
1722
+ "operation": "operation_name",
1723
+ "error": {
1724
+ "message": "Human-readable error message",
1725
+ "code": 1, // Exit code (see Exit Codes section)
1726
+ "details": {
1727
+ // Optional: Additional error details
1728
+ // May contain nested error objects from the API
1729
+ }
1730
+ }
1731
+ }
1732
+ ```
1733
+
1734
+ #### Operation-Specific Data Structures
1735
+
1736
+ **Create Token (`create_token`)**
1737
+
1738
+ ```json
1739
+ {
1740
+ "tokenId": "uuid-string",
1741
+ "tokenAddress": "0x...",
1742
+ "name": "Token Name",
1743
+ "symbol": "SYMBOL",
1744
+ "totalSupply": "1000000000000000000000000000",
1745
+ "status": "active",
1746
+ "createdAt": "2025-11-22T10:30:00.000Z",
1747
+ "entrypointKey": "create_token_..."
1748
+ }
1749
+ ```
1750
+
1751
+ **Buy Token (`token_buy`)**
1752
+
1753
+ ```json
1754
+ {
1755
+ "tokenId": "uuid-string",
1756
+ "tokensReceived": "50000",
1757
+ "amountSpent": "5.00",
1758
+ "fee": "0.05",
975
1759
  "newPrice": "0.0002",
976
1760
  "newMarketCap": "200000",
977
1761
  "graduationProgress": 0.15,
@@ -1093,7 +1877,7 @@ All commands with `--json` flag return structured JSON responses. The output fol
1093
1877
  {
1094
1878
  "status": "ok",
1095
1879
  "timestamp": "2025-11-22T10:30:00.000Z",
1096
- "agent": "https://agent.402.cat"
1880
+ "agent": "https://agent-test.402.cat"
1097
1881
  }
1098
1882
  ```
1099
1883
 
@@ -1114,7 +1898,7 @@ All commands with `--json` flag return structured JSON responses. The output fol
1114
1898
  ```json
1115
1899
  {
1116
1900
  "name": "httpcat-cli",
1117
- "version": "0.0.8"
1901
+ "version": "0.3.0"
1118
1902
  }
1119
1903
  ```
1120
1904
 
@@ -1185,18 +1969,47 @@ httpcat includes a built-in MCP server that exposes all CLI commands as MCP tool
1185
1969
  **Start the MCP server:**
1186
1970
 
1187
1971
  ```bash
1188
- httpcat mcp-server
1972
+ httpcat mcp start
1189
1973
  ```
1190
1974
 
1191
1975
  **Or use npx (no installation needed):**
1192
1976
 
1193
1977
  ```bash
1194
- npx httpcat-cli mcp-server
1978
+ npx httpcat-cli mcp start
1195
1979
  ```
1196
1980
 
1197
- ### 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
+ # Interactive installation (select which LLMs to configure)
1987
+ httpcat mcp install
1988
+
1989
+ # Install for specific LLM
1990
+ httpcat mcp install claude-cli
1991
+
1992
+ # Install for Cursor IDE
1993
+ httpcat mcp install cursor
1994
+
1995
+ # Install for Claude Desktop
1996
+ httpcat mcp install claude-desktop
1997
+
1998
+ # Install for all detected LLMs
1999
+ httpcat mcp install --all
2000
+ ```
2001
+
2002
+ The installer will:
2003
+
2004
+ 1. Check if wallet is configured (runs onboarding if needed)
2005
+ 2. Automatically configure your LLM CLI with MCP server
2006
+ 3. Provide next steps and example system prompt
1198
2007
 
1199
- Add the httpcat MCP server to your MCP client configuration:
2008
+ **Note**: Private key is NOT included in MCP config - the server reads from `~/.config/httpcat/config.json` automatically.
2009
+
2010
+ ### Manual Configuration
2011
+
2012
+ If you prefer to configure manually, add to your MCP client config:
1200
2013
 
1201
2014
  #### For Cursor
1202
2015
 
@@ -1207,10 +2020,7 @@ Add to your Cursor settings (`.cursor/mcp.json` or settings UI):
1207
2020
  "mcpServers": {
1208
2021
  "httpcat": {
1209
2022
  "command": "npx",
1210
- "args": ["-y", "httpcat-cli", "mcp-server"],
1211
- "env": {
1212
- "HTTPCAT_PRIVATE_KEY": "0x..." // Optional - can also pass via tool params
1213
- }
2023
+ "args": ["-y", "httpcat-cli", "mcp-server"]
1214
2024
  }
1215
2025
  }
1216
2026
  }
@@ -1225,10 +2035,7 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
1225
2035
  "mcpServers": {
1226
2036
  "httpcat": {
1227
2037
  "command": "npx",
1228
- "args": ["-y", "httpcat-cli", "mcp-server"],
1229
- "env": {
1230
- "HTTPCAT_PRIVATE_KEY": "0x..."
1231
- }
2038
+ "args": ["-y", "httpcat-cli", "mcp-server"]
1232
2039
  }
1233
2040
  }
1234
2041
  }
@@ -1243,15 +2050,14 @@ If you've installed httpcat globally:
1243
2050
  "mcpServers": {
1244
2051
  "httpcat": {
1245
2052
  "command": "httpcat",
1246
- "args": ["mcp-server"],
1247
- "env": {
1248
- "HTTPCAT_PRIVATE_KEY": "0x..."
1249
- }
2053
+ "args": ["mcp-server"]
1250
2054
  }
1251
2055
  }
1252
2056
  }
1253
2057
  ```
1254
2058
 
2059
+ **Important**: No `HTTPCAT_PRIVATE_KEY` in env - the MCP server automatically reads from `~/.config/httpcat/config.json`.
2060
+
1255
2061
  ### Available MCP Tools
1256
2062
 
1257
2063
  The MCP server exposes the following tools:
@@ -1461,6 +2267,334 @@ Get paginated transaction history with filtering options.
1461
2267
 
1462
2268
  **Cost:** Varies based on API call
1463
2269
 
2270
+ #### `swap_tokens`
2271
+
2272
+ Swap tokens using universal swap with best route aggregation.
2273
+
2274
+ **Parameters:**
2275
+
2276
+ - `tokenIn` (string, required) - Token to swap from (address, name, or symbol)
2277
+ - `tokenOut` (string, required) - Token to swap to (address, name, or symbol)
2278
+ - `amount` (string, required) - Amount to swap (human-readable, e.g., '100' for 100 tokens)
2279
+ - `slippageBps` (number, optional) - Slippage tolerance in basis points (default: 50 = 0.5%)
2280
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2281
+
2282
+ **Returns:** Swap execution details including provider, amounts, gas estimate, and transaction hash
2283
+
2284
+ **Cost:** $0.10 USDC
2285
+
2286
+ #### `shielded_swap`
2287
+
2288
+ MEV-protected swap using UniswapX Dutch auction.
2289
+
2290
+ **Parameters:**
2291
+
2292
+ - `tokenIn` (string, required) - Token to swap from (address, name, or symbol)
2293
+ - `tokenOut` (string, required) - Token to swap to (address, name, or symbol)
2294
+ - `amount` (string, required) - Amount to swap (human-readable)
2295
+ - `slippageBps` (number, optional) - Slippage tolerance in basis points (default: 50 = 0.5%)
2296
+ - `privateKey` (string, required) - Private key for signing
2297
+
2298
+ **Returns:** Shielded swap order details and submission status
2299
+
2300
+ **Cost:** $1.00 USDC
2301
+
2302
+ #### `gasless_swap_quote`
2303
+
2304
+ Get gasless swap quotes from multiple providers without paying gas.
2305
+
2306
+ **Parameters:**
2307
+
2308
+ - `tokenIn` (string, required) - Token address to swap from
2309
+ - `tokenOut` (string, required) - Token address to swap to
2310
+ - `amount` (string, required) - Amount in smallest units
2311
+ - `taker` (string, required) - Taker address (wallet receiving tokens)
2312
+ - `slippageBps` (number, optional) - Slippage tolerance in basis points
2313
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2314
+
2315
+ **Returns:** Array of quotes from different providers with prices and routes
2316
+
2317
+ **Cost:** FREE
2318
+
2319
+ #### `gasless_swap_status`
2320
+
2321
+ Check the status of a 0x gasless swap.
2322
+
2323
+ **Parameters:**
2324
+
2325
+ - `tradeHash` (string, required) - Trade hash from gasless swap
2326
+ - `chainId` (number, optional) - Chain ID (defaults to configured network)
2327
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2328
+
2329
+ **Returns:** Swap status including confirmation status and transaction details
2330
+
2331
+ **Cost:** FREE
2332
+
2333
+ #### `gasless_swap_submit`
2334
+
2335
+ Submit a signed 0x gasless swap trade.
2336
+
2337
+ **Parameters:**
2338
+
2339
+ - `trade` (object, required) - Signed trade object from 0x API
2340
+ - `chainId` (number, optional) - Chain ID
2341
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2342
+
2343
+ **Returns:** Submission status and trade hash
2344
+
2345
+ **Cost:** $0.01 USDC
2346
+
2347
+ #### `gasless_swap_submit_our`
2348
+
2349
+ Submit gasless swap using our executor.
2350
+
2351
+ **Parameters:**
2352
+
2353
+ - `tokenIn` (string, required) - Input token address
2354
+ - `tokenOut` (string, required) - Output token address
2355
+ - `totalAmount` (string, required) - Total amount in smallest units
2356
+ - `feeAmount` (string, required) - Fee amount in smallest units
2357
+ - `taker` (string, required) - Taker address
2358
+ - `permit2Signature` (string, required) - Permit2 signature
2359
+ - `permitNonce` (number, required) - Permit nonce
2360
+ - `permitDeadline` (number, required) - Permit deadline timestamp
2361
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2362
+
2363
+ **Returns:** Execution status and transaction details
2364
+
2365
+ **Cost:** $0.01 USDC
2366
+
2367
+ #### `perps_markets`
2368
+
2369
+ Get available perpetual futures markets across multiple venues.
2370
+
2371
+ **Parameters:**
2372
+
2373
+ - `platform` (string, optional) - Filter by platform: "hyperliquid", "avantis", or "aster"
2374
+ - `symbol` (string, optional) - Filter by symbol substring (e.g., "BTC")
2375
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2376
+
2377
+ **Returns:** Array of markets with price, funding rate, open interest, and max leverage
2378
+
2379
+ **Cost:** $0.01 USDC
2380
+
2381
+ #### `perps_onboard`
2382
+
2383
+ One-time setup to connect wallet to perps trading venues.
2384
+
2385
+ **Parameters:**
2386
+
2387
+ - `wallet` (string, required) - Wallet address to onboard
2388
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2389
+
2390
+ **Returns:** Setup instructions for each venue including required signatures and transactions
2391
+
2392
+ **Cost:** FREE
2393
+
2394
+ #### `perps_deposit`
2395
+
2396
+ Get deposit options for USDC to perps trading venues.
2397
+
2398
+ **Parameters:**
2399
+
2400
+ - `amount` (string, required) - USDC amount to deposit (human-readable, e.g., "100")
2401
+ - `wallet` (string, required) - Wallet address
2402
+ - `venue` (string, optional) - Preferred venue
2403
+ - `chain` (string, optional) - Source chain (default: "base")
2404
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2405
+
2406
+ **Returns:** Deposit options for each venue with instructions and transaction data
2407
+
2408
+ **Cost:** FREE
2409
+
2410
+ #### `perps_trade`
2411
+
2412
+ Open or close perpetual positions with auto-routing to best venue.
2413
+
2414
+ **Parameters:**
2415
+
2416
+ - `market` (string, required) - Market to trade (e.g., "BTC", "ETH", "SOL")
2417
+ - `side` (string, required) - "long" or "short"
2418
+ - `sizeUsd` (string, required) - Position size in USD (minimum $10)
2419
+ - `leverage` (number, required) - Leverage multiplier (1-100x)
2420
+ - `wallet` (string, required) - Wallet address
2421
+ - `orderType` (string, optional) - "market" or "limit" (default: "market")
2422
+ - `price` (string, optional) - Limit price for limit orders
2423
+ - `takeProfit` (string, optional) - Take profit price
2424
+ - `stopLoss` (string, optional) - Stop loss price
2425
+ - `reduceOnly` (boolean, optional) - Close existing position only (default: false)
2426
+ - `venue` (string, optional) - Force specific venue
2427
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2428
+
2429
+ **Returns:** Trade execution details including venue, entry price, liquidation price, and fees
2430
+
2431
+ **Cost:** $0.05 USDC
2432
+
2433
+ #### `perps_positions`
2434
+
2435
+ View all open perpetual positions across venues.
2436
+
2437
+ **Parameters:**
2438
+
2439
+ - `wallet` (string, required) - Wallet address
2440
+ - `venue` (string, optional) - Filter by venue
2441
+ - `asterApiKey` (string, optional) - Aster API key (required for Aster positions)
2442
+ - `asterApiSecret` (string, optional) - Aster API secret (required for Aster positions)
2443
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2444
+
2445
+ **Returns:** Array of open positions with unrealized P&L, margin, and portfolio summary
2446
+
2447
+ **Cost:** $0.01 USDC
2448
+
2449
+ #### `predictions_markets`
2450
+
2451
+ Browse prediction markets from Polymarket and Azuro.
2452
+
2453
+ **Parameters:**
2454
+
2455
+ - `venue` (string, optional) - Filter by "polymarket" or "azuro"
2456
+ - `category` (string, optional) - Category like "politics", "crypto", "sports"
2457
+ - `limit` (number, optional) - Max results (default: 20, max: 100)
2458
+ - `sort` (string, optional) - Sort by "volume", "trending", or "ending_soon"
2459
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2460
+
2461
+ **Returns:** Array of markets with outcomes, volume, and liquidity
2462
+
2463
+ **Cost:** $0.01 USDC
2464
+
2465
+ #### `predictions_market`
2466
+
2467
+ Get detailed information about a specific prediction market.
2468
+
2469
+ **Parameters:**
2470
+
2471
+ - `marketId` (string, required) - Market ID in format "venue:id" (e.g., "polymarket:abc123")
2472
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2473
+
2474
+ **Returns:** Market details with outcomes, probabilities, volume, and trading info
2475
+
2476
+ **Cost:** $0.01 USDC
2477
+
2478
+ #### `predictions_search`
2479
+
2480
+ Search prediction markets by keyword.
2481
+
2482
+ **Parameters:**
2483
+
2484
+ - `query` (string, required) - Search keyword
2485
+ - `venue` (string, optional) - Filter by venue
2486
+ - `limit` (number, optional) - Max results (default: 20, max: 50)
2487
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2488
+
2489
+ **Returns:** Matching markets with relevance scores
2490
+
2491
+ **Cost:** $0.01 USDC
2492
+
2493
+ #### `predictions_bet`
2494
+
2495
+ Place a bet on a prediction market outcome.
2496
+
2497
+ **Parameters:**
2498
+
2499
+ - `marketId` (string, required) - Market ID in "venue:id" format
2500
+ - `outcomeId` (string, required) - Which outcome to bet on
2501
+ - `amountUsd` (number, required) - Bet amount in USD
2502
+ - `wallet` (string, required) - Wallet address
2503
+ - `polymarketApiKey` (string, optional) - Polymarket CLOB API key
2504
+ - `polymarketApiSecret` (string, optional) - Polymarket CLOB API secret
2505
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2506
+
2507
+ **Returns:** Bet details and transaction/order information
2508
+
2509
+ **Cost:** $0.05 USDC
2510
+
2511
+ #### `predictions_detect_arbs`
2512
+
2513
+ Scan for arbitrage opportunities across prediction venues.
2514
+
2515
+ **Parameters:**
2516
+
2517
+ - `minSpreadPct` (number, optional) - Minimum spread percentage (default: 1.0%)
2518
+ - `venues` (array, optional) - Specific venues to scan
2519
+ - `cryptoOnly` (boolean, optional) - Focus on crypto markets
2520
+ - `maxResults` (number, optional) - Max results (default: 20)
2521
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2522
+
2523
+ **Returns:** Array of arbitrage opportunities with expected profit and execution details
2524
+
2525
+ **Cost:** FREE
2526
+
2527
+ #### `predictions_calculate_hedge`
2528
+
2529
+ Calculate optimal perpetual hedge for a prediction market position.
2530
+
2531
+ **Parameters:**
2532
+
2533
+ - `marketA` (object, required) - First market details
2534
+ - `marketB` (object, required) - Second market details
2535
+ - `positionSizeUsd` (number, required) - Position size
2536
+ - `currentPrice` (number, required) - Current asset price
2537
+ - `fundingRate8h` (number, optional) - Funding rate (default: 0.01%)
2538
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2539
+
2540
+ **Returns:** Hedge strategy with direction, size, duration, costs, and expected profit
2541
+
2542
+ **Cost:** FREE
2543
+
2544
+ #### `predictions_execute_arb`
2545
+
2546
+ Execute complete arbitrage trade with optional perpetual hedge.
2547
+
2548
+ **Parameters:**
2549
+
2550
+ - `marketA` (object, required) - First market details
2551
+ - `marketB` (object, required) - Second market details
2552
+ - `positionSizeUsd` (number, required) - Position size for each leg
2553
+ - `autoHedge` (boolean, optional) - Enable automatic hedge (default: true)
2554
+ - `maxSlippagePct` (number, optional) - Max slippage (default: 2%)
2555
+ - `currentPrice` (number, optional) - For hedge calculation
2556
+ - `wallet` (string, required) - Wallet address
2557
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2558
+
2559
+ **Returns:** Execution details for both legs, hedge info, and profit summary
2560
+
2561
+ **Cost:** $0.20 USDC
2562
+
2563
+ #### `predictions_detect_insiders`
2564
+
2565
+ Detect sophisticated traders via wallet graph analysis.
2566
+
2567
+ **Parameters:**
2568
+
2569
+ - `timeWindowMinutes` (number, optional) - Analysis time window (default: 5)
2570
+ - `minTrades` (number, optional) - Minimum trades (default: 5)
2571
+ - `minSimilarity` (number, optional) - Min Jaccard similarity (default: 0.1)
2572
+ - `includeCommunities` (boolean, optional) - Include copytrade clusters (default: true)
2573
+ - `maxResults` (number, optional) - Max results (default: 50)
2574
+ - `assetFilter` (string, optional) - Filter by asset like "BTC"
2575
+ - `trades` (array, optional) - Historical trade data
2576
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2577
+
2578
+ **Returns:** Detected arbitrageurs, market leaders, and copytrade communities
2579
+
2580
+ **Cost:** $5.00 USDC
2581
+
2582
+ #### `rpc_proxy`
2583
+
2584
+ JSON-RPC proxy for Ethereum/Base blockchain calls.
2585
+
2586
+ **Parameters:**
2587
+
2588
+ - `jsonrpc` (string, required) - JSON-RPC version (typically "2.0")
2589
+ - `id` (number, required) - Request ID
2590
+ - `method` (string, required) - RPC method (e.g., 'eth_blockNumber', 'eth_getBalance')
2591
+ - `params` (array, required) - Method parameters
2592
+ - `privateKey` (string, optional) - Private key (overrides config/env)
2593
+
2594
+ **Returns:** Standard JSON-RPC response with result or error
2595
+
2596
+ **Cost:** $0.05 USDC per request
2597
+
1464
2598
  ### Chat Tools Usage Example
1465
2599
 
1466
2600
  Here's how an AI agent like Claude Code would use the chat tools:
@@ -1502,13 +2636,27 @@ const renewal = await mcp.callTool("chat_renew_lease", {
1502
2636
 
1503
2637
  ### Private Key Configuration
1504
2638
 
1505
- Private keys can be configured in three ways (priority order):
2639
+ Private keys are automatically read from the httpcat config file (`~/.config/httpcat/config.json`).
2640
+
2641
+ **Priority order** (if you need to override):
1506
2642
 
1507
2643
  1. **Tool parameter** - Pass `privateKey` in each tool call (highest priority)
1508
- 2. **Environment variable** - Set `HTTPCAT_PRIVATE_KEY` in the MCP client config
1509
- 3. **Config file** - Use `httpcat config` to set up `~/.config/httpcat/config.json`
2644
+ 2. **Environment variable** - Set `HTTPCAT_PRIVATE_KEY` (for backward compatibility)
2645
+ 3. **Config file** - Default: `~/.config/httpcat/config.json` (recommended)
2646
+
2647
+ **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.
1510
2648
 
1511
- **Security Recommendation:** Use the environment variable in your MCP client config rather than passing it in each tool call.
2649
+ ### Onboarding
2650
+
2651
+ If no wallet is configured when the MCP server starts, it will run an interactive onboarding flow:
2652
+
2653
+ 1. **Generate new wallet** - Creates a seed phrase (recommended for new users)
2654
+ 2. **Import seed phrase** - Import existing 12/24 word seed phrase
2655
+ 3. **Import private key** - Import existing private key
2656
+
2657
+ The onboarding runs automatically via stdio, so it works seamlessly with LLM CLI tools.
2658
+
2659
+ See [MCP Onboarding Guide](docs/MCP_ONBOARDING.md) for detailed information.
1512
2660
 
1513
2661
  ### Example MCP Tool Usage
1514
2662
 
@@ -1552,13 +2700,41 @@ All MCP tools return structured JSON responses matching the CLI's JSON output fo
1552
2700
  }
1553
2701
  ```
1554
2702
 
2703
+ ### MCP Resources
2704
+
2705
+ The MCP server provides resources for static data:
2706
+
2707
+ - `httpcat://tokens/list` - Cached token list with market data
2708
+ - `httpcat://network/status` - Network status and configuration
2709
+ - `httpcat://ecosystem/info` - Ecosystem information and token economics
2710
+
2711
+ Resources are cached (5 minute TTL) for faster access.
2712
+
2713
+ ### MCP Prompts
2714
+
2715
+ System prompts available for LLM agents:
2716
+
2717
+ - `ecosystem_context` - Comprehensive ecosystem information
2718
+ - `system_prompt` - Suggested system prompt for configuring agents
2719
+
2720
+ ### Enhanced Tool Descriptions
2721
+
2722
+ All tools include:
2723
+
2724
+ - 💰 Cost information
2725
+ - 📝 Usage examples
2726
+ - 💡 Tips and best practices
2727
+ - Detailed parameter descriptions
2728
+
1555
2729
  ### Benefits
1556
2730
 
1557
2731
  - **No Shell Access Required** - AI assistants can interact with httpcat without needing shell/terminal access
1558
2732
  - **Structured Responses** - Consistent JSON output format for reliable parsing
1559
- - **Secure** - Private keys can be managed via environment variables or config
2733
+ - **Secure** - Private keys stored locally, never in LLM config files
2734
+ - **Automatic Onboarding** - Interactive setup when wallet not configured
1560
2735
  - **Always Up-to-Date** - Using `npx` ensures you always get the latest version
1561
- - **Zero Configuration** - Works out of the box with standard MCP clients
2736
+ - **Zero Configuration** - Automated installation with `mcp-install` command
2737
+ - **Rich Context** - Resources and prompts provide ecosystem information
1562
2738
 
1563
2739
  ## Advanced Usage
1564
2740
 
@@ -1615,7 +2791,7 @@ Updates an existing environment's agent URL and optionally its network.
1615
2791
  #### Predefined Environments
1616
2792
 
1617
2793
  - **local** - `http://localhost:8787` (eip155:84532)
1618
- - **sepolia** - `https://agent.402.cat` (eip155:84532)
2794
+ - **sepolia** - `https://agent-test.402.cat` (eip155:84532)
1619
2795
 
1620
2796
  #### Environment Priority
1621
2797
 
@@ -1699,7 +2875,7 @@ Config is stored at `~/.config/httpcat/config.json`:
1699
2875
  ],
1700
2876
  "activeAccountIndex": 0,
1701
2877
  "network": "eip155:84532",
1702
- "agentUrl": "https://agent.402.cat",
2878
+ "agentUrl": "https://agent-test.402.cat",
1703
2879
  "facilitatorUrl": "https://facilitators.x402scan.com",
1704
2880
  "defaultMaxPayment": "10.00",
1705
2881
  "environment": "base-sepolia",
@@ -1711,7 +2887,7 @@ Config is stored at `~/.config/httpcat/config.json`:
1711
2887
  },
1712
2888
  "base-sepolia": {
1713
2889
  "name": "base-sepolia",
1714
- "agentUrl": "https://agent.402.cat",
2890
+ "agentUrl": "https://agent-test.402.cat",
1715
2891
  "network": "eip155:84532"
1716
2892
  }
1717
2893
  },
@@ -1916,5 +3092,5 @@ MIT
1916
3092
  ## Support
1917
3093
 
1918
3094
  - Report issues: https://github.com/hathbanger/httpcat-cli/issues
1919
- - httpcat agent: https://agent.402.cat
3095
+ - httpcat agent: https://agent-test.402.cat
1920
3096
  - x402 protocol: https://x402.org