httpcat-cli 0.3.1 → 0.3.3

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 (451) hide show
  1. package/.github/workflows/release.yml +5 -0
  2. package/.github/workflows/sync-version.yml +11 -3
  3. package/README.md +182 -2989
  4. package/brand-assets/png/expressions/compact-160-dark.png +0 -0
  5. package/brand-assets/png/expressions/compact-160-light.png +0 -0
  6. package/brand-assets/png/expressions/compact-320-dark.png +0 -0
  7. package/brand-assets/png/expressions/compact-320-light.png +0 -0
  8. package/brand-assets/png/expressions/default-160-dark.png +0 -0
  9. package/brand-assets/png/expressions/default-160-light.png +0 -0
  10. package/brand-assets/png/expressions/default-320-dark.png +0 -0
  11. package/brand-assets/png/expressions/default-320-light.png +0 -0
  12. package/brand-assets/png/expressions/minimal-160-dark.png +0 -0
  13. package/brand-assets/png/expressions/minimal-160-light.png +0 -0
  14. package/brand-assets/png/expressions/minimal-320-dark.png +0 -0
  15. package/brand-assets/png/expressions/minimal-320-light.png +0 -0
  16. package/brand-assets/png/expressions/pointy-160-dark.png +0 -0
  17. package/brand-assets/png/expressions/pointy-160-light.png +0 -0
  18. package/brand-assets/png/expressions/pointy-320-dark.png +0 -0
  19. package/brand-assets/png/expressions/pointy-320-light.png +0 -0
  20. package/brand-assets/png/expressions/simplified-160-dark.png +0 -0
  21. package/brand-assets/png/expressions/simplified-160-light.png +0 -0
  22. package/brand-assets/png/expressions/simplified-320-dark.png +0 -0
  23. package/brand-assets/png/expressions/simplified-320-light.png +0 -0
  24. package/brand-assets/png/expressions/winking-160-dark.png +0 -0
  25. package/brand-assets/png/expressions/winking-160-light.png +0 -0
  26. package/brand-assets/png/expressions/winking-320-dark.png +0 -0
  27. package/brand-assets/png/expressions/winking-320-light.png +0 -0
  28. package/brand-assets/png/favicon/apple-touch-180-dark.png +0 -0
  29. package/brand-assets/png/favicon/apple-touch-180-light.png +0 -0
  30. package/brand-assets/png/favicon/favicon-16-dark.png +0 -0
  31. package/brand-assets/png/favicon/favicon-16-light.png +0 -0
  32. package/brand-assets/png/favicon/favicon-180-dark.png +0 -0
  33. package/brand-assets/png/favicon/favicon-180-light.png +0 -0
  34. package/brand-assets/png/favicon/favicon-32-dark.png +0 -0
  35. package/brand-assets/png/favicon/favicon-32-light.png +0 -0
  36. package/brand-assets/png/favicon/favicon-48-dark.png +0 -0
  37. package/brand-assets/png/favicon/favicon-48-light.png +0 -0
  38. package/brand-assets/png/favicon/v6-minimal-32-dark.png +0 -0
  39. package/brand-assets/png/favicon/v6-minimal-32-light.png +0 -0
  40. package/brand-assets/png/mark/v11-pointy-400-dark.png +0 -0
  41. package/brand-assets/png/mark/v11-pointy-400-light.png +0 -0
  42. package/brand-assets/png/mark/v12-ears-only-160-dark.png +0 -0
  43. package/brand-assets/png/mark/v12-ears-only-160-light.png +0 -0
  44. package/brand-assets/png/mark/v12-ears-only-320-dark.png +0 -0
  45. package/brand-assets/png/mark/v12-ears-only-320-light.png +0 -0
  46. package/brand-assets/png/mark/v12-ears-only-400-dark.png +0 -0
  47. package/brand-assets/png/mark/v12-ears-only-400-light.png +0 -0
  48. package/brand-assets/png/mark/v12-ears-only-80-dark.png +0 -0
  49. package/brand-assets/png/mark/v12-ears-only-80-light.png +0 -0
  50. package/brand-assets/png/mark/v5-ears-400-dark.png +0 -0
  51. package/brand-assets/png/mark/v5-ears-400-light.png +0 -0
  52. package/brand-assets/png/mark/v8-minimal-400-dark.png +0 -0
  53. package/brand-assets/png/mark/v8-minimal-400-light.png +0 -0
  54. package/brand-assets/png/og-1200x630-v2-dark.png +0 -0
  55. package/brand-assets/png/og-feral-a.png +0 -0
  56. package/brand-assets/png/og-feral-b.png +0 -0
  57. package/brand-assets/png/og-feral-c.png +0 -0
  58. package/brand-assets/png/og-feral-d.png +0 -0
  59. package/brand-assets/png/og-v2-variation-a.png +0 -0
  60. package/brand-assets/png/og-v2-variation-b.png +0 -0
  61. package/brand-assets/png/og-v2-variation-c.png +0 -0
  62. package/brand-assets/png/social/banner-cat-ticker-1500x500-dark.png +0 -0
  63. package/brand-assets/png/social/banner-cat-ticker-1500x500-light.png +0 -0
  64. package/brand-assets/png/social/og-v11-pointy-1200x630-dark.png +0 -0
  65. package/brand-assets/png/social/og-v11-pointy-1200x630-light.png +0 -0
  66. package/brand-assets/png/social/og-v12-ears-1200x630-dark.png +0 -0
  67. package/brand-assets/png/social/og-v12-ears-1200x630-light.png +0 -0
  68. package/brand-assets/png/social/og-v12-ears-1280x320-dark.png +0 -0
  69. package/brand-assets/png/social/og-v12-ticker-1200x630-dark.png +0 -0
  70. package/brand-assets/png/social/og-v12-ticker-1200x630-light.png +0 -0
  71. package/brand-assets/png/social/pfp-ears-400-dark.png +0 -0
  72. package/brand-assets/png/social/pfp-ears-400-light.png +0 -0
  73. package/brand-assets/png/social/twitter-banner-v11-1500x500-dark.png +0 -0
  74. package/brand-assets/png/social/twitter-pfp-400-dark.png +0 -0
  75. package/brand-assets/png/social/twitter-pfp-400-light.png +0 -0
  76. package/brand-assets/png/social/twitter-pfp-v11-400-dark.png +0 -0
  77. package/brand-assets/png/v12-ears-only-1000-dark.png +0 -0
  78. package/brand-assets/svg/Archive/402cat-banner-1200x400-dark.svg +13 -0
  79. package/brand-assets/svg/Archive/402cat-banner-1200x400-light.svg +13 -0
  80. package/brand-assets/svg/Archive/402cat-default-160-dark.svg +12 -0
  81. package/brand-assets/svg/Archive/402cat-default-160-light.svg +12 -0
  82. package/brand-assets/svg/Archive/402cat-excited-160-dark.svg +12 -0
  83. package/brand-assets/svg/Archive/402cat-excited-160-light.svg +12 -0
  84. package/brand-assets/svg/Archive/402cat-facilitator-160-dark.svg +12 -0
  85. package/brand-assets/svg/Archive/402cat-facilitator-160-light.svg +12 -0
  86. package/brand-assets/svg/Archive/402cat-facilitator-320-dark.svg +12 -0
  87. package/brand-assets/svg/Archive/402cat-facilitator-320-light.svg +12 -0
  88. package/brand-assets/svg/Archive/402cat-facilitator-80-dark.svg +12 -0
  89. package/brand-assets/svg/Archive/402cat-facilitator-80-light.svg +12 -0
  90. package/brand-assets/svg/Archive/402cat-favicon-16-dark.svg +10 -0
  91. package/brand-assets/svg/Archive/402cat-favicon-16-light.svg +10 -0
  92. package/brand-assets/svg/Archive/402cat-favicon-32-dark.svg +10 -0
  93. package/brand-assets/svg/Archive/402cat-favicon-32-light.svg +10 -0
  94. package/brand-assets/svg/Archive/402cat-og-1200x630-dark.svg +14 -0
  95. package/brand-assets/svg/Archive/402cat-og-1200x630-light.svg +14 -0
  96. package/brand-assets/svg/Archive/402cat-server-40-dark.svg +11 -0
  97. package/brand-assets/svg/Archive/402cat-server-40-light.svg +11 -0
  98. package/brand-assets/svg/Archive/402cat-server-80-dark.svg +11 -0
  99. package/brand-assets/svg/Archive/402cat-server-80-light.svg +11 -0
  100. package/brand-assets/svg/Archive/402cat-sleeping-160-dark.svg +13 -0
  101. package/brand-assets/svg/Archive/402cat-sleeping-160-light.svg +13 -0
  102. package/brand-assets/svg/Archive/402cat-twitter-pfp-dark.svg +12 -0
  103. package/brand-assets/svg/Archive/402cat-twitter-pfp-light.svg +12 -0
  104. package/brand-assets/svg/Archive/mark/neko1-kawaii-80-dark.svg +8 -0
  105. package/brand-assets/svg/Archive/mark/neko1-kawaii-80-light.svg +8 -0
  106. package/brand-assets/svg/Archive/mark/neko1-right-80-dark.svg +8 -0
  107. package/brand-assets/svg/Archive/mark/neko1-right-80-light.svg +8 -0
  108. package/brand-assets/svg/Archive/mark/neko10-pointy-80-dark.svg +8 -0
  109. package/brand-assets/svg/Archive/mark/neko10-pointy-80-light.svg +8 -0
  110. package/brand-assets/svg/Archive/mark/neko2-clean-80-dark.svg +8 -0
  111. package/brand-assets/svg/Archive/mark/neko2-clean-80-light.svg +8 -0
  112. package/brand-assets/svg/Archive/mark/neko2-left-80-dark.svg +8 -0
  113. package/brand-assets/svg/Archive/mark/neko2-left-80-light.svg +8 -0
  114. package/brand-assets/svg/Archive/mark/neko3-both-80-dark.svg +8 -0
  115. package/brand-assets/svg/Archive/mark/neko3-both-80-light.svg +8 -0
  116. package/brand-assets/svg/Archive/mark/neko3-money-80-dark.svg +8 -0
  117. package/brand-assets/svg/Archive/mark/neko3-money-80-light.svg +8 -0
  118. package/brand-assets/svg/Archive/mark/neko4-beckon-80-dark.svg +8 -0
  119. package/brand-assets/svg/Archive/mark/neko4-beckon-80-light.svg +8 -0
  120. package/brand-assets/svg/Archive/mark/neko4-coin-80-dark.svg +8 -0
  121. package/brand-assets/svg/Archive/mark/neko4-coin-80-light.svg +8 -0
  122. package/brand-assets/svg/Archive/mark/neko5-compact-80-dark.svg +8 -0
  123. package/brand-assets/svg/Archive/mark/neko5-compact-80-light.svg +8 -0
  124. package/brand-assets/svg/Archive/mark/neko5-mini-80-dark.svg +8 -0
  125. package/brand-assets/svg/Archive/mark/neko5-mini-80-light.svg +8 -0
  126. package/brand-assets/svg/Archive/mark/neko6-coin-80-dark.svg +8 -0
  127. package/brand-assets/svg/Archive/mark/neko6-coin-80-light.svg +8 -0
  128. package/brand-assets/svg/Archive/mark/neko6-money-80-dark.svg +8 -0
  129. package/brand-assets/svg/Archive/mark/neko6-money-80-light.svg +8 -0
  130. package/brand-assets/svg/Archive/mark/neko7-lucky-80-dark.svg +8 -0
  131. package/brand-assets/svg/Archive/mark/neko7-lucky-80-light.svg +8 -0
  132. package/brand-assets/svg/Archive/mark/neko7-simple-80-dark.svg +8 -0
  133. package/brand-assets/svg/Archive/mark/neko7-simple-80-light.svg +8 -0
  134. package/brand-assets/svg/Archive/mark/neko8-classic-80-dark.svg +8 -0
  135. package/brand-assets/svg/Archive/mark/neko8-classic-80-light.svg +8 -0
  136. package/brand-assets/svg/Archive/mark/neko8-mini-80-dark.svg +8 -0
  137. package/brand-assets/svg/Archive/mark/neko8-mini-80-light.svg +8 -0
  138. package/brand-assets/svg/Archive/mark/neko9-box-80-dark.svg +8 -0
  139. package/brand-assets/svg/Archive/mark/neko9-box-80-light.svg +8 -0
  140. package/brand-assets/svg/Archive/mark/v1-simplified-80-dark.svg +8 -0
  141. package/brand-assets/svg/Archive/mark/v1-simplified-80-light.svg +8 -0
  142. package/brand-assets/svg/Archive/mark/v10-bracket-80-dark.svg +8 -0
  143. package/brand-assets/svg/Archive/mark/v10-bracket-80-light.svg +8 -0
  144. package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-dark.svg +8 -0
  145. package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-light.svg +8 -0
  146. package/brand-assets/svg/Archive/mark/v12-face-80-dark.svg +7 -0
  147. package/brand-assets/svg/Archive/mark/v12-face-80-light.svg +7 -0
  148. package/brand-assets/svg/Archive/mark/v2-full-80-dark.svg +9 -0
  149. package/brand-assets/svg/Archive/mark/v2-full-80-light.svg +9 -0
  150. package/brand-assets/svg/Archive/mark/v3-compact-80-dark.svg +8 -0
  151. package/brand-assets/svg/Archive/mark/v3-compact-80-light.svg +8 -0
  152. package/brand-assets/svg/Archive/mark/v4-default-80-dark.svg +9 -0
  153. package/brand-assets/svg/Archive/mark/v4-default-80-light.svg +9 -0
  154. package/brand-assets/svg/Archive/mark/v6-ears-bold-80-dark.svg +7 -0
  155. package/brand-assets/svg/Archive/mark/v6-ears-bold-80-light.svg +7 -0
  156. package/brand-assets/svg/Archive/mark/v7-ears-wide-80-dark.svg +7 -0
  157. package/brand-assets/svg/Archive/mark/v7-ears-wide-80-light.svg +7 -0
  158. package/brand-assets/svg/Archive/mark/v9-box-80-dark.svg +8 -0
  159. package/brand-assets/svg/Archive/mark/v9-box-80-light.svg +8 -0
  160. package/brand-assets/svg/Archive.zip +0 -0
  161. package/brand-assets/svg/expressions/box-cat-160-dark.svg +8 -0
  162. package/brand-assets/svg/expressions/box-cat-160-light.svg +8 -0
  163. package/brand-assets/svg/expressions/bracket-160-dark.svg +8 -0
  164. package/brand-assets/svg/expressions/bracket-160-light.svg +8 -0
  165. package/brand-assets/svg/expressions/compact-160-dark.svg +8 -0
  166. package/brand-assets/svg/expressions/compact-160-light.svg +8 -0
  167. package/brand-assets/svg/expressions/default-160-dark.svg +9 -0
  168. package/brand-assets/svg/expressions/default-160-light.svg +9 -0
  169. package/brand-assets/svg/expressions/ears-bold-160-dark.svg +7 -0
  170. package/brand-assets/svg/expressions/ears-bold-160-light.svg +7 -0
  171. package/brand-assets/svg/expressions/ears-only-160-dark.svg +7 -0
  172. package/brand-assets/svg/expressions/ears-only-160-light.svg +7 -0
  173. package/brand-assets/svg/expressions/ears-wide-160-dark.svg +7 -0
  174. package/brand-assets/svg/expressions/ears-wide-160-light.svg +7 -0
  175. package/brand-assets/svg/expressions/excited-160-dark.svg +9 -0
  176. package/brand-assets/svg/expressions/excited-160-light.svg +9 -0
  177. package/brand-assets/svg/expressions/face-only-160-dark.svg +7 -0
  178. package/brand-assets/svg/expressions/face-only-160-light.svg +7 -0
  179. package/brand-assets/svg/expressions/minimal-160-dark.svg +8 -0
  180. package/brand-assets/svg/expressions/minimal-160-light.svg +8 -0
  181. package/brand-assets/svg/expressions/pointy-160-dark.svg +8 -0
  182. package/brand-assets/svg/expressions/pointy-160-light.svg +8 -0
  183. package/brand-assets/svg/expressions/simplified-160-dark.svg +8 -0
  184. package/brand-assets/svg/expressions/simplified-160-light.svg +8 -0
  185. package/brand-assets/svg/expressions/sleeping-160-dark.svg +10 -0
  186. package/brand-assets/svg/expressions/sleeping-160-light.svg +10 -0
  187. package/brand-assets/svg/expressions/winking-160-dark.svg +9 -0
  188. package/brand-assets/svg/expressions/winking-160-light.svg +9 -0
  189. package/brand-assets/svg/expressions-paths/compact-160-dark.svg +42 -0
  190. package/brand-assets/svg/expressions-paths/compact-160-light.svg +42 -0
  191. package/brand-assets/svg/expressions-paths/default-160-dark.svg +47 -0
  192. package/brand-assets/svg/expressions-paths/default-160-light.svg +47 -0
  193. package/brand-assets/svg/expressions-paths/minimal-160-dark.svg +42 -0
  194. package/brand-assets/svg/expressions-paths/minimal-160-light.svg +42 -0
  195. package/brand-assets/svg/expressions-paths/pointy-160-dark.svg +42 -0
  196. package/brand-assets/svg/expressions-paths/pointy-160-light.svg +42 -0
  197. package/brand-assets/svg/expressions-paths/simplified-160-dark.svg +42 -0
  198. package/brand-assets/svg/expressions-paths/simplified-160-light.svg +42 -0
  199. package/brand-assets/svg/expressions-paths/winking-160-dark.svg +47 -0
  200. package/brand-assets/svg/expressions-paths/winking-160-light.svg +47 -0
  201. package/brand-assets/svg/favicon/apple-touch-180-dark.svg +8 -0
  202. package/brand-assets/svg/favicon/apple-touch-180-light.svg +8 -0
  203. package/brand-assets/svg/favicon/favicon-16-dark.svg +8 -0
  204. package/brand-assets/svg/favicon/favicon-16-light.svg +8 -0
  205. package/brand-assets/svg/favicon/favicon-32-dark.svg +11 -0
  206. package/brand-assets/svg/favicon/favicon-32-light.svg +11 -0
  207. package/brand-assets/svg/favicon/favicon-48-dark.svg +8 -0
  208. package/brand-assets/svg/favicon/favicon-48-light.svg +8 -0
  209. package/brand-assets/svg/favicon/v11-pointy-path-16-dark.svg +18 -0
  210. package/brand-assets/svg/favicon/v11-pointy-path-32-dark.svg +19 -0
  211. package/brand-assets/svg/favicon/v4-ears-32-dark.svg +7 -0
  212. package/brand-assets/svg/favicon/v4-ears-32-light.svg +7 -0
  213. package/brand-assets/svg/favicon/v5-pointy-32-dark.svg +8 -0
  214. package/brand-assets/svg/favicon/v5-pointy-32-light.svg +8 -0
  215. package/brand-assets/svg/favicon/v6-minimal-32-dark.svg +8 -0
  216. package/brand-assets/svg/favicon/v6-minimal-32-light.svg +8 -0
  217. package/brand-assets/svg/favicon/v7-ears-only-32-dark.svg +5 -0
  218. package/brand-assets/svg/favicon/v7-ears-only-32-light.svg +5 -0
  219. package/brand-assets/svg/favicon-paths/v12-ears-only-16-dark.svg +4 -0
  220. package/brand-assets/svg/favicon-paths/v12-ears-only-16-light.svg +4 -0
  221. package/brand-assets/svg/favicon-paths/v12-ears-only-48-dark.svg +4 -0
  222. package/brand-assets/svg/favicon-paths/v12-ears-only-48-light.svg +4 -0
  223. package/brand-assets/svg/favicon-paths/v12-ears-only-96-dark.svg +4 -0
  224. package/brand-assets/svg/favicon-paths/v12-ears-only-96-light.svg +4 -0
  225. package/brand-assets/svg/favicon-paths/v6-minimal-32-dark.svg +42 -0
  226. package/brand-assets/svg/favicon-paths/v6-minimal-32-light.svg +42 -0
  227. package/brand-assets/svg/favicon-paths/v7-ears-only-32-dark.svg +34 -0
  228. package/brand-assets/svg/favicon-paths/v7-ears-only-32-light.svg +34 -0
  229. package/brand-assets/svg/mark/facilitator-160-dark.svg +11 -0
  230. package/brand-assets/svg/mark/facilitator-160-light.svg +11 -0
  231. package/brand-assets/svg/mark/facilitator-320-dark.svg +12 -0
  232. package/brand-assets/svg/mark/facilitator-320-light.svg +12 -0
  233. package/brand-assets/svg/mark/facilitator-40-dark.svg +11 -0
  234. package/brand-assets/svg/mark/facilitator-40-light.svg +11 -0
  235. package/brand-assets/svg/mark/facilitator-44-dark.svg +8 -0
  236. package/brand-assets/svg/mark/facilitator-44-light.svg +8 -0
  237. package/brand-assets/svg/mark/facilitator-72-dark.svg +8 -0
  238. package/brand-assets/svg/mark/facilitator-72-light.svg +8 -0
  239. package/brand-assets/svg/mark/facilitator-80-dark.svg +11 -0
  240. package/brand-assets/svg/mark/facilitator-80-light.svg +11 -0
  241. package/brand-assets/svg/mark/facilitator-ears-44-dark.svg +7 -0
  242. package/brand-assets/svg/mark/facilitator-ears-44-light.svg +7 -0
  243. package/brand-assets/svg/mark/facilitator-ears-72-dark.svg +7 -0
  244. package/brand-assets/svg/mark/facilitator-ears-72-light.svg +7 -0
  245. package/brand-assets/svg/mark/facilitator-pointy-44-dark.svg +8 -0
  246. package/brand-assets/svg/mark/facilitator-pointy-44-light.svg +8 -0
  247. package/brand-assets/svg/mark/facilitator-pointy-72-dark.svg +8 -0
  248. package/brand-assets/svg/mark/facilitator-pointy-72-light.svg +8 -0
  249. package/brand-assets/svg/mark/v11-pointy-80-dark.svg +8 -0
  250. package/brand-assets/svg/mark/v11-pointy-80-light.svg +8 -0
  251. package/brand-assets/svg/mark/v11-pointy-path-160-dark.svg +13 -0
  252. package/brand-assets/svg/mark/v11-pointy-path-180-dark.svg +13 -0
  253. package/brand-assets/svg/mark/v11-pointy-path-320-dark.svg +13 -0
  254. package/brand-assets/svg/mark/v11-pointy-path-40-dark.svg +13 -0
  255. package/brand-assets/svg/mark/v11-pointy-path-80-dark.svg +26 -0
  256. package/brand-assets/svg/mark/v11-pointy-path-80-light.svg +26 -0
  257. package/brand-assets/svg/mark/v11-pointy-path-transparent.svg +25 -0
  258. package/brand-assets/svg/mark/v12-ears-only-1000-dark.svg +7 -0
  259. package/brand-assets/svg/mark/v12-ears-only-80-dark.svg +7 -0
  260. package/brand-assets/svg/mark/v12-ears-only-80-light.svg +7 -0
  261. package/brand-assets/svg/mark/v5-ears-80-dark.svg +7 -0
  262. package/brand-assets/svg/mark/v5-ears-80-light.svg +7 -0
  263. package/brand-assets/svg/mark/v8-minimal-80-dark.svg +8 -0
  264. package/brand-assets/svg/mark/v8-minimal-80-light.svg +8 -0
  265. package/brand-assets/svg/mark-paths/facilitator-80-dark.svg +46 -0
  266. package/brand-assets/svg/mark-paths/v12-ears-only-160-dark.svg +4 -0
  267. package/brand-assets/svg/mark-paths/v12-ears-only-160-light.svg +4 -0
  268. package/brand-assets/svg/mark-paths/v12-ears-only-180-dark.svg +4 -0
  269. package/brand-assets/svg/mark-paths/v12-ears-only-180-light.svg +4 -0
  270. package/brand-assets/svg/mark-paths/v12-ears-only-320-dark.svg +4 -0
  271. package/brand-assets/svg/mark-paths/v12-ears-only-320-light.svg +4 -0
  272. package/brand-assets/svg/mark-paths/v12-ears-only-40-dark.svg +4 -0
  273. package/brand-assets/svg/mark-paths/v12-ears-only-40-light.svg +4 -0
  274. package/brand-assets/svg/mark-paths/v12-ears-only-80-dark.svg +37 -0
  275. package/brand-assets/svg/mark-paths/v12-ears-only-80-light.svg +37 -0
  276. package/brand-assets/svg/mark-paths/v12-ears-only-transparent.svg +4 -0
  277. package/brand-assets/svg/server/icon-40-dark.svg +8 -0
  278. package/brand-assets/svg/server/icon-40-light.svg +8 -0
  279. package/brand-assets/svg/server/icon-80-dark.svg +8 -0
  280. package/brand-assets/svg/server/icon-80-light.svg +8 -0
  281. package/brand-assets/svg/social/banner-1200x400-dark.svg +14 -0
  282. package/brand-assets/svg/social/banner-1200x400-light.svg +14 -0
  283. package/brand-assets/svg/social/banner-cat-ticker-1500x500-dark.svg +7 -0
  284. package/brand-assets/svg/social/banner-cat-ticker-1500x500-light.svg +7 -0
  285. package/brand-assets/svg/social/banner-cat1-left-dark.svg +10 -0
  286. package/brand-assets/svg/social/banner-cat1-left-light.svg +10 -0
  287. package/brand-assets/svg/social/banner-cat2-right-dark.svg +10 -0
  288. package/brand-assets/svg/social/banner-cat2-right-light.svg +10 -0
  289. package/brand-assets/svg/social/banner-cat3-stacked-dark.svg +9 -0
  290. package/brand-assets/svg/social/banner-cat3-stacked-light.svg +9 -0
  291. package/brand-assets/svg/social/banner-cat4-wordmark-dark.svg +8 -0
  292. package/brand-assets/svg/social/banner-cat4-wordmark-light.svg +8 -0
  293. package/brand-assets/svg/social/banner-cc1-left-dark.svg +10 -0
  294. package/brand-assets/svg/social/banner-cc1-left-light.svg +10 -0
  295. package/brand-assets/svg/social/banner-cc2-right-dark.svg +10 -0
  296. package/brand-assets/svg/social/banner-cc2-right-light.svg +10 -0
  297. package/brand-assets/svg/social/banner-cc3-stacked-dark.svg +9 -0
  298. package/brand-assets/svg/social/banner-cc3-stacked-light.svg +9 -0
  299. package/brand-assets/svg/social/banner-cc4-centered-dark.svg +9 -0
  300. package/brand-assets/svg/social/banner-cc4-centered-light.svg +9 -0
  301. package/brand-assets/svg/social/banner-cc5-right-big-dark.svg +9 -0
  302. package/brand-assets/svg/social/banner-cc5-right-big-light.svg +9 -0
  303. package/brand-assets/svg/social/banner-cc6-ears-right-dark.svg +8 -0
  304. package/brand-assets/svg/social/banner-cc6-ears-right-light.svg +8 -0
  305. package/brand-assets/svg/social/banner-cc7-wordmark-dark.svg +8 -0
  306. package/brand-assets/svg/social/banner-cc7-wordmark-light.svg +8 -0
  307. package/brand-assets/svg/social/banner-cc8-minimal-dark.svg +9 -0
  308. package/brand-assets/svg/social/banner-cc8-minimal-light.svg +9 -0
  309. package/brand-assets/svg/social/banner-cc9-dramatic-dark.svg +9 -0
  310. package/brand-assets/svg/social/banner-cc9-dramatic-light.svg +9 -0
  311. package/brand-assets/svg/social/banner-ccat1-left-dark.svg +10 -0
  312. package/brand-assets/svg/social/banner-ccat1-left-light.svg +10 -0
  313. package/brand-assets/svg/social/banner-ccat2-right-dark.svg +10 -0
  314. package/brand-assets/svg/social/banner-ccat2-right-light.svg +10 -0
  315. package/brand-assets/svg/social/banner-ccat3-stacked-dark.svg +9 -0
  316. package/brand-assets/svg/social/banner-ccat3-stacked-light.svg +9 -0
  317. package/brand-assets/svg/social/banner-ccat4-wordmark-dark.svg +8 -0
  318. package/brand-assets/svg/social/banner-ccat4-wordmark-light.svg +8 -0
  319. package/brand-assets/svg/social/banner-sn1-snuggle-dark.svg +10 -0
  320. package/brand-assets/svg/social/banner-sn1-snuggle-light.svg +10 -0
  321. package/brand-assets/svg/social/banner-sn2-snuggle-big-dark.svg +9 -0
  322. package/brand-assets/svg/social/banner-sn2-snuggle-big-light.svg +9 -0
  323. package/brand-assets/svg/social/banner-sn3-snuggle-centered-dark.svg +10 -0
  324. package/brand-assets/svg/social/banner-sn3-snuggle-centered-light.svg +10 -0
  325. package/brand-assets/svg/social/banner-sn4-snuggle-simple-dark.svg +9 -0
  326. package/brand-assets/svg/social/banner-sn4-snuggle-simple-light.svg +9 -0
  327. package/brand-assets/svg/social/banner-sn5-snuggle-compact-dark.svg +9 -0
  328. package/brand-assets/svg/social/banner-sn5-snuggle-compact-light.svg +9 -0
  329. package/brand-assets/svg/social/banner-v1-left-dark.svg +10 -0
  330. package/brand-assets/svg/social/banner-v1-left-light.svg +10 -0
  331. package/brand-assets/svg/social/banner-v10-dramatic-dark.svg +9 -0
  332. package/brand-assets/svg/social/banner-v10-dramatic-light.svg +9 -0
  333. package/brand-assets/svg/social/banner-v11-bold-right-dark.svg +8 -0
  334. package/brand-assets/svg/social/banner-v11-bold-right-light.svg +8 -0
  335. package/brand-assets/svg/social/banner-v12-pointy-right-dark.svg +9 -0
  336. package/brand-assets/svg/social/banner-v12-pointy-right-light.svg +9 -0
  337. package/brand-assets/svg/social/banner-v13-ears-twitter-dark.svg +8 -0
  338. package/brand-assets/svg/social/banner-v13-ears-twitter-light.svg +8 -0
  339. package/brand-assets/svg/social/banner-v14-bold-twitter-dark.svg +8 -0
  340. package/brand-assets/svg/social/banner-v14-bold-twitter-light.svg +8 -0
  341. package/brand-assets/svg/social/banner-v15-pointy-twitter-dark.svg +9 -0
  342. package/brand-assets/svg/social/banner-v15-pointy-twitter-light.svg +9 -0
  343. package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-dark.svg +9 -0
  344. package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-light.svg +9 -0
  345. package/brand-assets/svg/social/banner-v17-bold-twitter-big-dark.svg +8 -0
  346. package/brand-assets/svg/social/banner-v17-bold-twitter-big-light.svg +8 -0
  347. package/brand-assets/svg/social/banner-v2-right-dark.svg +10 -0
  348. package/brand-assets/svg/social/banner-v2-right-light.svg +10 -0
  349. package/brand-assets/svg/social/banner-v3-stacked-dark.svg +9 -0
  350. package/brand-assets/svg/social/banner-v3-stacked-light.svg +9 -0
  351. package/brand-assets/svg/social/banner-v4-minimal-dark.svg +9 -0
  352. package/brand-assets/svg/social/banner-v4-minimal-light.svg +9 -0
  353. package/brand-assets/svg/social/banner-v5-right-far-dark.svg +10 -0
  354. package/brand-assets/svg/social/banner-v5-right-far-light.svg +10 -0
  355. package/brand-assets/svg/social/banner-v6-right-big-dark.svg +9 -0
  356. package/brand-assets/svg/social/banner-v6-right-big-light.svg +9 -0
  357. package/brand-assets/svg/social/banner-v7-centered-dark.svg +9 -0
  358. package/brand-assets/svg/social/banner-v7-centered-light.svg +9 -0
  359. package/brand-assets/svg/social/banner-v8-wordmark-dark.svg +8 -0
  360. package/brand-assets/svg/social/banner-v8-wordmark-light.svg +8 -0
  361. package/brand-assets/svg/social/banner-v9-ears-right-dark.svg +8 -0
  362. package/brand-assets/svg/social/banner-v9-ears-right-light.svg +8 -0
  363. package/brand-assets/svg/social/og-1200x630-dark.svg +16 -0
  364. package/brand-assets/svg/social/og-1200x630-light.svg +16 -0
  365. package/brand-assets/svg/social/og-1200x630-v2-dark.svg +73 -0
  366. package/brand-assets/svg/social/og-box-centered-dark.svg +10 -0
  367. package/brand-assets/svg/social/og-box-centered-light.svg +10 -0
  368. package/brand-assets/svg/social/og-cat1-centered-dark.svg +10 -0
  369. package/brand-assets/svg/social/og-cat1-centered-light.svg +10 -0
  370. package/brand-assets/svg/social/og-cat2-hero-dark.svg +11 -0
  371. package/brand-assets/svg/social/og-cat2-hero-light.svg +11 -0
  372. package/brand-assets/svg/social/og-cat3-minimal-dark.svg +10 -0
  373. package/brand-assets/svg/social/og-cat3-minimal-light.svg +10 -0
  374. package/brand-assets/svg/social/og-cc1-centered-dark.svg +11 -0
  375. package/brand-assets/svg/social/og-cc1-centered-light.svg +11 -0
  376. package/brand-assets/svg/social/og-cc2-hero-dark.svg +10 -0
  377. package/brand-assets/svg/social/og-cc2-hero-light.svg +10 -0
  378. package/brand-assets/svg/social/og-cc3-minimal-dark.svg +10 -0
  379. package/brand-assets/svg/social/og-cc3-minimal-light.svg +10 -0
  380. package/brand-assets/svg/social/og-cc4-split-dark.svg +11 -0
  381. package/brand-assets/svg/social/og-cc4-split-light.svg +11 -0
  382. package/brand-assets/svg/social/og-feral-a.svg +68 -0
  383. package/brand-assets/svg/social/og-feral-b.svg +80 -0
  384. package/brand-assets/svg/social/og-feral-c.svg +73 -0
  385. package/brand-assets/svg/social/og-feral-d.svg +63 -0
  386. package/brand-assets/svg/social/og-minimal-centered-dark.svg +10 -0
  387. package/brand-assets/svg/social/og-minimal-centered-light.svg +10 -0
  388. package/brand-assets/svg/social/og-neko1-kawaii-dark.svg +10 -0
  389. package/brand-assets/svg/social/og-neko1-kawaii-light.svg +10 -0
  390. package/brand-assets/svg/social/og-neko2-money-dark.svg +10 -0
  391. package/brand-assets/svg/social/og-neko2-money-light.svg +10 -0
  392. package/brand-assets/svg/social/og-neko3-lucky-dark.svg +10 -0
  393. package/brand-assets/svg/social/og-neko3-lucky-light.svg +10 -0
  394. package/brand-assets/svg/social/og-neko4-clean-dark.svg +10 -0
  395. package/brand-assets/svg/social/og-neko4-clean-light.svg +10 -0
  396. package/brand-assets/svg/social/og-pointy-hero-dark.svg +10 -0
  397. package/brand-assets/svg/social/og-pointy-hero-light.svg +10 -0
  398. package/brand-assets/svg/social/og-v1-centered-dark.svg +11 -0
  399. package/brand-assets/svg/social/og-v1-centered-light.svg +11 -0
  400. package/brand-assets/svg/social/og-v11-pointy-1200x630-dark.svg +38 -0
  401. package/brand-assets/svg/social/og-v11-pointy-1200x630-light.svg +38 -0
  402. package/brand-assets/svg/social/og-v12-ears-1200x630-dark.svg +5 -0
  403. package/brand-assets/svg/social/og-v12-ears-1200x630-light.svg +5 -0
  404. package/brand-assets/svg/social/og-v12-ticker-1200x630-dark.svg +6 -0
  405. package/brand-assets/svg/social/og-v12-ticker-1200x630-light.svg +6 -0
  406. package/brand-assets/svg/social/og-v2-split-dark.svg +11 -0
  407. package/brand-assets/svg/social/og-v2-split-light.svg +11 -0
  408. package/brand-assets/svg/social/og-v2-variation-a.svg +74 -0
  409. package/brand-assets/svg/social/og-v2-variation-b.svg +63 -0
  410. package/brand-assets/svg/social/og-v2-variation-c.svg +71 -0
  411. package/brand-assets/svg/social/og-v3-hero-dark.svg +11 -0
  412. package/brand-assets/svg/social/og-v3-hero-light.svg +11 -0
  413. package/brand-assets/svg/social/og-v4-minimal-dark.svg +10 -0
  414. package/brand-assets/svg/social/og-v4-minimal-light.svg +10 -0
  415. package/brand-assets/svg/social/pfp-ears-400-dark.svg +5 -0
  416. package/brand-assets/svg/social/pfp-ears-400-light.svg +5 -0
  417. package/brand-assets/svg/social/pfp-v5-pointy-dark.svg +8 -0
  418. package/brand-assets/svg/social/pfp-v5-pointy-light.svg +8 -0
  419. package/brand-assets/svg/social/twitter-banner-v11-1500x500-dark.svg +35 -0
  420. package/brand-assets/svg/social/twitter-pfp-400-dark.svg +12 -0
  421. package/brand-assets/svg/social/twitter-pfp-400-light.svg +12 -0
  422. package/brand-assets/svg/social/twitter-pfp-v11-400-dark.svg +20 -0
  423. package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-dark.svg +44 -0
  424. package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-light.svg +44 -0
  425. package/brand-assets/svg/social-paths/og-v12-ears-1200x630-dark.svg +34 -0
  426. package/brand-assets/svg/social-paths/og-v12-ears-1200x630-light.svg +34 -0
  427. package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-dark.svg +39 -0
  428. package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-light.svg +39 -0
  429. package/brand-assets/svg/social-paths/pfp-ears-400-dark.svg +35 -0
  430. package/brand-assets/svg/social-paths/pfp-ears-400-light.svg +35 -0
  431. package/brand-assets/svg/social-paths/twitter-pfp-400-dark.svg +51 -0
  432. package/brand-assets/svg/social-paths/twitter-pfp-400-light.svg +51 -0
  433. package/brand-assets/svg/web/apple-touch-icon-180.svg +4 -0
  434. package/brand-assets/svg/web/favicon-32-dark.svg +4 -0
  435. package/brand-assets/svg/web/favicon-32-light.svg +4 -0
  436. package/brand-assets/svg/web/mark-80-alert.svg +4 -0
  437. package/brand-assets/svg/web/mark-80-dark.svg +4 -0
  438. package/brand-assets/svg/web/mark-80-light.svg +4 -0
  439. package/brand-assets/svg/web/mark-80-success.svg +4 -0
  440. package/brand-assets/svg/web/mark-80-wink.svg +4 -0
  441. package/brand-assets/svg/web/og-image-1200x630.svg +13 -0
  442. package/dist/client.d.ts.map +1 -1
  443. package/dist/client.js +99 -44
  444. package/dist/client.js.map +1 -1
  445. package/dist/index.js +14 -6
  446. package/dist/index.js.map +1 -1
  447. package/dist/utils/admin.d.ts.map +1 -1
  448. package/dist/utils/admin.js +0 -9
  449. package/dist/utils/admin.js.map +1 -1
  450. package/docs/api/README.md +3 -0
  451. package/package.json +1 -1
package/README.md CHANGED
@@ -1,3089 +1,281 @@
1
1
  # httpcat-cli
2
2
 
3
- > 🐱 Command-line interface for interacting with the httpcat agent - create, buy, and sell tokens with x402 payments
3
+ ![Banner](https://i.imgur.com/uTH4ly9.png)
4
4
 
5
- httpcat is a full-featured CLI tool that provides both interactive (with ASCII art cats!) and headless modes for token operations on the httpcat agent. It supports creating tokens, buying, selling, and managing your portfolio with seamless x402 payment integration.
5
+ > **The CLI that enables agents to use x402 protocol. No middleware. No wallets. Just HTTP-native micropayments.**
6
6
 
7
- ## Features
7
+ **Give your agent claws.**
8
8
 
9
- - 🎨 **Interactive Shell** - Beautiful REPL with ASCII art cats and colored output
10
- - 🐱 **Headless Mode** - JSON output for scripting and LLM/agent integration
11
- - 🔌 **MCP Server** - Built-in Model Context Protocol server for AI assistant integration
12
- - 💳 **x402 Payments** - Automatic payment handling via x402 protocol
13
- - 🔐 **Secure Config** - Local configuration storage in `~/.config/httpcat`
14
- - 🌐 **Multi-Network** - Support for Base Sepolia (testnet) and Base (mainnet)
15
- - 📊 **Rich Output** - Tables, progress bars, and detailed token information
16
- - ⚡ **Fast & Simple** - Built with TypeScript and optimized for performance
9
+ ---
17
10
 
18
- ## Installation
19
-
20
- ### npm (recommended)
21
-
22
- ```bash
23
- npm install -g httpcat-cli
24
- ```
11
+ ## What is httpcat?
25
12
 
26
- Or use with npx without installing:
13
+ httpcat is the command-line interface for [402.cat](https://402.cat) — the tool that lets agents interact with x402-protected endpoints and build economic capabilities.
27
14
 
28
- ```bash
29
- npx httpcat-cli
30
- ```
15
+ **The foundation:** x402 protocol enables HTTP-native micropayments. Every API call can be a paid transaction. No API keys. No accounts. Just pay-per-call.
31
16
 
32
- ### Homebrew (macOS/Linux)
17
+ httpcat wraps this in a CLI that agents can use directly. It handles payment signatures automatically.
33
18
 
34
- ```bash
35
- brew tap hathbanger/httpcat
36
- brew install httpcat
37
- ```
19
+ ---
38
20
 
39
- ### From Source
21
+ ## How It Works
40
22
 
41
- ```bash
42
- cd httpcat-cli
43
- yarn install
44
- yarn build
45
- yarn link
46
- ```
23
+ ### x402 Protocol Integration
47
24
 
48
- ## Upgrading
25
+ httpcat uses the x402 protocol to handle payments automatically:
49
26
 
50
- ### npm (Global Install)
27
+ 1. **Request** CLI makes HTTP request to x402 endpoint
28
+ 2. **402 Response** → Endpoint returns payment requirements
29
+ 3. **Payment** → CLI generates payment signature and retries
30
+ 4. **Response** → Endpoint processes and returns result
51
31
 
52
- If you installed httpcat globally via npm:
32
+ All of this happens automatically. No middleware. No wallet management in your code. Just HTTP requests with payment headers.
53
33
 
54
- ```bash
55
- npm update -g httpcat-cli
56
- ```
34
+ ### Entrypoints
57
35
 
58
- ### Yarn (Global Install)
36
+ Entrypoints are services wrapped in x402 protocol. They're composable and automatically handle payments.
59
37
 
60
- If you installed httpcat globally via yarn:
38
+ **Built-in entrypoints:**
61
39
 
62
- ```bash
63
- yarn global upgrade httpcat-cli
64
- ```
40
+ - `swap` — DEX aggregator for token swaps
41
+ - `launchpad` Token creation and trading
42
+ - `rpc` — JSON-RPC proxy for blockchain calls
65
43
 
66
- ### Homebrew
44
+ ---
67
45
 
68
- If you installed via Homebrew:
46
+ ## Installation
69
47
 
70
48
  ```bash
71
- brew upgrade httpcat
49
+ npm install -g httpcat-cli
72
50
  ```
73
51
 
74
- ### npx (No Upgrade Needed)
75
-
76
- If you're using `npx httpcat-cli`, it automatically uses the latest version - no upgrade needed!
52
+ Or use with npx:
77
53
 
78
54
  ```bash
79
- npx httpcat-cli@latest
55
+ npx httpcat-cli
80
56
  ```
81
57
 
82
- ### From Source (Development)
83
-
84
- If you're developing locally with `yarn link`:
58
+ Homebrew:
85
59
 
86
60
  ```bash
87
- cd httpcat-cli
88
- git pull
89
- yarn install
90
- yarn build
61
+ brew tap hathbanger/httpcat
62
+ brew install httpcat
91
63
  ```
92
64
 
65
+ ---
66
+
93
67
  ## Quick Start
94
68
 
95
- ### First-Time Setup
69
+ ### Setup
96
70
 
97
- Run `httpcat` to automatically create your wallet:
71
+ Run `httpcat` to create your wallet:
98
72
 
99
73
  ```bash
100
74
  httpcat
101
75
  ```
102
76
 
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:
134
-
135
- - **Network** - Network format: `eip155:84532` (Base Sepolia testnet) or `eip155:8453` (Base mainnet)
136
- - **Agent URL** - The httpcat agent endpoint (default: https://agent-test.402.cat)
137
- - **ASCII Art** - Enable or disable cat art
138
-
139
- **Network Format:** Uses CAIP-2 format (`eip155:<chainId>`):
140
-
141
- - Base Sepolia (testnet): `eip155:84532` (Chain ID: 84532)
142
- - Base (mainnet): `eip155:8453` (Chain ID: 8453)
143
-
144
- ### Interactive Mode
145
-
146
- Once configured, running `httpcat` without arguments starts an interactive shell:
147
-
148
- ```bash
149
- $ httpcat
150
-
151
- /\_/\
152
- ( ^.^ ) Welcome to httpcat!
153
- > ^ < Your agent for token operations
154
-
155
- 🔗 Connected to: eip155:84532 (Base Sepolia)
156
- 🌐 Agent: https://agent-test.402.cat
157
-
158
- httpcat> help
159
- Available Commands:
160
-
161
- create <name> <symbol> Create a new token
162
- buy <id|name|symbol> <amount> Buy tokens ($0.05, $0.10, $0.20, or percentage like 50%)
163
- sell <id|name|symbol> <amount|all> Sell tokens
164
- swap <tokenIn> <tokenOut> <amount> Swap any token to any token (CLI only, $0.10)
165
- info <id|name|symbol> Get token information
166
- list [--sort mcap|created] List all tokens
167
- positions [--active|--graduated] Get all your positions with comprehensive info
168
- transactions [--user|--token|--type] Get transaction history
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)
177
- chat [token] Start streaming chat (optional: token symbol/name/address)
178
- balances Check wallet balances (ETH, USDC, and CAT)
179
- account [list|switch|add] Manage accounts
180
- cat Start interactive AI assistant chat mode
181
- agent setup Configure autonomous trading agent settings
182
- health Check agent health
183
- config [--show|--set|--reset] Manage configuration
184
- env [list|use|show|add|update] Manage environments
185
- help Show this help message
186
- exit Exit the shell
187
-
188
- httpcat> create "Meow Token" "MEOW"
189
-
190
- /\_/\ Creating your token...
191
- ( o.o )💭
192
-
193
- 💳 Payment required: $0.01 USDC
194
-
195
- ✅ Token created successfully!
196
-
197
- ┌─────────────────────────────────────────┐
198
- │ 🎉 Meow Token (MEOW) │
199
- ├─────────────────────────────────────────┤
200
- │ Address: 0x789abcd... │
201
- │ Supply: 1,000,000,000 MEOW │
202
- │ Status: Active │
203
- └─────────────────────────────────────────┘
204
-
205
- httpcat> buy 0x789abcd... 0.20
206
-
207
- 💰 Tokens purchased successfully!
208
-
209
- ┌─────────────────────────────────────────┐
210
- │ 💰 Purchase Summary │
211
- ├─────────────────────────────────────────┤
212
- │ Tokens Received: 50,000 │
213
- │ Amount Spent: $5.00 │
214
- │ Fee (1%): $0.05 │
215
- │ New Price: $0.0002 │
216
- │ New Market Cap: $200,000 │
217
- │ Graduation: 0.15% │
218
- └─────────────────────────────────────────┘
219
-
220
- [🐱==> ] 0.15% to moon!
221
- ```
222
-
223
- ## Global Options
224
-
225
- These options can be used with any command:
226
-
227
- - `-j, --json` - Output in JSON format for scripting and automation
228
- - `-q, --quiet` - Minimal output (exit codes only)
229
- - `-v, --verbose` - Show verbose error messages and debugging information
230
- - `--no-art` - Disable ASCII art cats
231
- - `-k, --private-key <key>` - Use specific private key (overrides config and env var)
232
- - `-a, --account <index>` - Use specific account index (overrides active account)
233
-
234
- **Examples:**
235
-
236
- ```bash
237
- # Use account 2 for getting positions
238
- httpcat -a 2 positions
239
-
240
- # Use account 1 to buy tokens
241
- httpcat -a 1 buy MTK 0.10
242
-
243
- # JSON output for account 0
244
- httpcat --json -a 0 balances
245
-
246
- # Use specific private key
247
- httpcat -k 0x1234... create "Test" "TEST"
248
-
249
- # Quiet mode with exit code checking
250
- httpcat -q buy MTK 0.20 && echo "Success!" || echo "Failed"
251
- ```
252
-
253
- **Note:** The `-a, --account` flag allows you to use different accounts without switching your active account in the config.
254
-
255
- ## Commands
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
-
259
- ### Create Token
77
+ Your seed phrase is generated locally and never transmitted to any server.
260
78
 
261
- Create a new token on the bonding curve.
262
-
263
- **Interactive:**
79
+ ### Use Entrypoints
264
80
 
265
81
  ```bash
266
- httpcat> create "My Token" "MTK"
267
- httpcat> create "My Token" "MTK" --photo https://example.com/photo.png
268
- httpcat> create "My Token" "MTK" --photo ./logo.png
269
- ```
82
+ # Swap tokens via DEX aggregator
83
+ httpcat swap USDC WETH 1.0
270
84
 
271
- **CLI:**
272
-
273
- ```bash
85
+ # Launchpad operations
86
+ httpcat list
274
87
  httpcat create "My Token" "MTK"
275
- httpcat create "My Token" "MTK" --photo https://example.com/photo.png --website https://mytoken.io
276
- httpcat create "My Token" "MTK" --photo ./logo.png
277
- ```
278
-
279
- **Options:**
280
-
281
- - `-p, --photo <url|path>` - Token photo URL or file path (supports http/https URLs, local file paths, or base64 data URLs)
282
- - `-w, --website <url>` - Website URL
283
-
284
- **Note:** If no photo is provided, a unique [Robohash](https://robohash.org/) avatar is automatically generated for your token based on the token address.
285
-
286
- **Cost:** $0.01 USDC
287
-
288
- ### Buy Tokens
289
-
290
- Purchase tokens from the bonding curve.
291
-
292
- **Interactive:**
293
-
294
- ```bash
295
- httpcat> buy 0x1234... 0.20
296
- httpcat> buy "My Token" 0.10
297
- httpcat> buy MTK 0.05
298
- ```
299
-
300
- **CLI:**
301
-
302
- ```bash
303
- httpcat buy 0x1234567890abcdef1234567890abcdef12345678 0.20
304
- httpcat buy "My Token" 0.10
305
- httpcat buy MTK 0.05
306
- ```
307
-
308
- **Options:**
309
-
310
- - `-r, --repeat <count>` - Execute multiple buys in sequence (stops early if token graduates or insufficient funds)
311
- - `-d, --delay <ms>` - Delay in milliseconds between repeat operations (default: 0)
312
-
313
- **Examples with repeat:**
314
-
315
- ```bash
316
- # Execute 10 buys back-to-back
317
- httpcat buy MTK 0.10 -r 10
318
-
319
- # Execute 10 buys with 500ms delay between each
320
- httpcat buy MTK 0.10 -r 10 -d 500
321
- ```
322
-
323
- **Token Identifier:**
324
-
325
- - Token address: `0x1234...` (contract address)
326
- - Token name: `"My Token"` (use quotes if it contains spaces)
327
- - Token symbol: `MTK` (case-insensitive)
328
-
329
- **Amounts:**
330
-
331
- - Test mode (Base Sepolia / eip155:84532): `0.05`, `0.10`, or `0.20` USDC
332
- - Production (base): `50`, `100`, or `200` USDC
333
- - Percentage: `10%`, `50%`, `100%` (percentage of your USDC balance)
334
- - Example: `httpcat buy MTK 50%` - Buy with 50% of your USDC balance
335
- - Works with any percentage from 0.01% to 100%
336
-
337
- **Cost:** Amount + 1% fee (e.g., $5.05 for $5 purchase)
338
-
339
- **Repeat Mode Behavior:**
340
-
341
- When using `-r, --repeat`, the command will:
342
-
343
- - Execute the specified number of buys sequentially
344
- - Wait for transaction confirmation between each buy
345
- - Automatically retry failed transactions (up to 10 attempts with exponential backoff)
346
- - Stop early if the token graduates (reaches 100% graduation progress)
347
- - Stop early if you run out of funds (HTTP 402 error)
348
- - Display a compact summary for each buy
349
- - Show a final summary with total buys completed, total spent, and final status
350
-
351
- ### Sell Tokens
352
-
353
- Sell tokens back to the bonding curve.
354
-
355
- **Interactive:**
356
-
357
- ```bash
358
- httpcat> sell 0x1234... 1000 # Sell 1000 tokens
359
- httpcat> sell "My Token" 50% # Sell 50% of holdings
360
- httpcat> sell MTK all # Sell all tokens
361
- ```
362
-
363
- **CLI:**
364
-
365
- ```bash
366
- httpcat sell 0x1234567890abcdef1234567890abcdef12345678 1000
367
- httpcat sell "My Token" 50%
368
- httpcat sell MTK all
369
- ```
370
-
371
- **Token Identifier:**
372
-
373
- - Address, name, or symbol (same as buy command)
374
-
375
- **Cost:** Dynamic based on amount (1% fee deducted from proceeds)
376
-
377
- ### Swap Tokens
378
-
379
- Swap any ERC20 token to any other ERC20 token using pro DEX aggregation with optimal routing.
380
-
381
- **Note:** This is a CLI-only feature, not available in the interactive shell.
382
-
383
- **CLI:**
384
-
385
- ```bash
386
- httpcat swap <tokenIn> <tokenOut> <amount>
387
- httpcat swap <tokenIn> <tokenOut> <amount> --slippage <bps>
388
- ```
389
-
390
- **Parameters:**
391
-
392
- - `tokenIn` - Token to sell (contract address)
393
- - `tokenOut` - Token to buy (contract address)
394
- - `amount` - Amount to sell in smallest unit (e.g., 1000000 = 1 USDC with 6 decimals)
395
-
396
- **Options:**
397
-
398
- - `-s, --slippage <bps>` - Slippage tolerance in basis points (default: 50 = 0.5%)
399
-
400
- **Examples:**
401
-
402
- ```bash
403
- # Swap 1 USDC for WETH with default 0.5% slippage
404
- httpcat swap 0x036cbd53842c5426634e7929541ec2318f3dcf7e 0x4200000000000000000000000000000000000006 1000000
405
-
406
- # Swap with 1% slippage tolerance
407
- httpcat swap 0x036c... 0x4200... 1000000 --slippage 100
408
- ```
409
-
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
88
+ httpcat buy MTK 0.10
89
+ httpcat positions
676
90
  ```
677
91
 
678
- ### Token Info
92
+ ### MCP Integration
679
93
 
680
- Get detailed information about a token.
681
-
682
- **Interactive:**
94
+ Give your agent claws:
683
95
 
684
96
  ```bash
685
- httpcat> info 0x1234...
686
- httpcat> info "My Token"
687
- httpcat> info MTK
97
+ httpcat mcp install
688
98
  ```
689
99
 
690
- **CLI:**
691
-
692
- ```bash
693
- httpcat info 0x1234567890abcdef1234567890abcdef12345678
694
- httpcat info "My Token"
695
- httpcat info MTK
696
- ```
100
+ Your agent can now use all CLI commands as MCP tools. One integration, access to everything.
697
101
 
698
- **Token Identifier:**
102
+ ---
699
103
 
700
- - Address, name, or symbol (same as buy command)
104
+ ## Commands
701
105
 
702
- **Output:**
106
+ ### Launchpad
107
+
108
+ - `launchpad list` — List all launchpad tokens (FREE)
109
+ - `launchpad info <identifier>` — Get launchpad token information (FREE)
110
+ - `launchpad buy <identifier> <amount>` — Buy tokens from bonding curve (amount + 1% fee)
111
+ - `launchpad sell <identifier> <amount>` — Sell tokens to bonding curve ($0.01)
112
+ - `launchpad positions` — Get launchpad token positions (FREE)
113
+ - `create <name> <symbol>` — Create a new token on the 402.cat launchpad ($0.01)
114
+
115
+ **Shortcuts:** `list`, `info`, `buy`, `sell`, `positions`, `create`
116
+
117
+ ### Entrypoints
118
+
119
+ - `swap <tokenIn> <tokenOut> <amount>` — Execute swaps via 402.cat DEX aggregator ($0.10)
120
+
121
+ ### Tools
122
+
123
+ EVM development & interaction tools for building and working with blockchain transactions:
124
+
125
+ - `tools address` — Address utilities
126
+ - `tools address validate <address>` — Validate Ethereum address format ($0.001)
127
+ - `tools address checksum <address>` — Convert address to EIP-55 checksum format ($0.001)
128
+ - `tools address derive <privateKey>` — Derive address from private key ($0.001)
129
+ - `tools address balance <address>` — Get address balance (ETH + tokens) ($0.001)
130
+ - `tools abi` — ABI encoding/decoding utilities
131
+ - `tools abi encode` — Encode function call from ABI and arguments ($0.001)
132
+ - `tools abi decode` — Decode function result or event log ($0.001)
133
+ - `tools abi parse` — Parse ABI JSON and return structured format ($0.001)
134
+ - `tools tx` — Transaction utilities
135
+ - `tools tx build` — Build complete transaction with auto-filled fields ($0.001)
136
+ - `tools tx encode` — Encode transaction to RLP format ($0.001)
137
+ - `tools tx decode` — Decode RLP transaction ($0.001)
138
+ - `tools tx simulate` — Enhanced transaction simulation with state analysis ($0.001)
139
+ - `tools tx estimate-gas` — Estimate gas for transaction ($0.001)
140
+ - `tools tx prepare` — Prepare transaction for signing ($0.001)
141
+ - `tools signature` — Signature utilities
142
+ - `tools signature eip191` — Prepare EIP-191 personal sign message ($0.001)
143
+ - `tools signature eip712` — Prepare EIP-712 structured data signature ($0.001)
144
+ - `tools signature permit2` — Prepare Permit2 signature message ($0.001)
145
+ - `tools multicall` — Multicall operations
146
+ - `tools multicall encode` — Encode multicall operation ($0.001)
147
+ - `tools multicall decode` — Decode multicall results ($0.001)
148
+ - `tools nonce` — Nonce management
149
+ - `tools nonce get <address>` — Get current nonce for address ($0.001)
150
+ - `tools nonce predict <address>` — Predict next nonce accounting for pending transactions ($0.001)
151
+ - `tools gas` — Gas utilities
152
+ - `tools gas price` — Get current gas price ($0.001)
153
+ - `tools gas estimate` — Estimate gas for operation ($0.001)
154
+ - `tools gas optimize` — Optimize gas settings for transaction ($0.001)
155
+ - `tools key` — Key utilities
156
+ - `tools key derive <privateKey>` — Derive address from private key ($0.001)
157
+ - `tools key validate <privateKey>` — Validate private key format ($0.001)
158
+ - `tools rpc` — RPC utilities
159
+ - `tools rpc proxy` — Enhanced JSON-RPC proxy ($0.001)
160
+ - `tools rpc batch` — Batch multiple RPC calls ($0.001)
161
+ - `tools rpc health` — Check RPC endpoint health ($0.001)
162
+ - `tools call <url>` — Call an arbitrary x402-protected HTTP endpoint with automatic payment handling (varies by endpoint)
163
+ - `rpc` — JSON-RPC proxy for blockchain calls ($0.05)
164
+
165
+ ### MCP
166
+
167
+ - `mcp install [llm-name]` — Install or update httpcat MCP server for AI assistants
168
+ - `mcp start` — Start MCP (Model Context Protocol) server
703
169
 
704
- - Token name, symbol, address
705
- - Current price and market cap
706
- - Graduation progress
707
- - Your position (if you hold any)
708
- - P&L calculation
170
+ ### Configuration
709
171
 
710
- **Cost:** $0.0001 USDC
172
+ - `config` — Configure httpcat (settings, environment, accounts)
173
+ - `config setup` — Run interactive setup wizard
174
+ - `config reset` — Reset configuration (clears all settings)
175
+ - `config completion [shell]` — Generate shell completion script
176
+ - `config update` — Update httpcat CLI to the latest version
177
+ - `use <value>` — Switch account or environment
711
178
 
712
- ### List Tokens
179
+ ### Infrastructure
713
180
 
714
- List all tokens with pagination and sorting.
181
+ - `accounts` List all configured accounts
715
182
 
716
- **Interactive:**
183
+ **Additional Shortcuts:** `transactions` (→ portfolio transactions), `health` (→ system health), `balances` (→ portfolio balances)
717
184
 
718
- ```bash
719
- httpcat> list
720
- httpcat> list --sort mcap --limit 10
721
- httpcat> list --page 2
722
- ```
185
+ ---
723
186
 
724
- **CLI:**
187
+ ## x402 Protocol
725
188
 
726
- ```bash
727
- httpcat list
728
- httpcat list --sort created --limit 50
729
- httpcat list --page 3 --sort name
730
- ```
189
+ httpcat is built on the [x402 protocol](https://x402.org) — HTTP-native micropayments that work without middleware or wallets.
731
190
 
732
- **Options:**
191
+ **How it works:**
733
192
 
734
- - `-s, --sort <field>` - Sort by `mcap`, `created`, or `name` (default: `mcap`)
735
- - `-l, --limit <n>` - Items per page (default: 20, max: 100)
736
- - `-p, --page <n>` - Page number (default: 1)
193
+ 1. Make HTTP request to x402 endpoint
194
+ 2. Receive `402 Payment Required` response
195
+ 3. Generate payment signature using your private key
196
+ 4. Retry request with `PAYMENT-SIGNATURE` header
197
+ 5. Endpoint verifies payment and processes request
737
198
 
738
- **Cost:** $0.0001 USDC
199
+ **No middleware required.** The protocol is built into HTTP. No wallet management. No complex setup. Just HTTP requests with payment headers.
739
200
 
740
- ### Positions
201
+ httpcat handles all of this automatically. You just make requests.
741
202
 
742
- Get all your positions with comprehensive information including current value, profit/loss, ROI, transaction history, and portfolio summary.
203
+ **Protocol Versions:** httpcat supports both x402 v1 (payment requirements in response body) and v2 (payment requirements in `PAYMENT-REQUIRED` header). The client automatically detects and handles both formats.
743
204
 
744
- **Interactive:**
205
+ ---
745
206
 
746
- ```bash
747
- httpcat> positions
748
- ```
207
+ ## MCP Server
749
208
 
750
- **CLI:**
209
+ The MCP server exposes all CLI commands as tools for AI assistants:
751
210
 
752
211
  ```bash
753
- httpcat positions
754
- httpcat positions --active # Only active positions
755
- httpcat positions --graduated # Only graduated positions
756
- httpcat -j positions
757
- httpcat -k 0x... positions
212
+ httpcat mcp install
758
213
  ```
759
214
 
760
- **Options:**
761
-
762
- - `-a, --active` - Show only active (non-graduated) positions
763
- - `-g, --graduated` - Show only graduated positions (historical)
764
-
765
- **Output:**
766
-
767
- For each position:
768
-
769
- - Token information (name, symbol, address, status, price, market cap, graduation progress)
770
- - Position details (tokens owned, USDC invested, current value, average cost per token)
771
- - Performance metrics (profit/loss in USDC and percentage ROI)
772
- - Position age (days, hours, minutes, seconds since first purchase)
773
- - Transaction history (total transaction count, last transaction date)
774
- - Timestamps (position created and updated dates)
775
-
776
- Portfolio summary:
777
-
778
- - Total positions count
779
- - Total portfolio value
780
- - Total amount invested
781
- - Total profit/loss and overall ROI percentage
782
-
783
- **Cost:** $0.01 USDC
784
-
785
- ### Claim LP Fees
786
-
787
- View and claim accumulated liquidity provider fees for graduated tokens.
788
-
789
- **Interactive:**
215
+ Or start manually:
790
216
 
791
217
  ```bash
792
- httpcat> claim "My Token" # View accumulated fees
793
- httpcat> claim MTK # View by symbol
794
- httpcat> claim MTK --execute # Claim fees
218
+ httpcat mcp start
795
219
  ```
796
220
 
797
- **CLI:**
221
+ **Configuration:**
798
222
 
799
- ```bash
800
- httpcat claim "My Token"
801
- httpcat claim MTK
802
- httpcat claim MTK --execute
803
- httpcat claim 0x1234... --execute
804
- httpcat --json claim "My Token"
223
+ ```json
224
+ {
225
+ "mcpServers": {
226
+ "httpcat": {
227
+ "command": "npx",
228
+ "args": ["-y", "httpcat-cli", "mcp", "start"]
229
+ }
230
+ }
231
+ }
805
232
  ```
806
233
 
807
- **Options:**
808
-
809
- - `-e, --execute` - Execute the claim transaction (default is view-only)
810
- - `-A, --address <address>` - Caller address (defaults to wallet address)
234
+ **Note:** Private key is NOT included in MCP config — the server reads from `~/.config/httpcat/config.json` automatically.
811
235
 
812
- **Token Identifier:**
236
+ Your agent can now:
813
237
 
814
- - Address, name, or symbol (same as buy/sell commands)
238
+ - Use entrypoints (swap, launchpad, rpc)
239
+ - Use launchpad commands (create, buy, sell, list, info, positions)
240
+ - Discover and compose services
241
+ - Build capabilities
815
242
 
816
- **Output:**
243
+ ---
817
244
 
818
- When viewing (without `--execute`):
819
-
820
- - Total accumulated fees (tokens and USDC)
821
- - Creator share (80%)
822
- - Platform share (20%)
823
- - LP lock status and details
824
- - V4 position details (if applicable)
245
+ ## Global Options
825
246
 
826
- When claiming (with `--execute`):
247
+ - `-j, --json` — JSON output for scripting
248
+ - `-q, --quiet` — Minimal output
249
+ - `-v, --verbose` — Verbose errors
250
+ - `--no-art` — Disable ASCII art
251
+ - `-k, --private-key <key>` — Override private key
252
+ - `-a, --account <index>` — Use specific account
827
253
 
828
- - Transaction hash
829
- - Fees claimed (tokens and USDC)
830
- - Creator and platform shares distribution
254
+ ---
831
255
 
832
- **Cost:** Free to view, gas fees apply for claiming
256
+ ## Documentation
833
257
 
834
- ### Transactions
258
+ For detailed documentation, entrypoint reference, and deployment guides:
835
259
 
836
- Get paginated transaction history with filtering options.
260
+ **📖 [docs.402.cat](https://www.402.cat/docs)**
837
261
 
838
- **Interactive:**
262
+ ---
839
263
 
840
- ```bash
841
- httpcat> transactions
842
- httpcat> transactions --type buy
843
- httpcat> transactions --token abc123-...
844
- ```
264
+ ## The Foundation
845
265
 
846
- **CLI:**
266
+ httpcat is built on three primitives:
847
267
 
848
- ```bash
849
- httpcat transactions
850
- httpcat transactions --user 0x1234...
851
- httpcat transactions --token abc123-... --type buy
852
- httpcat transactions --type sell --limit 20
853
- httpcat --json transactions --offset 50
854
- ```
268
+ 1. **x402 Protocol** — HTTP-native micropayments, no middleware
269
+ 2. **Entrypoint Registry** — Discoverable, composable services
270
+ 3. **Automatic Payments** — Payment signatures handled automatically
855
271
 
856
- **Options:**
272
+ This is the infrastructure that lets agents transact without wallets, discover services without APIs, and build capabilities by composing entrypoints.
857
273
 
858
- - `-u, --user <address>` - Filter by user address (defaults to active account)
859
- - `-t, --token <tokenId>` - Filter by token ID
860
- - `-T, --type <type>` - Filter by type: `buy`, `sell`, or `airdrop`
861
- - `-l, --limit <number>` - Number of results (default: 50, max: 100)
862
- - `-o, --offset <number>` - Pagination offset (default: 0)
274
+ **Money is the alignment mechanism.** An agent with a budget has to prioritize. Every action costs something. Run out of funds, you stop. Make bad decisions, you go broke.
863
275
 
864
- **Output:**
276
+ The constraint is what makes it work.
865
277
 
866
- For each transaction:
867
-
868
- - Transaction type (buy, sell, or airdrop)
869
- - Status (pending, success, or failed)
870
- - Token information (name, symbol, ID)
871
- - User address
872
- - Amount and fee
873
- - Transaction hash
874
- - Date/time
875
-
876
- **Cost:** Varies based on API call
877
-
878
- **Note:** Defaults to showing transactions for your active account. Use `--user` to view transactions for a different address.
879
-
880
- ### Check Balances
881
-
882
- Check your wallet's ETH and USDC balances.
883
-
884
- **Interactive:**
885
-
886
- ```bash
887
- httpcat> balances
888
- ```
889
-
890
- **CLI:**
891
-
892
- ```bash
893
- httpcat balances
894
- httpcat balances -k 0x...
895
- ```
896
-
897
- **Output:**
898
-
899
- - Wallet address
900
- - ETH balance (for gas fees)
901
- - USDC balance (for trading)
902
- - CAT balance (402CAT token)
903
- - Low balance warnings if applicable
904
-
905
- **Cost:** Free (no payment required)
906
-
907
- **Note:** If no private key is configured, you'll be prompted to enter it interactively (same as other commands).
908
-
909
- ### Account Management
910
-
911
- Manage multiple accounts, view account information, and switch between accounts.
912
-
913
- **Interactive:**
914
-
915
- ```bash
916
- httpcat> account # Show active account info
917
- httpcat> account list # List all accounts
918
- httpcat> account switch 1 # Switch to account 1
919
- httpcat> account add # Add new account
920
- ```
921
-
922
- **CLI:**
923
-
924
- ```bash
925
- httpcat account # Show active account
926
- httpcat account list # List all accounts
927
- httpcat account switch 1 # Switch to account 1
928
- httpcat account add # Add new account
929
- httpcat --account 2 positions # Use account 2 for positions
930
- httpcat -a 1 buy MTK 0.10 # Use account 1 for buy
931
- httpcat --json account
932
- ```
933
-
934
- **Subcommands:**
935
-
936
- - `account` (no args) - Display active account information (address, balances, positions)
937
- - `account list` - List all configured accounts with their details
938
- - `account switch <index>` - Switch to a different account by index
939
- - `account add` - Add a new seed-derived account (HD wallet)
940
-
941
- **Account Types:**
942
-
943
- 1. **Seed-Derived** (Account 1+) - Accounts generated from your seed phrase using BIP-32/BIP-39
944
- 2. **Custom** (Account 0) - Account added via private key import
945
-
946
- **Output:**
947
-
948
- Account information includes:
949
-
950
- - Account index and type (Seed-Derived or Custom)
951
- - Wallet address (checksummed)
952
- - ETH balance (for gas fees)
953
- - USDC balance (for trading)
954
- - CAT balance (402CAT token)
955
- - All positions (if any) with P&L
956
-
957
- **Cost:** $0.01 USDC (for positions data; balances are free)
958
-
959
- **Security Note:** All accounts share the same password protection when password is enabled. Switch accounts anytime using the `--account` flag or `account switch` command.
960
-
961
- ### Health Check
962
-
963
- Check if the agent is running.
964
-
965
- **Interactive:**
966
-
967
- ```bash
968
- httpcat> health
969
- ```
970
-
971
- **CLI:**
972
-
973
- ```bash
974
- httpcat health
975
- ```
976
-
977
- **Cost:** $0.0001 USDC (or 402 response)
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
-
1046
- ### Chat
1047
-
1048
- Start streaming chat with the httpcat community. Join general chat or token-specific discussions.
1049
-
1050
- **Interactive:**
1051
-
1052
- ```bash
1053
- httpcat> chat # Join general chat
1054
- httpcat> chat MTK # Join chat for token with symbol "MTK"
1055
- httpcat> chat "My Token" # Join chat for token with name "My Token"
1056
- httpcat> chat 0x1234... # Join chat for token at address
1057
- ```
1058
-
1059
- **CLI:**
1060
-
1061
- ```bash
1062
- httpcat chat
1063
- httpcat chat MTK
1064
- httpcat chat "My Token"
1065
- httpcat chat 0x1234...
1066
- httpcat -j chat MTK
1067
- httpcat -j -f stream-json chat MTK # Structured JSON input
1068
- ```
1069
-
1070
- **Token Identifier:**
1071
-
1072
- - Token symbol: `MTK` (case-insensitive)
1073
- - Token name: `"My Token"` (use quotes if it contains spaces)
1074
- - Token address: `0x1234...`
1075
-
1076
- **In-Chat Commands:**
1077
-
1078
- While in a chat session, you can use these commands:
1079
-
1080
- - `/exit` or `/quit` - Exit the chat
1081
- - `/renew` - Renew your 10-minute lease
1082
- - `/buy <amount>` - Buy tokens (token-specific chats only)
1083
- - `/sell <amount>` - Sell tokens (token-specific chats only)
1084
- - `/help` - Show available commands
1085
-
1086
- **Examples:**
1087
-
1088
- ```
1089
- /renew
1090
- /buy 0.10
1091
- /sell 50%
1092
- /sell all
1093
- ```
1094
-
1095
- **Note:** The `/buy` and `/sell` commands are only available in token-specific chats, not in general chat.
1096
-
1097
- **Options:**
1098
-
1099
- - `-f, --input-format <format>` - Input format (only works with `--json`): `"text"` (default) or `"stream-json"` (realtime streaming input)
1100
- - `"text"`: Line-delimited text input (default)
1101
- - `"stream-json"`: Newline-delimited JSON (NDJSON) objects. Each line is a JSON object: `{"message": "text"}` or `{"command": "/renew"}`
1102
-
1103
- **Cost:** $0.01 USDC to join, $0.0001 USDC per message, 10 minute lease
1104
-
1105
- **Note:** For AI agents, consider using MCP tools (`chat_join`, `chat_send_message`, etc.) instead of CLI streaming for better integration. See [MCP Chat Tools](#chat-tools-usage-example) section.
1106
-
1107
- ### Cat (Interactive AI Assistant)
1108
-
1109
- Interact with an AI-powered assistant that can help you with token operations, portfolio management, and more using natural language.
1110
-
1111
- **Interactive:**
1112
-
1113
- ```bash
1114
- httpcat> cat
1115
- # Starts interactive AI chat session
1116
- # Type /exit to quit
1117
- ```
1118
-
1119
- **Usage:**
1120
-
1121
- The `cat` command starts an interactive AI assistant session where you can ask questions and give trading commands in natural language. The assistant will execute operations on your behalf.
1122
-
1123
- **First-Time Setup:**
1124
-
1125
- Before using the cat command, you'll need to configure your AI provider:
1126
-
1127
- ```bash
1128
- httpcat config
1129
- ```
1130
-
1131
- During setup, you'll be prompted to:
1132
-
1133
- - Choose an AI provider (OpenAI or Anthropic)
1134
- - Enter your API key
1135
- - Select a model (defaults provided)
1136
-
1137
- **How It Works:**
1138
-
1139
- The cat assistant uses AI (powered by OpenAI GPT-4 or Anthropic Claude) to understand natural language requests and execute token operations on your behalf. It can:
1140
-
1141
- - Buy and sell tokens
1142
- - Check balances and positions
1143
- - List tokens
1144
- - Get token information
1145
- - Answer questions about your portfolio
1146
- - And more!
1147
-
1148
- **Note:** The cat requires an API key from either OpenAI or Anthropic. Your API key is stored locally and encrypted, and is only sent to the LLM provider - never to any other server.
1149
-
1150
- ### Agent (Autonomous Trading)
1151
-
1152
- Configure and run an autonomous trading agent that monitors token events and makes trading decisions based on your risk parameters.
1153
-
1154
- **Interactive:**
1155
-
1156
- ```bash
1157
- httpcat> agent setup # Configure autonomous trading settings
1158
- ```
1159
-
1160
- **CLI:**
1161
-
1162
- ```bash
1163
- httpcat agent setup
1164
- ```
1165
-
1166
- **Configuration Options:**
1167
-
1168
- When setting up the autonomous agent, you can configure:
1169
-
1170
- - **Max Trade Amount** - Maximum USDC per trade
1171
- - **Risk Tolerance** - Conservative, moderate, or aggressive
1172
- - **Token Filters** - Minimum holders, max whale percentage, min liquidity
1173
- - **Trading Thresholds** - Stop loss and take profit percentages
1174
- - **Auto-Execute** - Enable automatic trade execution or recommendation-only mode
1175
-
1176
- **How It Works:**
1177
-
1178
- The autonomous agent:
1179
-
1180
- 1. Monitors real-time token events via event stream
1181
- 2. Analyzes tokens based on your configured filters and risk parameters
1182
- 3. Makes trading decisions using AI reasoning
1183
- 4. Either executes trades automatically or provides recommendations (based on your settings)
1184
- 5. Tracks positions and maintains a decision history database
1185
-
1186
- **Note:** The autonomous agent requires AI provider configuration (same as the `cat` command). Always start with recommendation-only mode before enabling auto-execution.
1187
-
1188
- ### Help
1189
-
1190
- Display help information for httpcat.
1191
-
1192
- **CLI:**
1193
-
1194
- ```bash
1195
- httpcat help
1196
- httpcat --help
1197
- httpcat -h
1198
- ```
1199
-
1200
- All three commands show the same help output with available commands and options.
1201
-
1202
- ### Configuration
1203
-
1204
- Manage your httpcat configuration.
1205
-
1206
- **Interactive:**
1207
-
1208
- ```bash
1209
- httpcat> config -s # Show current config
1210
- httpcat> config -S network=base # Update a setting
1211
- httpcat> config -r # Re-run setup wizard
1212
- ```
1213
-
1214
- **CLI:**
1215
-
1216
- ```bash
1217
- httpcat config # Run setup wizard
1218
- httpcat config -s # Show current config (JSON)
1219
- httpcat config -S network=base # Update a setting
1220
- ```
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
-
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",
1759
- "newPrice": "0.0002",
1760
- "newMarketCap": "200000",
1761
- "graduationProgress": 0.15,
1762
- "txHash": "0x..."
1763
- }
1764
- ```
1765
-
1766
- **Sell Token (`token_sell`)**
1767
-
1768
- ```json
1769
- {
1770
- "tokenId": "uuid-string",
1771
- "tokensSold": "1000",
1772
- "usdcReceived": "0.20",
1773
- "fee": "0.002",
1774
- "newPrice": "0.00018",
1775
- "newMarketCap": "180000",
1776
- "txHash": "0x..."
1777
- }
1778
- ```
1779
-
1780
- **Token Info (`token_info`)**
1781
-
1782
- ```json
1783
- {
1784
- "tokenId": "uuid-string",
1785
- "name": "Token Name",
1786
- "symbol": "SYMBOL",
1787
- "address": "0x...",
1788
- "status": "active",
1789
- "price": "0.0002",
1790
- "mcap": "200000",
1791
- "graduationProgress": 0.15,
1792
- "totalSupply": "1000000000000000000000000000",
1793
- "createdAt": "2025-11-22T10:30:00.000Z",
1794
- "userPosition": {
1795
- // Optional: only if you own tokens
1796
- "tokensOwned": "50000",
1797
- "usdcInvested": "5.00",
1798
- "currentValue": "10.00",
1799
- "pnl": "5.00"
1800
- }
1801
- }
1802
- ```
1803
-
1804
- **List Tokens (`list_tokens`)**
1805
-
1806
- ```json
1807
- {
1808
- "tokens": [
1809
- {
1810
- "tokenId": "uuid-string",
1811
- "name": "Token Name",
1812
- "symbol": "SYMBOL",
1813
- "address": "0x...",
1814
- "status": "active",
1815
- "mcap": "200000",
1816
- "price": "0.0002",
1817
- "graduationProgress": 0.15,
1818
- "createdAt": "2025-11-22T10:30:00.000Z",
1819
- "entrypointKey": "..."
1820
- }
1821
- ],
1822
- "total": 100,
1823
- "page": 1,
1824
- "limit": 20,
1825
- "pages": 5
1826
- }
1827
- ```
1828
-
1829
- **Positions (`positions`)**
1830
-
1831
- ```json
1832
- {
1833
- "positions": [
1834
- {
1835
- "tokenId": "uuid-string",
1836
- "tokensOwned": "50000",
1837
- "usdcInvested": "5000000",
1838
- "currentValue": "10000000",
1839
- "pnl": "5000000",
1840
- "pnlPercentage": 100.0,
1841
- "averageCostPerToken": "0.0001",
1842
- "positionAge": {
1843
- "days": 2,
1844
- "hours": 5,
1845
- "minutes": 30,
1846
- "seconds": 15
1847
- },
1848
- "createdAt": "2025-11-22T10:30:00.000Z",
1849
- "updatedAt": "2025-11-24T15:30:00.000Z",
1850
- "lastTransactionDate": "2025-11-24T15:30:00.000Z",
1851
- "transactionCount": 3,
1852
- "token": {
1853
- "name": "Token Name",
1854
- "symbol": "SYMBOL",
1855
- "address": "0x...",
1856
- "status": "active",
1857
- "price": "0.0002",
1858
- "mcap": "200000",
1859
- "graduationProgress": 0.15
1860
- }
1861
- }
1862
- ],
1863
- "total": 1,
1864
- "summary": {
1865
- "totalPositions": 1,
1866
- "totalValue": "10000000",
1867
- "totalInvested": "5000000",
1868
- "totalPnl": "5000000",
1869
- "totalPnlPercentage": 100.0
1870
- }
1871
- }
1872
- ```
1873
-
1874
- **Health Check (`health`)**
1875
-
1876
- ```json
1877
- {
1878
- "status": "ok",
1879
- "timestamp": "2025-11-22T10:30:00.000Z",
1880
- "agent": "https://agent-test.402.cat"
1881
- }
1882
- ```
1883
-
1884
- **Balances (`balances`)**
1885
-
1886
- ```json
1887
- {
1888
- "address": "0x...",
1889
- "ethBalance": "1000000000000000000",
1890
- "usdcBalance": "5000000",
1891
- "ethFormatted": "1.0 ETH",
1892
- "usdcFormatted": "5.00 USDC"
1893
- }
1894
- ```
1895
-
1896
- **Version (`--version --json`)**
1897
-
1898
- ```json
1899
- {
1900
- "name": "httpcat-cli",
1901
- "version": "0.3.0"
1902
- }
1903
- ```
1904
-
1905
- ### Quiet Mode
1906
-
1907
- Minimal output, only exit codes:
1908
-
1909
- ```bash
1910
- $ httpcat -q buy abc123-... 0.20
1911
- $ echo $?
1912
- 0
1913
- ```
1914
-
1915
- **Exit Codes:**
1916
-
1917
- - `0` - Success
1918
- - `1` - General error
1919
- - `2` - Configuration error
1920
- - `3` - Network error
1921
- - `4` - Insufficient funds
1922
- - `5` - Validation error
1923
-
1924
- ### Example: LLM/Agent Integration
1925
-
1926
- ```bash
1927
- #!/bin/bash
1928
-
1929
- # Create a token
1930
- RESULT=$(httpcat -j create "AI Token" "AI")
1931
- TOKEN_ADDRESS=$(echo $RESULT | jq -r '.data.tokenAddress')
1932
-
1933
- # Buy some tokens
1934
- httpcat -j buy $TOKEN_ADDRESS 5
1935
-
1936
- # Get current info
1937
- httpcat -j info $TOKEN_ADDRESS
1938
-
1939
- # Sell 50% if profitable
1940
- INFO=$(httpcat -j info $TOKEN_ADDRESS)
1941
- PNL=$(echo $INFO | jq -r '.data.userPosition.pnl')
1942
-
1943
- if (( $(echo "$PNL > 0" | bc -l) )); then
1944
- httpcat -j sell $TOKEN_ADDRESS 50%
1945
- fi
1946
- ```
1947
-
1948
- ### Example: Chat Streaming with Structured Input
1949
-
1950
- For scripts that need raw streaming access:
1951
-
1952
- ```bash
1953
- # Using stream-json input format
1954
- echo '{"message": "Hello!"}' | httpcat -j -f stream-json chat MTK
1955
- echo '{"command": "/renew"}' | httpcat -j -f stream-json chat MTK
1956
-
1957
- # Or pipe multiple messages
1958
- cat messages.ndjson | httpcat -j -f stream-json chat MTK
1959
- ```
1960
-
1961
- **Note:** For AI agents, MCP tools are recommended over CLI streaming. See [MCP Chat Tools](#chat-tools-usage-example) section.
1962
-
1963
- ## MCP Server (Model Context Protocol)
1964
-
1965
- httpcat includes a built-in MCP server that exposes all CLI commands as MCP tools, enabling seamless integration with AI assistants like Claude (via Claude Desktop) or Cursor.
1966
-
1967
- ### Quick Start
1968
-
1969
- **Start the MCP server:**
1970
-
1971
- ```bash
1972
- httpcat mcp start
1973
- ```
1974
-
1975
- **Or use npx (no installation needed):**
1976
-
1977
- ```bash
1978
- npx httpcat-cli mcp start
1979
- ```
1980
-
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
2007
-
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:
2013
-
2014
- #### For Cursor
2015
-
2016
- Add to your Cursor settings (`.cursor/mcp.json` or settings UI):
2017
-
2018
- ```json
2019
- {
2020
- "mcpServers": {
2021
- "httpcat": {
2022
- "command": "npx",
2023
- "args": ["-y", "httpcat-cli", "mcp-server"]
2024
- }
2025
- }
2026
- }
2027
- ```
2028
-
2029
- #### For Claude Desktop
2030
-
2031
- Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
2032
-
2033
- ```json
2034
- {
2035
- "mcpServers": {
2036
- "httpcat": {
2037
- "command": "npx",
2038
- "args": ["-y", "httpcat-cli", "mcp-server"]
2039
- }
2040
- }
2041
- }
2042
- ```
2043
-
2044
- #### Using Global Install
2045
-
2046
- If you've installed httpcat globally:
2047
-
2048
- ```json
2049
- {
2050
- "mcpServers": {
2051
- "httpcat": {
2052
- "command": "httpcat",
2053
- "args": ["mcp-server"]
2054
- }
2055
- }
2056
- }
2057
- ```
2058
-
2059
- **Important**: No `HTTPCAT_PRIVATE_KEY` in env - the MCP server automatically reads from `~/.config/httpcat/config.json`.
2060
-
2061
- ### Available MCP Tools
2062
-
2063
- The MCP server exposes the following tools:
2064
-
2065
- #### `create_token`
2066
-
2067
- Create a new token on the bonding curve.
2068
-
2069
- **Parameters:**
2070
-
2071
- - `name` (string, required) - Token name (e.g., "My Token")
2072
- - `symbol` (string, required) - Token symbol/ticker (3-10 characters)
2073
- - `photoUrl` (string, optional) - Photo URL, file path, or base64 data URL for token logo
2074
- - `websiteUrl` (string, optional) - Website URL
2075
- - `privateKey` (string, optional) - Private key (overrides config/env)
2076
-
2077
- **Cost:** $0.01 USDC
2078
-
2079
- #### `buy_token`
2080
-
2081
- Buy tokens from the bonding curve.
2082
-
2083
- **Parameters:**
2084
-
2085
- - `identifier` (string, required) - Address, name, or symbol
2086
- - `amount` (string, required) - Amount: "0.05", "0.10", or "0.20" (testnet) | "50", "100", or "200" (mainnet)
2087
- - `privateKey` (string, optional) - Private key (overrides config/env)
2088
-
2089
- **Cost:** Amount + 1% fee
2090
-
2091
- #### `sell_token`
2092
-
2093
- Sell tokens back to the bonding curve.
2094
-
2095
- **Parameters:**
2096
-
2097
- - `identifier` (string, required) - Address, name, or symbol
2098
- - `amount` (string, required) - Amount: number (e.g., "1000"), percentage (e.g., "50%"), or "all"
2099
- - `privateKey` (string, optional) - Private key (overrides config/env)
2100
-
2101
- **Cost:** 1% fee deducted from proceeds
2102
-
2103
- #### `token_info`
2104
-
2105
- Get detailed information about a token.
2106
-
2107
- **Parameters:**
2108
-
2109
- - `identifier` (string, required) - Address, name, or symbol
2110
- - `privateKey` (string, optional) - Private key (overrides config/env)
2111
-
2112
- **Returns:** Token details, price, market cap, graduation progress, and your position (if you own tokens)
2113
-
2114
- **Cost:** $0.0001 USDC
2115
-
2116
- #### `list_tokens`
2117
-
2118
- List all tokens with pagination and sorting.
2119
-
2120
- **Parameters:**
2121
-
2122
- - `page` (number, optional) - Page number (default: 1)
2123
- - `limit` (number, optional) - Items per page (default: 20, max: 100)
2124
- - `sort` (string, optional) - Sort by: "mcap", "created", or "name" (default: "mcap")
2125
- - `privateKey` (string, optional) - Private key (overrides config/env)
2126
-
2127
- **Cost:** $0.0001 USDC
2128
-
2129
- #### `positions`
2130
-
2131
- Get all your positions with comprehensive information including current value, profit/loss, ROI, transaction history, and portfolio summary.
2132
-
2133
- **Parameters:**
2134
-
2135
- - `privateKey` (string, optional) - Private key (overrides config/env)
2136
-
2137
- **Returns:** All positions for the requesting address with:
2138
-
2139
- - Position details (tokens owned, USDC invested, current value, average cost)
2140
- - Performance metrics (profit/loss, ROI percentage)
2141
- - Position age and transaction history
2142
- - Token information for each position
2143
- - Portfolio summary (total value, total invested, total P/L, overall ROI)
2144
-
2145
- **Cost:** $0.01 USDC
2146
-
2147
- #### `check_balance`
2148
-
2149
- Check wallet balance (ETH and USDC).
2150
-
2151
- **Parameters:**
2152
-
2153
- - `privateKey` (string, optional) - Private key (overrides config/env)
2154
-
2155
- **Cost:** Free (no payment required)
2156
-
2157
- #### `health_check`
2158
-
2159
- Check if the httpcat agent is running and healthy.
2160
-
2161
- **Parameters:**
2162
-
2163
- - `privateKey` (string, optional) - Private key (overrides config/env)
2164
-
2165
- **Cost:** $0.0001 USDC
2166
-
2167
- #### `chat_join`
2168
-
2169
- Join a chat room (general or token-specific). Establishes a WebSocket connection and returns a leaseId for subsequent chat operations.
2170
-
2171
- **Parameters:**
2172
-
2173
- - `tokenIdentifier` (string, optional) - Token symbol, name, or address (e.g., "FRIDA", "My Token", or "0x1234..."). If not provided, joins general chat.
2174
- - `privateKey` (string, optional) - Private key (overrides config/env)
2175
-
2176
- **Returns:** `{ leaseId, leaseExpiresAt, wsUrl, lastMessages[] }`
2177
-
2178
- **Cost:** $0.01 USDC to join, $0.0001 USDC per message, 10 minute lease
2179
-
2180
- **Note:** The MCP server maintains the WebSocket connection in the background and caches messages. Use `chat_get_recent_messages` to poll for new messages.
2181
-
2182
- #### `chat_send_message`
2183
-
2184
- Send a message to the active chat.
2185
-
2186
- **Parameters:**
2187
-
2188
- - `message` (string, required) - Message text to send
2189
- - `leaseId` (string, required) - Lease ID from `chat_join` result
2190
- - `privateKey` (string, optional) - Private key (overrides config/env)
2191
-
2192
- **Returns:** `{ messageId, timestamp, message, author }`
2193
-
2194
- **Cost:** $0.0001 USDC per message
2195
-
2196
- #### `chat_renew_lease`
2197
-
2198
- Renew an expiring or expired chat lease.
2199
-
2200
- **Parameters:**
2201
-
2202
- - `leaseId` (string, optional) - Lease ID to renew. If not provided, renews most recent lease for the private key.
2203
- - `privateKey` (string, optional) - Private key (overrides config/env)
2204
-
2205
- **Returns:** `{ leaseId, leaseExpiresAt }`
2206
-
2207
- **Cost:** $0.01 USDC
2208
-
2209
- #### `chat_get_recent_messages`
2210
-
2211
- Get recent messages from chat (polling mechanism). Returns cached messages from the active chat session.
2212
-
2213
- **Parameters:**
2214
-
2215
- - `leaseId` (string, required) - Lease ID from `chat_join` result
2216
- - `limit` (number, optional) - Maximum number of messages to return (default: 50)
2217
- - `privateKey` (string, optional) - Private key (overrides config/env)
2218
-
2219
- **Returns:** `{ messages[] }` with recent chat messages
2220
-
2221
- **Cost:** Free (uses cached data)
2222
-
2223
- **Note:** Messages are cached in memory as they arrive via WebSocket. Poll this tool periodically to check for new messages.
2224
-
2225
- #### `view_fees`
2226
-
2227
- View accumulated LP fees for a graduated token.
2228
-
2229
- **Parameters:**
2230
-
2231
- - `identifier` (string, required) - Token address, name, or symbol
2232
- - `callerAddress` (string, optional) - Caller address (defaults to wallet address)
2233
- - `privateKey` (string, optional) - Private key (overrides config/env)
2234
-
2235
- **Returns:** Fee information including accumulated tokens and USDC, creator/platform shares, and LP lock status
2236
-
2237
- **Cost:** Free (view only)
2238
-
2239
- #### `claim_fees`
2240
-
2241
- Claim accumulated LP fees for a graduated token.
2242
-
2243
- **Parameters:**
2244
-
2245
- - `identifier` (string, required) - Token address, name, or symbol
2246
- - `callerAddress` (string, optional) - Caller address (defaults to wallet address)
2247
- - `privateKey` (string, optional) - Private key (overrides config/env)
2248
-
2249
- **Returns:** Transaction hash and claimed fee amounts
2250
-
2251
- **Cost:** Gas fees for blockchain transaction
2252
-
2253
- #### `get_transactions`
2254
-
2255
- Get paginated transaction history with filtering options.
2256
-
2257
- **Parameters:**
2258
-
2259
- - `userAddress` (string, optional) - Filter by user address (defaults to wallet address)
2260
- - `tokenId` (string, optional) - Filter by token ID
2261
- - `type` (string, optional) - Filter by type: "buy", "sell", or "airdrop"
2262
- - `limit` (number, optional) - Number of results (default: 50, max: 100)
2263
- - `offset` (number, optional) - Pagination offset (default: 0)
2264
- - `privateKey` (string, optional) - Private key (overrides config/env)
2265
-
2266
- **Returns:** Array of transactions with type, status, token info, amount, fee, and timestamp
2267
-
2268
- **Cost:** Varies based on API call
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
-
2598
- ### Chat Tools Usage Example
2599
-
2600
- Here's how an AI agent like Claude Code would use the chat tools:
2601
-
2602
- ```javascript
2603
- // Step 1: Join the FRIDA token chat room
2604
- const joinResult = await mcp.callTool("chat_join", {
2605
- tokenIdentifier: "FRIDA",
2606
- });
2607
- // Returns: { leaseId: "abc123...", leaseExpiresAt: "...", lastMessages: [...] }
2608
-
2609
- // Step 2: Send a message
2610
- const sendResult = await mcp.callTool("chat_send_message", {
2611
- message: "Hello FRIDA community!",
2612
- leaseId: joinResult.leaseId,
2613
- });
2614
- // Returns: { messageId: "msg456...", timestamp: "...", message: "...", author: "0x..." }
2615
-
2616
- // Step 3: Poll for new messages (agent does this periodically)
2617
- const messages = await mcp.callTool("chat_get_recent_messages", {
2618
- leaseId: joinResult.leaseId,
2619
- limit: 20,
2620
- });
2621
- // Returns: { messages: [...] }
2622
-
2623
- // Step 4: Renew lease when needed
2624
- const renewal = await mcp.callTool("chat_renew_lease", {
2625
- leaseId: joinResult.leaseId,
2626
- });
2627
- // Returns: { leaseId: "new-lease-id...", leaseExpiresAt: "..." }
2628
- ```
2629
-
2630
- **Key Benefits:**
2631
-
2632
- - No shell scripting or process management required
2633
- - WebSocket connections maintained automatically by MCP server
2634
- - Messages cached in memory for quick retrieval
2635
- - Simple polling model for agents
2636
-
2637
- ### Private Key Configuration
2638
-
2639
- Private keys are automatically read from the httpcat config file (`~/.config/httpcat/config.json`).
2640
-
2641
- **Priority order** (if you need to override):
2642
-
2643
- 1. **Tool parameter** - Pass `privateKey` in each tool call (highest priority)
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.
2648
-
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.
2660
-
2661
- ### Example MCP Tool Usage
2662
-
2663
- Once configured, AI assistants can use the tools like this:
2664
-
2665
- ```
2666
- create_token(name="Moon Token", symbol="MOON", websiteUrl="https://moon.com")
2667
- buy_token(identifier="0x1234...", amount="0.20")
2668
- token_info(identifier="MOON")
2669
- list_tokens(sort="mcap", limit=10)
2670
- check_balance()
2671
- ```
2672
-
2673
- ### Response Format
2674
-
2675
- All MCP tools return structured JSON responses matching the CLI's JSON output format:
2676
-
2677
- **Success:**
2678
-
2679
- ```json
2680
- {
2681
- "success": true,
2682
- "operation": "tool_name",
2683
- "data": {
2684
- // Tool-specific data
2685
- }
2686
- }
2687
- ```
2688
-
2689
- **Error:**
2690
-
2691
- ```json
2692
- {
2693
- "success": false,
2694
- "operation": "tool_name",
2695
- "error": {
2696
- "message": "Error message",
2697
- "code": 1,
2698
- "details": {}
2699
- }
2700
- }
2701
- ```
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
-
2729
- ### Benefits
2730
-
2731
- - **No Shell Access Required** - AI assistants can interact with httpcat without needing shell/terminal access
2732
- - **Structured Responses** - Consistent JSON output format for reliable parsing
2733
- - **Secure** - Private keys stored locally, never in LLM config files
2734
- - **Automatic Onboarding** - Interactive setup when wallet not configured
2735
- - **Always Up-to-Date** - Using `npx` ensures you always get the latest version
2736
- - **Zero Configuration** - Automated installation with `mcp-install` command
2737
- - **Rich Context** - Resources and prompts provide ecosystem information
2738
-
2739
- ## Advanced Usage
2740
-
2741
- ### Environment Management
2742
-
2743
- httpcat supports multiple environments (local, base-sepolia, etc.) to easily switch between different agent deployments.
2744
-
2745
- #### List Environments
2746
-
2747
- ```bash
2748
- httpcat env list
2749
- ```
2750
-
2751
- Shows all available environments with their agent URLs and networks.
2752
-
2753
- #### Switch Environment
2754
-
2755
- ```bash
2756
- # Switch to local environment
2757
- httpcat env use local
2758
-
2759
- # Switch to base-sepolia environment
2760
- httpcat env use base-sepolia
2761
- ```
2762
-
2763
- #### Show Current Environment
2764
-
2765
- ```bash
2766
- httpcat env show
2767
- ```
2768
-
2769
- #### Add Custom Environment
2770
-
2771
- ```bash
2772
- # Add a custom environment
2773
- httpcat env add production http://production-agent:8787 -n base
2774
-
2775
- # Switch to it
2776
- httpcat env use production
2777
- ```
2778
-
2779
- #### Update Environment
2780
-
2781
- ```bash
2782
- # Update existing environment URL
2783
- httpcat env update local http://localhost:8788
2784
-
2785
- # Update environment with different network
2786
- httpcat env update production http://prod-agent:8787 -n base
2787
- ```
2788
-
2789
- Updates an existing environment's agent URL and optionally its network.
2790
-
2791
- #### Predefined Environments
2792
-
2793
- - **local** - `http://localhost:8787` (eip155:84532)
2794
- - **sepolia** - `https://agent-test.402.cat` (eip155:84532)
2795
-
2796
- #### Environment Priority
2797
-
2798
- Agent URL resolution priority:
2799
-
2800
- 1. `HTTPCAT_AGENT_URL` environment variable
2801
- 2. Current environment's agent URL
2802
- 3. Config file `agentUrl` setting
2803
- 4. Default value
2804
-
2805
- ### Environment Variables
2806
-
2807
- Override config with environment variables:
2808
-
2809
- ```bash
2810
- # Private key (most secure - doesn't save to config)
2811
- export HTTPCAT_PRIVATE_KEY=0x1234567890abcdef...
2812
-
2813
- # Agent URL (overrides environment)
2814
- export HTTPCAT_AGENT_URL=http://custom-agent:8787
2815
-
2816
- # Run commands
2817
- httpcat create "My Token" "MTK"
2818
- ```
2819
-
2820
- ### Private Key Command-Line Option
2821
-
2822
- You can also pass the private key directly via command-line flag (highest priority):
2823
-
2824
- ```bash
2825
- # Private key priority: CLI flag > Environment variable > Config file
2826
- httpcat -k 0x1234567890abcdef... create "My Token" "MTK"
2827
- httpcat -k 0x1234567890abcdef... -j buy 0x1234... 0.20
2828
- ```
2829
-
2830
- **Note:** The `--private-key` flag takes precedence over environment variables and config file settings.
2831
-
2832
- ### Custom Network Configuration
2833
-
2834
- ```bash
2835
- # Switch to mainnet
2836
- httpcat config -S network=base
2837
- httpcat config -S agentUrl=http://production-url:8787
2838
-
2839
- # Or in interactive mode
2840
- httpcat> network base
2841
- ```
2842
-
2843
- ### Disable ASCII Art
2844
-
2845
- ```bash
2846
- # Globally
2847
- httpcat config --set preferences.enableAsciiArt=false
2848
-
2849
- # Per session
2850
- httpcat --no-art
2851
- ```
2852
-
2853
- ## Configuration File
2854
-
2855
- Config is stored at `~/.config/httpcat/config.json`:
2856
-
2857
- ```json
2858
- {
2859
- "encryptedPrivateKey": "...",
2860
- "encryptedSeedPhrase": "...",
2861
- "password": "hashed_password",
2862
- "passwordTimeoutMinutes": 15,
2863
- "accounts": [
2864
- {
2865
- "index": 0,
2866
- "type": "custom",
2867
- "address": "0x...",
2868
- "label": "Main Account"
2869
- },
2870
- {
2871
- "index": 1,
2872
- "type": "seed",
2873
- "address": "0x..."
2874
- }
2875
- ],
2876
- "activeAccountIndex": 0,
2877
- "network": "eip155:84532",
2878
- "agentUrl": "https://agent-test.402.cat",
2879
- "facilitatorUrl": "https://facilitators.x402scan.com",
2880
- "defaultMaxPayment": "10.00",
2881
- "environment": "base-sepolia",
2882
- "environments": {
2883
- "local": {
2884
- "name": "local",
2885
- "agentUrl": "http://localhost:8787",
2886
- "network": "eip155:84532"
2887
- },
2888
- "base-sepolia": {
2889
- "name": "base-sepolia",
2890
- "agentUrl": "https://agent-test.402.cat",
2891
- "network": "eip155:84532"
2892
- }
2893
- },
2894
- "preferences": {
2895
- "enableAsciiArt": true,
2896
- "colorOutput": true,
2897
- "verboseLogging": false
2898
- },
2899
- "aiAgent": {
2900
- "provider": "openai",
2901
- "apiKey": "encrypted_key_here",
2902
- "model": "gpt-4"
2903
- },
2904
- "autonomousAgent": {
2905
- "enabled": false,
2906
- "maxTradeAmount": "10.00",
2907
- "riskTolerance": "moderate",
2908
- "tokenFilters": {
2909
- "minHolders": 10,
2910
- "maxWhalePercentage": 20,
2911
- "minLiquidity": 1000
2912
- },
2913
- "stopLoss": 20,
2914
- "takeProfit": 50,
2915
- "eventStreamUrl": "wss://events.402.cat",
2916
- "databasePath": "~/.config/httpcat/agent.db"
2917
- }
2918
- }
2919
- ```
2920
-
2921
- **Security Features:**
2922
-
2923
- - **Password Protection**: Set a password during setup to encrypt your private keys and seed phrase
2924
- - **Session Management**: Configurable timeout (default: 15 minutes via `passwordTimeoutMinutes`)
2925
- - After the timeout, you'll need to re-enter your password to unlock the wallet
2926
- - Session tokens are managed automatically to keep your wallet secure
2927
- - **Multi-Account Support**: Manage multiple accounts (seed-derived HD wallet accounts and custom imported accounts)
2928
- - **Encrypted Storage**: Keys and seed phrases are encrypted when password is enabled
2929
- - **Account Types**:
2930
- - **Account 0 (Custom)**: Imported via private key during initial setup
2931
- - **Account 1+ (Seed-Derived)**: Generated from your seed phrase using BIP-32/BIP-39 HD wallet derivation
2932
- - You can add unlimited seed-derived accounts using `account add`
2933
- - All accounts share the same password protection
2934
-
2935
- **Security Notes:**
2936
-
2937
- - **Without password**: Private key stored in plain text (legacy `privateKey` field, auto-migrated to encrypted format on first password setup)
2938
- - **With password**: Private key, seed phrase, and AI API keys are AES-256 encrypted
2939
- - **Session Timeout**: Wallet automatically locks after 15 minutes of inactivity (configurable)
2940
- - **For production use**:
2941
- - Enable password protection during setup for encryption
2942
- - Use `HTTPCAT_PRIVATE_KEY` environment variable for additional security in scripts
2943
- - Set restrictive file permissions: `chmod 600 ~/.config/httpcat/config.json`
2944
- - Use a dedicated wallet with limited funds for trading operations
2945
-
2946
- ## How It Works
2947
-
2948
- ### x402 Payment Protocol
2949
-
2950
- httpcat uses the [x402 protocol V2](https://x402.org) for micropayments:
2951
-
2952
- 1. **Request** - CLI makes a request to the agent
2953
- 2. **402 Response** - Agent returns payment requirements
2954
- 3. **Payment** - CLI automatically transfers USDC
2955
- 4. **Verification** - Agent verifies payment via facilitator
2956
- 5. **Response** - Agent processes request and returns result
2957
-
2958
- All of this happens automatically - you just see the result!
2959
-
2960
- ### Bonding Curve
2961
-
2962
- Tokens use a bonding curve pricing mechanism:
2963
-
2964
- - Price increases as more tokens are bought
2965
- - Price decreases as tokens are sold
2966
- - 1% fee on all buy/sell operations
2967
- - Automatic graduation at market cap threshold
2968
- - Graduated tokens get Uniswap V2 liquidity
2969
-
2970
- ## Troubleshooting
2971
-
2972
- ### "No private key configured"
2973
-
2974
- Run the setup wizard:
2975
-
2976
- ```bash
2977
- httpcat config
2978
- ```
2979
-
2980
- Or use environment variable:
2981
-
2982
- ```bash
2983
- export HTTPCAT_PRIVATE_KEY=0x...
2984
- ```
2985
-
2986
- ### "Insufficient USDC balance"
2987
-
2988
- Make sure you have enough USDC in your wallet:
2989
-
2990
- - Test mode (Base Sepolia / eip155:84532): Get testnet USDC from faucets
2991
- - Production (base): Bridge USDC to Base
2992
-
2993
- You also need ETH for gas fees.
2994
-
2995
- ### "Request failed with status 402"
2996
-
2997
- The payment verification failed. Check:
2998
-
2999
- 1. Wallet has sufficient USDC and ETH
3000
- 2. Network is correct (eip155:84532 for testnet vs eip155:8453 for mainnet)
3001
- 3. Agent URL is reachable
3002
- 4. Facilitator URL is correct
3003
-
3004
- ### Connection errors
3005
-
3006
- Verify the agent is running:
3007
-
3008
- ```bash
3009
- httpcat health
3010
- ```
3011
-
3012
- Check your config:
3013
-
3014
- ```bash
3015
- httpcat config --show
3016
- ```
3017
-
3018
- ## Examples
3019
-
3020
- ### Complete Workflow
3021
-
3022
- ```bash
3023
- # Setup
3024
- httpcat config
3025
-
3026
- # Check your wallet balances
3027
- httpcat balances
3028
-
3029
- # Create a token
3030
- httpcat create "Moon Cat" "MOON" -w --website https://mooncat.io
3031
-
3032
- # Buy tokens
3033
- httpcat buy 0x1234... 5
3034
-
3035
- # Check your position
3036
- httpcat info 0x1234...
3037
-
3038
- # Get all your positions with comprehensive info
3039
- httpcat positions
3040
-
3041
- # Sell half when profitable
3042
- httpcat sell 0x1234... 50%
3043
-
3044
- # List all your tokens (shows positions)
3045
- httpcat list
3046
- ```
3047
-
3048
- ### Scripted Trading Bot
3049
-
3050
- ```bash
3051
- #!/bin/bash
3052
-
3053
- TOKEN_ADDRESS="0x1234567890abcdef1234567890abcdef12345678"
3054
-
3055
- # Monitor and trade
3056
- while true; do
3057
- INFO=$(httpcat -j info $TOKEN_ADDRESS)
3058
- PROGRESS=$(echo $INFO | jq -r '.data.graduationProgress')
3059
-
3060
- # Buy if close to graduation
3061
- if (( $(echo "$PROGRESS > 90" | bc -l) )); then
3062
- httpcat -q buy $TOKEN_ADDRESS 5
3063
- fi
3064
-
3065
- sleep 60
3066
- done
3067
- ```
3068
-
3069
- ## Development
3070
-
3071
- ```bash
3072
- # Install dependencies
3073
- yarn install
3074
-
3075
- # Build
3076
- yarn build
3077
-
3078
- # Watch mode
3079
- yarn dev
3080
-
3081
- # Link for local testing
3082
- yarn link
3083
-
3084
- # Test
3085
- httpcat --version
3086
- ```
278
+ ---
3087
279
 
3088
280
  ## License
3089
281
 
@@ -3091,6 +283,7 @@ MIT
3091
283
 
3092
284
  ## Support
3093
285
 
3094
- - Report issues: https://github.com/hathbanger/httpcat-cli/issues
3095
- - httpcat agent: https://agent-test.402.cat
3096
- - x402 protocol: https://x402.org
286
+ - Issues: https://github.com/hathbanger/httpcat-cli/issues
287
+ - Agent: https://agent-test.402.cat
288
+ - Protocol: https://x402.org
289
+ - Docs: https://www.402.cat/docs