httpcat-cli 0.3.0 → 0.3.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/.github/workflows/rc-publish.yml +6 -0
  3. package/.github/workflows/release.yml +107 -0
  4. package/.github/workflows/sync-version.yml +31 -2
  5. package/README.md +128 -1685
  6. package/additions.txt +3 -0
  7. package/brand-assets/png/expressions/compact-160-dark.png +0 -0
  8. package/brand-assets/png/expressions/compact-160-light.png +0 -0
  9. package/brand-assets/png/expressions/compact-320-dark.png +0 -0
  10. package/brand-assets/png/expressions/compact-320-light.png +0 -0
  11. package/brand-assets/png/expressions/default-160-dark.png +0 -0
  12. package/brand-assets/png/expressions/default-160-light.png +0 -0
  13. package/brand-assets/png/expressions/default-320-dark.png +0 -0
  14. package/brand-assets/png/expressions/default-320-light.png +0 -0
  15. package/brand-assets/png/expressions/minimal-160-dark.png +0 -0
  16. package/brand-assets/png/expressions/minimal-160-light.png +0 -0
  17. package/brand-assets/png/expressions/minimal-320-dark.png +0 -0
  18. package/brand-assets/png/expressions/minimal-320-light.png +0 -0
  19. package/brand-assets/png/expressions/pointy-160-dark.png +0 -0
  20. package/brand-assets/png/expressions/pointy-160-light.png +0 -0
  21. package/brand-assets/png/expressions/pointy-320-dark.png +0 -0
  22. package/brand-assets/png/expressions/pointy-320-light.png +0 -0
  23. package/brand-assets/png/expressions/simplified-160-dark.png +0 -0
  24. package/brand-assets/png/expressions/simplified-160-light.png +0 -0
  25. package/brand-assets/png/expressions/simplified-320-dark.png +0 -0
  26. package/brand-assets/png/expressions/simplified-320-light.png +0 -0
  27. package/brand-assets/png/expressions/winking-160-dark.png +0 -0
  28. package/brand-assets/png/expressions/winking-160-light.png +0 -0
  29. package/brand-assets/png/expressions/winking-320-dark.png +0 -0
  30. package/brand-assets/png/expressions/winking-320-light.png +0 -0
  31. package/brand-assets/png/favicon/apple-touch-180-dark.png +0 -0
  32. package/brand-assets/png/favicon/apple-touch-180-light.png +0 -0
  33. package/brand-assets/png/favicon/favicon-16-dark.png +0 -0
  34. package/brand-assets/png/favicon/favicon-16-light.png +0 -0
  35. package/brand-assets/png/favicon/favicon-180-dark.png +0 -0
  36. package/brand-assets/png/favicon/favicon-180-light.png +0 -0
  37. package/brand-assets/png/favicon/favicon-32-dark.png +0 -0
  38. package/brand-assets/png/favicon/favicon-32-light.png +0 -0
  39. package/brand-assets/png/favicon/favicon-48-dark.png +0 -0
  40. package/brand-assets/png/favicon/favicon-48-light.png +0 -0
  41. package/brand-assets/png/favicon/v6-minimal-32-dark.png +0 -0
  42. package/brand-assets/png/favicon/v6-minimal-32-light.png +0 -0
  43. package/brand-assets/png/mark/v11-pointy-400-dark.png +0 -0
  44. package/brand-assets/png/mark/v11-pointy-400-light.png +0 -0
  45. package/brand-assets/png/mark/v12-ears-only-160-dark.png +0 -0
  46. package/brand-assets/png/mark/v12-ears-only-160-light.png +0 -0
  47. package/brand-assets/png/mark/v12-ears-only-320-dark.png +0 -0
  48. package/brand-assets/png/mark/v12-ears-only-320-light.png +0 -0
  49. package/brand-assets/png/mark/v12-ears-only-400-dark.png +0 -0
  50. package/brand-assets/png/mark/v12-ears-only-400-light.png +0 -0
  51. package/brand-assets/png/mark/v12-ears-only-80-dark.png +0 -0
  52. package/brand-assets/png/mark/v12-ears-only-80-light.png +0 -0
  53. package/brand-assets/png/mark/v5-ears-400-dark.png +0 -0
  54. package/brand-assets/png/mark/v5-ears-400-light.png +0 -0
  55. package/brand-assets/png/mark/v8-minimal-400-dark.png +0 -0
  56. package/brand-assets/png/mark/v8-minimal-400-light.png +0 -0
  57. package/brand-assets/png/og-1200x630-v2-dark.png +0 -0
  58. package/brand-assets/png/og-feral-a.png +0 -0
  59. package/brand-assets/png/og-feral-b.png +0 -0
  60. package/brand-assets/png/og-feral-c.png +0 -0
  61. package/brand-assets/png/og-feral-d.png +0 -0
  62. package/brand-assets/png/og-v2-variation-a.png +0 -0
  63. package/brand-assets/png/og-v2-variation-b.png +0 -0
  64. package/brand-assets/png/og-v2-variation-c.png +0 -0
  65. package/brand-assets/png/social/banner-cat-ticker-1500x500-dark.png +0 -0
  66. package/brand-assets/png/social/banner-cat-ticker-1500x500-light.png +0 -0
  67. package/brand-assets/png/social/og-v11-pointy-1200x630-dark.png +0 -0
  68. package/brand-assets/png/social/og-v11-pointy-1200x630-light.png +0 -0
  69. package/brand-assets/png/social/og-v12-ears-1200x630-dark.png +0 -0
  70. package/brand-assets/png/social/og-v12-ears-1200x630-light.png +0 -0
  71. package/brand-assets/png/social/og-v12-ears-1280x320-dark.png +0 -0
  72. package/brand-assets/png/social/og-v12-ticker-1200x630-dark.png +0 -0
  73. package/brand-assets/png/social/og-v12-ticker-1200x630-light.png +0 -0
  74. package/brand-assets/png/social/pfp-ears-400-dark.png +0 -0
  75. package/brand-assets/png/social/pfp-ears-400-light.png +0 -0
  76. package/brand-assets/png/social/twitter-banner-v11-1500x500-dark.png +0 -0
  77. package/brand-assets/png/social/twitter-pfp-400-dark.png +0 -0
  78. package/brand-assets/png/social/twitter-pfp-400-light.png +0 -0
  79. package/brand-assets/png/social/twitter-pfp-v11-400-dark.png +0 -0
  80. package/brand-assets/png/v12-ears-only-1000-dark.png +0 -0
  81. package/brand-assets/svg/Archive/402cat-banner-1200x400-dark.svg +13 -0
  82. package/brand-assets/svg/Archive/402cat-banner-1200x400-light.svg +13 -0
  83. package/brand-assets/svg/Archive/402cat-default-160-dark.svg +12 -0
  84. package/brand-assets/svg/Archive/402cat-default-160-light.svg +12 -0
  85. package/brand-assets/svg/Archive/402cat-excited-160-dark.svg +12 -0
  86. package/brand-assets/svg/Archive/402cat-excited-160-light.svg +12 -0
  87. package/brand-assets/svg/Archive/402cat-facilitator-160-dark.svg +12 -0
  88. package/brand-assets/svg/Archive/402cat-facilitator-160-light.svg +12 -0
  89. package/brand-assets/svg/Archive/402cat-facilitator-320-dark.svg +12 -0
  90. package/brand-assets/svg/Archive/402cat-facilitator-320-light.svg +12 -0
  91. package/brand-assets/svg/Archive/402cat-facilitator-80-dark.svg +12 -0
  92. package/brand-assets/svg/Archive/402cat-facilitator-80-light.svg +12 -0
  93. package/brand-assets/svg/Archive/402cat-favicon-16-dark.svg +10 -0
  94. package/brand-assets/svg/Archive/402cat-favicon-16-light.svg +10 -0
  95. package/brand-assets/svg/Archive/402cat-favicon-32-dark.svg +10 -0
  96. package/brand-assets/svg/Archive/402cat-favicon-32-light.svg +10 -0
  97. package/brand-assets/svg/Archive/402cat-og-1200x630-dark.svg +14 -0
  98. package/brand-assets/svg/Archive/402cat-og-1200x630-light.svg +14 -0
  99. package/brand-assets/svg/Archive/402cat-server-40-dark.svg +11 -0
  100. package/brand-assets/svg/Archive/402cat-server-40-light.svg +11 -0
  101. package/brand-assets/svg/Archive/402cat-server-80-dark.svg +11 -0
  102. package/brand-assets/svg/Archive/402cat-server-80-light.svg +11 -0
  103. package/brand-assets/svg/Archive/402cat-sleeping-160-dark.svg +13 -0
  104. package/brand-assets/svg/Archive/402cat-sleeping-160-light.svg +13 -0
  105. package/brand-assets/svg/Archive/402cat-twitter-pfp-dark.svg +12 -0
  106. package/brand-assets/svg/Archive/402cat-twitter-pfp-light.svg +12 -0
  107. package/brand-assets/svg/Archive/mark/neko1-kawaii-80-dark.svg +8 -0
  108. package/brand-assets/svg/Archive/mark/neko1-kawaii-80-light.svg +8 -0
  109. package/brand-assets/svg/Archive/mark/neko1-right-80-dark.svg +8 -0
  110. package/brand-assets/svg/Archive/mark/neko1-right-80-light.svg +8 -0
  111. package/brand-assets/svg/Archive/mark/neko10-pointy-80-dark.svg +8 -0
  112. package/brand-assets/svg/Archive/mark/neko10-pointy-80-light.svg +8 -0
  113. package/brand-assets/svg/Archive/mark/neko2-clean-80-dark.svg +8 -0
  114. package/brand-assets/svg/Archive/mark/neko2-clean-80-light.svg +8 -0
  115. package/brand-assets/svg/Archive/mark/neko2-left-80-dark.svg +8 -0
  116. package/brand-assets/svg/Archive/mark/neko2-left-80-light.svg +8 -0
  117. package/brand-assets/svg/Archive/mark/neko3-both-80-dark.svg +8 -0
  118. package/brand-assets/svg/Archive/mark/neko3-both-80-light.svg +8 -0
  119. package/brand-assets/svg/Archive/mark/neko3-money-80-dark.svg +8 -0
  120. package/brand-assets/svg/Archive/mark/neko3-money-80-light.svg +8 -0
  121. package/brand-assets/svg/Archive/mark/neko4-beckon-80-dark.svg +8 -0
  122. package/brand-assets/svg/Archive/mark/neko4-beckon-80-light.svg +8 -0
  123. package/brand-assets/svg/Archive/mark/neko4-coin-80-dark.svg +8 -0
  124. package/brand-assets/svg/Archive/mark/neko4-coin-80-light.svg +8 -0
  125. package/brand-assets/svg/Archive/mark/neko5-compact-80-dark.svg +8 -0
  126. package/brand-assets/svg/Archive/mark/neko5-compact-80-light.svg +8 -0
  127. package/brand-assets/svg/Archive/mark/neko5-mini-80-dark.svg +8 -0
  128. package/brand-assets/svg/Archive/mark/neko5-mini-80-light.svg +8 -0
  129. package/brand-assets/svg/Archive/mark/neko6-coin-80-dark.svg +8 -0
  130. package/brand-assets/svg/Archive/mark/neko6-coin-80-light.svg +8 -0
  131. package/brand-assets/svg/Archive/mark/neko6-money-80-dark.svg +8 -0
  132. package/brand-assets/svg/Archive/mark/neko6-money-80-light.svg +8 -0
  133. package/brand-assets/svg/Archive/mark/neko7-lucky-80-dark.svg +8 -0
  134. package/brand-assets/svg/Archive/mark/neko7-lucky-80-light.svg +8 -0
  135. package/brand-assets/svg/Archive/mark/neko7-simple-80-dark.svg +8 -0
  136. package/brand-assets/svg/Archive/mark/neko7-simple-80-light.svg +8 -0
  137. package/brand-assets/svg/Archive/mark/neko8-classic-80-dark.svg +8 -0
  138. package/brand-assets/svg/Archive/mark/neko8-classic-80-light.svg +8 -0
  139. package/brand-assets/svg/Archive/mark/neko8-mini-80-dark.svg +8 -0
  140. package/brand-assets/svg/Archive/mark/neko8-mini-80-light.svg +8 -0
  141. package/brand-assets/svg/Archive/mark/neko9-box-80-dark.svg +8 -0
  142. package/brand-assets/svg/Archive/mark/neko9-box-80-light.svg +8 -0
  143. package/brand-assets/svg/Archive/mark/v1-simplified-80-dark.svg +8 -0
  144. package/brand-assets/svg/Archive/mark/v1-simplified-80-light.svg +8 -0
  145. package/brand-assets/svg/Archive/mark/v10-bracket-80-dark.svg +8 -0
  146. package/brand-assets/svg/Archive/mark/v10-bracket-80-light.svg +8 -0
  147. package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-dark.svg +8 -0
  148. package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-light.svg +8 -0
  149. package/brand-assets/svg/Archive/mark/v12-face-80-dark.svg +7 -0
  150. package/brand-assets/svg/Archive/mark/v12-face-80-light.svg +7 -0
  151. package/brand-assets/svg/Archive/mark/v2-full-80-dark.svg +9 -0
  152. package/brand-assets/svg/Archive/mark/v2-full-80-light.svg +9 -0
  153. package/brand-assets/svg/Archive/mark/v3-compact-80-dark.svg +8 -0
  154. package/brand-assets/svg/Archive/mark/v3-compact-80-light.svg +8 -0
  155. package/brand-assets/svg/Archive/mark/v4-default-80-dark.svg +9 -0
  156. package/brand-assets/svg/Archive/mark/v4-default-80-light.svg +9 -0
  157. package/brand-assets/svg/Archive/mark/v6-ears-bold-80-dark.svg +7 -0
  158. package/brand-assets/svg/Archive/mark/v6-ears-bold-80-light.svg +7 -0
  159. package/brand-assets/svg/Archive/mark/v7-ears-wide-80-dark.svg +7 -0
  160. package/brand-assets/svg/Archive/mark/v7-ears-wide-80-light.svg +7 -0
  161. package/brand-assets/svg/Archive/mark/v9-box-80-dark.svg +8 -0
  162. package/brand-assets/svg/Archive/mark/v9-box-80-light.svg +8 -0
  163. package/brand-assets/svg/Archive.zip +0 -0
  164. package/brand-assets/svg/expressions/box-cat-160-dark.svg +8 -0
  165. package/brand-assets/svg/expressions/box-cat-160-light.svg +8 -0
  166. package/brand-assets/svg/expressions/bracket-160-dark.svg +8 -0
  167. package/brand-assets/svg/expressions/bracket-160-light.svg +8 -0
  168. package/brand-assets/svg/expressions/compact-160-dark.svg +8 -0
  169. package/brand-assets/svg/expressions/compact-160-light.svg +8 -0
  170. package/brand-assets/svg/expressions/default-160-dark.svg +9 -0
  171. package/brand-assets/svg/expressions/default-160-light.svg +9 -0
  172. package/brand-assets/svg/expressions/ears-bold-160-dark.svg +7 -0
  173. package/brand-assets/svg/expressions/ears-bold-160-light.svg +7 -0
  174. package/brand-assets/svg/expressions/ears-only-160-dark.svg +7 -0
  175. package/brand-assets/svg/expressions/ears-only-160-light.svg +7 -0
  176. package/brand-assets/svg/expressions/ears-wide-160-dark.svg +7 -0
  177. package/brand-assets/svg/expressions/ears-wide-160-light.svg +7 -0
  178. package/brand-assets/svg/expressions/excited-160-dark.svg +9 -0
  179. package/brand-assets/svg/expressions/excited-160-light.svg +9 -0
  180. package/brand-assets/svg/expressions/face-only-160-dark.svg +7 -0
  181. package/brand-assets/svg/expressions/face-only-160-light.svg +7 -0
  182. package/brand-assets/svg/expressions/minimal-160-dark.svg +8 -0
  183. package/brand-assets/svg/expressions/minimal-160-light.svg +8 -0
  184. package/brand-assets/svg/expressions/pointy-160-dark.svg +8 -0
  185. package/brand-assets/svg/expressions/pointy-160-light.svg +8 -0
  186. package/brand-assets/svg/expressions/simplified-160-dark.svg +8 -0
  187. package/brand-assets/svg/expressions/simplified-160-light.svg +8 -0
  188. package/brand-assets/svg/expressions/sleeping-160-dark.svg +10 -0
  189. package/brand-assets/svg/expressions/sleeping-160-light.svg +10 -0
  190. package/brand-assets/svg/expressions/winking-160-dark.svg +9 -0
  191. package/brand-assets/svg/expressions/winking-160-light.svg +9 -0
  192. package/brand-assets/svg/expressions-paths/compact-160-dark.svg +42 -0
  193. package/brand-assets/svg/expressions-paths/compact-160-light.svg +42 -0
  194. package/brand-assets/svg/expressions-paths/default-160-dark.svg +47 -0
  195. package/brand-assets/svg/expressions-paths/default-160-light.svg +47 -0
  196. package/brand-assets/svg/expressions-paths/minimal-160-dark.svg +42 -0
  197. package/brand-assets/svg/expressions-paths/minimal-160-light.svg +42 -0
  198. package/brand-assets/svg/expressions-paths/pointy-160-dark.svg +42 -0
  199. package/brand-assets/svg/expressions-paths/pointy-160-light.svg +42 -0
  200. package/brand-assets/svg/expressions-paths/simplified-160-dark.svg +42 -0
  201. package/brand-assets/svg/expressions-paths/simplified-160-light.svg +42 -0
  202. package/brand-assets/svg/expressions-paths/winking-160-dark.svg +47 -0
  203. package/brand-assets/svg/expressions-paths/winking-160-light.svg +47 -0
  204. package/brand-assets/svg/favicon/apple-touch-180-dark.svg +8 -0
  205. package/brand-assets/svg/favicon/apple-touch-180-light.svg +8 -0
  206. package/brand-assets/svg/favicon/favicon-16-dark.svg +8 -0
  207. package/brand-assets/svg/favicon/favicon-16-light.svg +8 -0
  208. package/brand-assets/svg/favicon/favicon-32-dark.svg +11 -0
  209. package/brand-assets/svg/favicon/favicon-32-light.svg +11 -0
  210. package/brand-assets/svg/favicon/favicon-48-dark.svg +8 -0
  211. package/brand-assets/svg/favicon/favicon-48-light.svg +8 -0
  212. package/brand-assets/svg/favicon/v11-pointy-path-16-dark.svg +18 -0
  213. package/brand-assets/svg/favicon/v11-pointy-path-32-dark.svg +19 -0
  214. package/brand-assets/svg/favicon/v4-ears-32-dark.svg +7 -0
  215. package/brand-assets/svg/favicon/v4-ears-32-light.svg +7 -0
  216. package/brand-assets/svg/favicon/v5-pointy-32-dark.svg +8 -0
  217. package/brand-assets/svg/favicon/v5-pointy-32-light.svg +8 -0
  218. package/brand-assets/svg/favicon/v6-minimal-32-dark.svg +8 -0
  219. package/brand-assets/svg/favicon/v6-minimal-32-light.svg +8 -0
  220. package/brand-assets/svg/favicon/v7-ears-only-32-dark.svg +5 -0
  221. package/brand-assets/svg/favicon/v7-ears-only-32-light.svg +5 -0
  222. package/brand-assets/svg/favicon-paths/v12-ears-only-16-dark.svg +4 -0
  223. package/brand-assets/svg/favicon-paths/v12-ears-only-16-light.svg +4 -0
  224. package/brand-assets/svg/favicon-paths/v12-ears-only-48-dark.svg +4 -0
  225. package/brand-assets/svg/favicon-paths/v12-ears-only-48-light.svg +4 -0
  226. package/brand-assets/svg/favicon-paths/v12-ears-only-96-dark.svg +4 -0
  227. package/brand-assets/svg/favicon-paths/v12-ears-only-96-light.svg +4 -0
  228. package/brand-assets/svg/favicon-paths/v6-minimal-32-dark.svg +42 -0
  229. package/brand-assets/svg/favicon-paths/v6-minimal-32-light.svg +42 -0
  230. package/brand-assets/svg/favicon-paths/v7-ears-only-32-dark.svg +34 -0
  231. package/brand-assets/svg/favicon-paths/v7-ears-only-32-light.svg +34 -0
  232. package/brand-assets/svg/mark/facilitator-160-dark.svg +11 -0
  233. package/brand-assets/svg/mark/facilitator-160-light.svg +11 -0
  234. package/brand-assets/svg/mark/facilitator-320-dark.svg +12 -0
  235. package/brand-assets/svg/mark/facilitator-320-light.svg +12 -0
  236. package/brand-assets/svg/mark/facilitator-40-dark.svg +11 -0
  237. package/brand-assets/svg/mark/facilitator-40-light.svg +11 -0
  238. package/brand-assets/svg/mark/facilitator-44-dark.svg +8 -0
  239. package/brand-assets/svg/mark/facilitator-44-light.svg +8 -0
  240. package/brand-assets/svg/mark/facilitator-72-dark.svg +8 -0
  241. package/brand-assets/svg/mark/facilitator-72-light.svg +8 -0
  242. package/brand-assets/svg/mark/facilitator-80-dark.svg +11 -0
  243. package/brand-assets/svg/mark/facilitator-80-light.svg +11 -0
  244. package/brand-assets/svg/mark/facilitator-ears-44-dark.svg +7 -0
  245. package/brand-assets/svg/mark/facilitator-ears-44-light.svg +7 -0
  246. package/brand-assets/svg/mark/facilitator-ears-72-dark.svg +7 -0
  247. package/brand-assets/svg/mark/facilitator-ears-72-light.svg +7 -0
  248. package/brand-assets/svg/mark/facilitator-pointy-44-dark.svg +8 -0
  249. package/brand-assets/svg/mark/facilitator-pointy-44-light.svg +8 -0
  250. package/brand-assets/svg/mark/facilitator-pointy-72-dark.svg +8 -0
  251. package/brand-assets/svg/mark/facilitator-pointy-72-light.svg +8 -0
  252. package/brand-assets/svg/mark/v11-pointy-80-dark.svg +8 -0
  253. package/brand-assets/svg/mark/v11-pointy-80-light.svg +8 -0
  254. package/brand-assets/svg/mark/v11-pointy-path-160-dark.svg +13 -0
  255. package/brand-assets/svg/mark/v11-pointy-path-180-dark.svg +13 -0
  256. package/brand-assets/svg/mark/v11-pointy-path-320-dark.svg +13 -0
  257. package/brand-assets/svg/mark/v11-pointy-path-40-dark.svg +13 -0
  258. package/brand-assets/svg/mark/v11-pointy-path-80-dark.svg +26 -0
  259. package/brand-assets/svg/mark/v11-pointy-path-80-light.svg +26 -0
  260. package/brand-assets/svg/mark/v11-pointy-path-transparent.svg +25 -0
  261. package/brand-assets/svg/mark/v12-ears-only-1000-dark.svg +7 -0
  262. package/brand-assets/svg/mark/v12-ears-only-80-dark.svg +7 -0
  263. package/brand-assets/svg/mark/v12-ears-only-80-light.svg +7 -0
  264. package/brand-assets/svg/mark/v5-ears-80-dark.svg +7 -0
  265. package/brand-assets/svg/mark/v5-ears-80-light.svg +7 -0
  266. package/brand-assets/svg/mark/v8-minimal-80-dark.svg +8 -0
  267. package/brand-assets/svg/mark/v8-minimal-80-light.svg +8 -0
  268. package/brand-assets/svg/mark-paths/facilitator-80-dark.svg +46 -0
  269. package/brand-assets/svg/mark-paths/v12-ears-only-160-dark.svg +4 -0
  270. package/brand-assets/svg/mark-paths/v12-ears-only-160-light.svg +4 -0
  271. package/brand-assets/svg/mark-paths/v12-ears-only-180-dark.svg +4 -0
  272. package/brand-assets/svg/mark-paths/v12-ears-only-180-light.svg +4 -0
  273. package/brand-assets/svg/mark-paths/v12-ears-only-320-dark.svg +4 -0
  274. package/brand-assets/svg/mark-paths/v12-ears-only-320-light.svg +4 -0
  275. package/brand-assets/svg/mark-paths/v12-ears-only-40-dark.svg +4 -0
  276. package/brand-assets/svg/mark-paths/v12-ears-only-40-light.svg +4 -0
  277. package/brand-assets/svg/mark-paths/v12-ears-only-80-dark.svg +37 -0
  278. package/brand-assets/svg/mark-paths/v12-ears-only-80-light.svg +37 -0
  279. package/brand-assets/svg/mark-paths/v12-ears-only-transparent.svg +4 -0
  280. package/brand-assets/svg/server/icon-40-dark.svg +8 -0
  281. package/brand-assets/svg/server/icon-40-light.svg +8 -0
  282. package/brand-assets/svg/server/icon-80-dark.svg +8 -0
  283. package/brand-assets/svg/server/icon-80-light.svg +8 -0
  284. package/brand-assets/svg/social/banner-1200x400-dark.svg +14 -0
  285. package/brand-assets/svg/social/banner-1200x400-light.svg +14 -0
  286. package/brand-assets/svg/social/banner-cat-ticker-1500x500-dark.svg +7 -0
  287. package/brand-assets/svg/social/banner-cat-ticker-1500x500-light.svg +7 -0
  288. package/brand-assets/svg/social/banner-cat1-left-dark.svg +10 -0
  289. package/brand-assets/svg/social/banner-cat1-left-light.svg +10 -0
  290. package/brand-assets/svg/social/banner-cat2-right-dark.svg +10 -0
  291. package/brand-assets/svg/social/banner-cat2-right-light.svg +10 -0
  292. package/brand-assets/svg/social/banner-cat3-stacked-dark.svg +9 -0
  293. package/brand-assets/svg/social/banner-cat3-stacked-light.svg +9 -0
  294. package/brand-assets/svg/social/banner-cat4-wordmark-dark.svg +8 -0
  295. package/brand-assets/svg/social/banner-cat4-wordmark-light.svg +8 -0
  296. package/brand-assets/svg/social/banner-cc1-left-dark.svg +10 -0
  297. package/brand-assets/svg/social/banner-cc1-left-light.svg +10 -0
  298. package/brand-assets/svg/social/banner-cc2-right-dark.svg +10 -0
  299. package/brand-assets/svg/social/banner-cc2-right-light.svg +10 -0
  300. package/brand-assets/svg/social/banner-cc3-stacked-dark.svg +9 -0
  301. package/brand-assets/svg/social/banner-cc3-stacked-light.svg +9 -0
  302. package/brand-assets/svg/social/banner-cc4-centered-dark.svg +9 -0
  303. package/brand-assets/svg/social/banner-cc4-centered-light.svg +9 -0
  304. package/brand-assets/svg/social/banner-cc5-right-big-dark.svg +9 -0
  305. package/brand-assets/svg/social/banner-cc5-right-big-light.svg +9 -0
  306. package/brand-assets/svg/social/banner-cc6-ears-right-dark.svg +8 -0
  307. package/brand-assets/svg/social/banner-cc6-ears-right-light.svg +8 -0
  308. package/brand-assets/svg/social/banner-cc7-wordmark-dark.svg +8 -0
  309. package/brand-assets/svg/social/banner-cc7-wordmark-light.svg +8 -0
  310. package/brand-assets/svg/social/banner-cc8-minimal-dark.svg +9 -0
  311. package/brand-assets/svg/social/banner-cc8-minimal-light.svg +9 -0
  312. package/brand-assets/svg/social/banner-cc9-dramatic-dark.svg +9 -0
  313. package/brand-assets/svg/social/banner-cc9-dramatic-light.svg +9 -0
  314. package/brand-assets/svg/social/banner-ccat1-left-dark.svg +10 -0
  315. package/brand-assets/svg/social/banner-ccat1-left-light.svg +10 -0
  316. package/brand-assets/svg/social/banner-ccat2-right-dark.svg +10 -0
  317. package/brand-assets/svg/social/banner-ccat2-right-light.svg +10 -0
  318. package/brand-assets/svg/social/banner-ccat3-stacked-dark.svg +9 -0
  319. package/brand-assets/svg/social/banner-ccat3-stacked-light.svg +9 -0
  320. package/brand-assets/svg/social/banner-ccat4-wordmark-dark.svg +8 -0
  321. package/brand-assets/svg/social/banner-ccat4-wordmark-light.svg +8 -0
  322. package/brand-assets/svg/social/banner-sn1-snuggle-dark.svg +10 -0
  323. package/brand-assets/svg/social/banner-sn1-snuggle-light.svg +10 -0
  324. package/brand-assets/svg/social/banner-sn2-snuggle-big-dark.svg +9 -0
  325. package/brand-assets/svg/social/banner-sn2-snuggle-big-light.svg +9 -0
  326. package/brand-assets/svg/social/banner-sn3-snuggle-centered-dark.svg +10 -0
  327. package/brand-assets/svg/social/banner-sn3-snuggle-centered-light.svg +10 -0
  328. package/brand-assets/svg/social/banner-sn4-snuggle-simple-dark.svg +9 -0
  329. package/brand-assets/svg/social/banner-sn4-snuggle-simple-light.svg +9 -0
  330. package/brand-assets/svg/social/banner-sn5-snuggle-compact-dark.svg +9 -0
  331. package/brand-assets/svg/social/banner-sn5-snuggle-compact-light.svg +9 -0
  332. package/brand-assets/svg/social/banner-v1-left-dark.svg +10 -0
  333. package/brand-assets/svg/social/banner-v1-left-light.svg +10 -0
  334. package/brand-assets/svg/social/banner-v10-dramatic-dark.svg +9 -0
  335. package/brand-assets/svg/social/banner-v10-dramatic-light.svg +9 -0
  336. package/brand-assets/svg/social/banner-v11-bold-right-dark.svg +8 -0
  337. package/brand-assets/svg/social/banner-v11-bold-right-light.svg +8 -0
  338. package/brand-assets/svg/social/banner-v12-pointy-right-dark.svg +9 -0
  339. package/brand-assets/svg/social/banner-v12-pointy-right-light.svg +9 -0
  340. package/brand-assets/svg/social/banner-v13-ears-twitter-dark.svg +8 -0
  341. package/brand-assets/svg/social/banner-v13-ears-twitter-light.svg +8 -0
  342. package/brand-assets/svg/social/banner-v14-bold-twitter-dark.svg +8 -0
  343. package/brand-assets/svg/social/banner-v14-bold-twitter-light.svg +8 -0
  344. package/brand-assets/svg/social/banner-v15-pointy-twitter-dark.svg +9 -0
  345. package/brand-assets/svg/social/banner-v15-pointy-twitter-light.svg +9 -0
  346. package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-dark.svg +9 -0
  347. package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-light.svg +9 -0
  348. package/brand-assets/svg/social/banner-v17-bold-twitter-big-dark.svg +8 -0
  349. package/brand-assets/svg/social/banner-v17-bold-twitter-big-light.svg +8 -0
  350. package/brand-assets/svg/social/banner-v2-right-dark.svg +10 -0
  351. package/brand-assets/svg/social/banner-v2-right-light.svg +10 -0
  352. package/brand-assets/svg/social/banner-v3-stacked-dark.svg +9 -0
  353. package/brand-assets/svg/social/banner-v3-stacked-light.svg +9 -0
  354. package/brand-assets/svg/social/banner-v4-minimal-dark.svg +9 -0
  355. package/brand-assets/svg/social/banner-v4-minimal-light.svg +9 -0
  356. package/brand-assets/svg/social/banner-v5-right-far-dark.svg +10 -0
  357. package/brand-assets/svg/social/banner-v5-right-far-light.svg +10 -0
  358. package/brand-assets/svg/social/banner-v6-right-big-dark.svg +9 -0
  359. package/brand-assets/svg/social/banner-v6-right-big-light.svg +9 -0
  360. package/brand-assets/svg/social/banner-v7-centered-dark.svg +9 -0
  361. package/brand-assets/svg/social/banner-v7-centered-light.svg +9 -0
  362. package/brand-assets/svg/social/banner-v8-wordmark-dark.svg +8 -0
  363. package/brand-assets/svg/social/banner-v8-wordmark-light.svg +8 -0
  364. package/brand-assets/svg/social/banner-v9-ears-right-dark.svg +8 -0
  365. package/brand-assets/svg/social/banner-v9-ears-right-light.svg +8 -0
  366. package/brand-assets/svg/social/og-1200x630-dark.svg +16 -0
  367. package/brand-assets/svg/social/og-1200x630-light.svg +16 -0
  368. package/brand-assets/svg/social/og-1200x630-v2-dark.svg +73 -0
  369. package/brand-assets/svg/social/og-box-centered-dark.svg +10 -0
  370. package/brand-assets/svg/social/og-box-centered-light.svg +10 -0
  371. package/brand-assets/svg/social/og-cat1-centered-dark.svg +10 -0
  372. package/brand-assets/svg/social/og-cat1-centered-light.svg +10 -0
  373. package/brand-assets/svg/social/og-cat2-hero-dark.svg +11 -0
  374. package/brand-assets/svg/social/og-cat2-hero-light.svg +11 -0
  375. package/brand-assets/svg/social/og-cat3-minimal-dark.svg +10 -0
  376. package/brand-assets/svg/social/og-cat3-minimal-light.svg +10 -0
  377. package/brand-assets/svg/social/og-cc1-centered-dark.svg +11 -0
  378. package/brand-assets/svg/social/og-cc1-centered-light.svg +11 -0
  379. package/brand-assets/svg/social/og-cc2-hero-dark.svg +10 -0
  380. package/brand-assets/svg/social/og-cc2-hero-light.svg +10 -0
  381. package/brand-assets/svg/social/og-cc3-minimal-dark.svg +10 -0
  382. package/brand-assets/svg/social/og-cc3-minimal-light.svg +10 -0
  383. package/brand-assets/svg/social/og-cc4-split-dark.svg +11 -0
  384. package/brand-assets/svg/social/og-cc4-split-light.svg +11 -0
  385. package/brand-assets/svg/social/og-feral-a.svg +68 -0
  386. package/brand-assets/svg/social/og-feral-b.svg +80 -0
  387. package/brand-assets/svg/social/og-feral-c.svg +73 -0
  388. package/brand-assets/svg/social/og-feral-d.svg +63 -0
  389. package/brand-assets/svg/social/og-minimal-centered-dark.svg +10 -0
  390. package/brand-assets/svg/social/og-minimal-centered-light.svg +10 -0
  391. package/brand-assets/svg/social/og-neko1-kawaii-dark.svg +10 -0
  392. package/brand-assets/svg/social/og-neko1-kawaii-light.svg +10 -0
  393. package/brand-assets/svg/social/og-neko2-money-dark.svg +10 -0
  394. package/brand-assets/svg/social/og-neko2-money-light.svg +10 -0
  395. package/brand-assets/svg/social/og-neko3-lucky-dark.svg +10 -0
  396. package/brand-assets/svg/social/og-neko3-lucky-light.svg +10 -0
  397. package/brand-assets/svg/social/og-neko4-clean-dark.svg +10 -0
  398. package/brand-assets/svg/social/og-neko4-clean-light.svg +10 -0
  399. package/brand-assets/svg/social/og-pointy-hero-dark.svg +10 -0
  400. package/brand-assets/svg/social/og-pointy-hero-light.svg +10 -0
  401. package/brand-assets/svg/social/og-v1-centered-dark.svg +11 -0
  402. package/brand-assets/svg/social/og-v1-centered-light.svg +11 -0
  403. package/brand-assets/svg/social/og-v11-pointy-1200x630-dark.svg +38 -0
  404. package/brand-assets/svg/social/og-v11-pointy-1200x630-light.svg +38 -0
  405. package/brand-assets/svg/social/og-v12-ears-1200x630-dark.svg +5 -0
  406. package/brand-assets/svg/social/og-v12-ears-1200x630-light.svg +5 -0
  407. package/brand-assets/svg/social/og-v12-ticker-1200x630-dark.svg +6 -0
  408. package/brand-assets/svg/social/og-v12-ticker-1200x630-light.svg +6 -0
  409. package/brand-assets/svg/social/og-v2-split-dark.svg +11 -0
  410. package/brand-assets/svg/social/og-v2-split-light.svg +11 -0
  411. package/brand-assets/svg/social/og-v2-variation-a.svg +74 -0
  412. package/brand-assets/svg/social/og-v2-variation-b.svg +63 -0
  413. package/brand-assets/svg/social/og-v2-variation-c.svg +71 -0
  414. package/brand-assets/svg/social/og-v3-hero-dark.svg +11 -0
  415. package/brand-assets/svg/social/og-v3-hero-light.svg +11 -0
  416. package/brand-assets/svg/social/og-v4-minimal-dark.svg +10 -0
  417. package/brand-assets/svg/social/og-v4-minimal-light.svg +10 -0
  418. package/brand-assets/svg/social/pfp-ears-400-dark.svg +5 -0
  419. package/brand-assets/svg/social/pfp-ears-400-light.svg +5 -0
  420. package/brand-assets/svg/social/pfp-v5-pointy-dark.svg +8 -0
  421. package/brand-assets/svg/social/pfp-v5-pointy-light.svg +8 -0
  422. package/brand-assets/svg/social/twitter-banner-v11-1500x500-dark.svg +35 -0
  423. package/brand-assets/svg/social/twitter-pfp-400-dark.svg +12 -0
  424. package/brand-assets/svg/social/twitter-pfp-400-light.svg +12 -0
  425. package/brand-assets/svg/social/twitter-pfp-v11-400-dark.svg +20 -0
  426. package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-dark.svg +44 -0
  427. package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-light.svg +44 -0
  428. package/brand-assets/svg/social-paths/og-v12-ears-1200x630-dark.svg +34 -0
  429. package/brand-assets/svg/social-paths/og-v12-ears-1200x630-light.svg +34 -0
  430. package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-dark.svg +39 -0
  431. package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-light.svg +39 -0
  432. package/brand-assets/svg/social-paths/pfp-ears-400-dark.svg +35 -0
  433. package/brand-assets/svg/social-paths/pfp-ears-400-light.svg +35 -0
  434. package/brand-assets/svg/social-paths/twitter-pfp-400-dark.svg +51 -0
  435. package/brand-assets/svg/social-paths/twitter-pfp-400-light.svg +51 -0
  436. package/brand-assets/svg/web/apple-touch-icon-180.svg +4 -0
  437. package/brand-assets/svg/web/favicon-32-dark.svg +4 -0
  438. package/brand-assets/svg/web/favicon-32-light.svg +4 -0
  439. package/brand-assets/svg/web/mark-80-alert.svg +4 -0
  440. package/brand-assets/svg/web/mark-80-dark.svg +4 -0
  441. package/brand-assets/svg/web/mark-80-light.svg +4 -0
  442. package/brand-assets/svg/web/mark-80-success.svg +4 -0
  443. package/brand-assets/svg/web/mark-80-wink.svg +4 -0
  444. package/brand-assets/svg/web/og-image-1200x630.svg +13 -0
  445. package/bun.lock +260 -25
  446. package/dist/agent/autonomous-trader.d.ts.map +1 -0
  447. package/dist/agent/autonomous-trader.js +362 -0
  448. package/dist/agent/autonomous-trader.js.map +1 -0
  449. package/dist/agent/ax-agent.d.ts.map +1 -1
  450. package/dist/agent/ax-agent.js +356 -18
  451. package/dist/agent/ax-agent.js.map +1 -1
  452. package/dist/agent/event-client.d.ts.map +1 -0
  453. package/dist/agent/event-client.js +82 -0
  454. package/dist/agent/event-client.js.map +1 -0
  455. package/dist/agent/log-stream.d.ts.map +1 -0
  456. package/dist/agent/log-stream.js +95 -0
  457. package/dist/agent/log-stream.js.map +1 -0
  458. package/dist/agent/memory/conversation-session.d.ts.map +1 -0
  459. package/dist/agent/memory/conversation-session.js +232 -0
  460. package/dist/agent/memory/conversation-session.js.map +1 -0
  461. package/dist/agent/memory/conversation-store.d.ts.map +1 -0
  462. package/dist/agent/memory/conversation-store.js +214 -0
  463. package/dist/agent/memory/conversation-store.js.map +1 -0
  464. package/dist/agent/memory/database-schema.d.ts.map +1 -0
  465. package/dist/agent/memory/database-schema.js +355 -0
  466. package/dist/agent/memory/database-schema.js.map +1 -0
  467. package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
  468. package/dist/agent/memory/decision-tracker.js +274 -0
  469. package/dist/agent/memory/decision-tracker.js.map +1 -0
  470. package/dist/agent/memory/memory-manager.d.ts.map +1 -0
  471. package/dist/agent/memory/memory-manager.js +187 -0
  472. package/dist/agent/memory/memory-manager.js.map +1 -0
  473. package/dist/agent/memory/types.d.ts.map +1 -0
  474. package/dist/agent/memory/types.js +5 -0
  475. package/dist/agent/memory/types.js.map +1 -0
  476. package/dist/agent/message-formatter.d.ts.map +1 -0
  477. package/dist/agent/message-formatter.js +76 -0
  478. package/dist/agent/message-formatter.js.map +1 -0
  479. package/dist/agent/position-db.d.ts.map +1 -0
  480. package/dist/agent/position-db.js +154 -0
  481. package/dist/agent/position-db.js.map +1 -0
  482. package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
  483. package/dist/agent/simple-chat-ui-static.js +129 -0
  484. package/dist/agent/simple-chat-ui-static.js.map +1 -0
  485. package/dist/agent/simple-chat-ui.d.ts.map +1 -0
  486. package/dist/agent/simple-chat-ui.js +90 -0
  487. package/dist/agent/simple-chat-ui.js.map +1 -0
  488. package/dist/agent/tools.d.ts.map +1 -1
  489. package/dist/agent/tools.js +297 -4
  490. package/dist/agent/tools.js.map +1 -1
  491. package/dist/agent/ui.d.ts.map +1 -0
  492. package/dist/agent/ui.js +84 -0
  493. package/dist/agent/ui.js.map +1 -0
  494. package/dist/agent/unified-runtime.d.ts.map +1 -0
  495. package/dist/agent/unified-runtime.js +397 -0
  496. package/dist/agent/unified-runtime.js.map +1 -0
  497. package/dist/client.d.ts.map +1 -1
  498. package/dist/client.js +274 -21
  499. package/dist/client.js.map +1 -1
  500. package/dist/commands/account.d.ts.map +1 -1
  501. package/dist/commands/account.js +187 -33
  502. package/dist/commands/account.js.map +1 -1
  503. package/dist/commands/agent.d.ts.map +1 -0
  504. package/dist/commands/agent.js +125 -0
  505. package/dist/commands/agent.js.map +1 -0
  506. package/dist/commands/approve.d.ts.map +1 -0
  507. package/dist/commands/approve.js +505 -0
  508. package/dist/commands/approve.js.map +1 -0
  509. package/dist/commands/automation.d.ts.map +1 -0
  510. package/dist/commands/automation.js +346 -0
  511. package/dist/commands/automation.js.map +1 -0
  512. package/dist/commands/balances.d.ts.map +1 -1
  513. package/dist/commands/balances.js +226 -73
  514. package/dist/commands/balances.js.map +1 -1
  515. package/dist/commands/buy.d.ts.map +1 -1
  516. package/dist/commands/buy.js +149 -146
  517. package/dist/commands/buy.js.map +1 -1
  518. package/dist/commands/call.d.ts.map +1 -0
  519. package/dist/commands/call.js +51 -0
  520. package/dist/commands/call.js.map +1 -0
  521. package/dist/commands/cex.d.ts.map +1 -0
  522. package/dist/commands/cex.js +958 -0
  523. package/dist/commands/cex.js.map +1 -0
  524. package/dist/commands/chat.d.ts.map +1 -1
  525. package/dist/commands/chat.js +169 -411
  526. package/dist/commands/chat.js.map +1 -1
  527. package/dist/commands/claim.d.ts.map +1 -1
  528. package/dist/commands/claim.js +313 -29
  529. package/dist/commands/claim.js.map +1 -1
  530. package/dist/commands/create.d.ts.map +1 -1
  531. package/dist/commands/create.js +151 -43
  532. package/dist/commands/create.js.map +1 -1
  533. package/dist/commands/gasless-swap.d.ts.map +1 -0
  534. package/dist/commands/gasless-swap.js +232 -0
  535. package/dist/commands/gasless-swap.js.map +1 -0
  536. package/dist/commands/health.d.ts.map +1 -1
  537. package/dist/commands/health.js +63 -7
  538. package/dist/commands/health.js.map +1 -1
  539. package/dist/commands/info.d.ts.map +1 -1
  540. package/dist/commands/info.js +131 -47
  541. package/dist/commands/info.js.map +1 -1
  542. package/dist/commands/launchpad.d.ts.map +1 -0
  543. package/dist/commands/launchpad.js +708 -0
  544. package/dist/commands/launchpad.js.map +1 -0
  545. package/dist/commands/list.d.ts.map +1 -1
  546. package/dist/commands/list.js +57 -23
  547. package/dist/commands/list.js.map +1 -1
  548. package/dist/commands/market.d.ts.map +1 -0
  549. package/dist/commands/market.js +960 -0
  550. package/dist/commands/market.js.map +1 -0
  551. package/dist/commands/mcp-install.d.ts.map +1 -0
  552. package/dist/commands/mcp-install.js +387 -0
  553. package/dist/commands/mcp-install.js.map +1 -0
  554. package/dist/commands/opps.d.ts.map +1 -0
  555. package/dist/commands/opps.js +409 -0
  556. package/dist/commands/opps.js.map +1 -0
  557. package/dist/commands/perps.d.ts.map +1 -0
  558. package/dist/commands/perps.js +248 -0
  559. package/dist/commands/perps.js.map +1 -0
  560. package/dist/commands/portfolio.d.ts.map +1 -0
  561. package/dist/commands/portfolio.js +679 -0
  562. package/dist/commands/portfolio.js.map +1 -0
  563. package/dist/commands/positions.d.ts.map +1 -1
  564. package/dist/commands/positions.js +76 -47
  565. package/dist/commands/positions.js.map +1 -1
  566. package/dist/commands/predict.d.ts.map +1 -0
  567. package/dist/commands/predict.js +280 -0
  568. package/dist/commands/predict.js.map +1 -0
  569. package/dist/commands/predictions.d.ts.map +1 -0
  570. package/dist/commands/predictions.js +486 -0
  571. package/dist/commands/predictions.js.map +1 -0
  572. package/dist/commands/risk.d.ts.map +1 -0
  573. package/dist/commands/risk.js +225 -0
  574. package/dist/commands/risk.js.map +1 -0
  575. package/dist/commands/security.d.ts.map +1 -0
  576. package/dist/commands/security.js +244 -0
  577. package/dist/commands/security.js.map +1 -0
  578. package/dist/commands/sell.d.ts.map +1 -1
  579. package/dist/commands/sell.js +67 -34
  580. package/dist/commands/sell.js.map +1 -1
  581. package/dist/commands/send.d.ts.map +1 -0
  582. package/dist/commands/send.js +733 -0
  583. package/dist/commands/send.js.map +1 -0
  584. package/dist/commands/sign.d.ts.map +1 -0
  585. package/dist/commands/sign.js +1048 -0
  586. package/dist/commands/sign.js.map +1 -0
  587. package/dist/commands/swap.d.ts.map +1 -0
  588. package/dist/commands/swap.js +744 -0
  589. package/dist/commands/swap.js.map +1 -0
  590. package/dist/commands/system.d.ts.map +1 -0
  591. package/dist/commands/system.js +417 -0
  592. package/dist/commands/system.js.map +1 -0
  593. package/dist/commands/tools/index.d.ts.map +1 -0
  594. package/dist/commands/tools/index.js +2040 -0
  595. package/dist/commands/tools/index.js.map +1 -0
  596. package/dist/commands/trade.d.ts.map +1 -0
  597. package/dist/commands/trade.js +237 -0
  598. package/dist/commands/trade.js.map +1 -0
  599. package/dist/commands/transactions.d.ts.map +1 -1
  600. package/dist/commands/transactions.js +29 -17
  601. package/dist/commands/transactions.js.map +1 -1
  602. package/dist/commands/update.d.ts.map +1 -0
  603. package/dist/commands/update.js +429 -0
  604. package/dist/commands/update.js.map +1 -0
  605. package/dist/config.d.ts.map +1 -1
  606. package/dist/config.js +351 -40
  607. package/dist/config.js.map +1 -1
  608. package/dist/index.js +4525 -924
  609. package/dist/index.js.map +1 -1
  610. package/dist/interactive/art.d.ts.map +1 -1
  611. package/dist/interactive/art.js +33 -1
  612. package/dist/interactive/art.js.map +1 -1
  613. package/dist/interactive/shell.d.ts.map +1 -1
  614. package/dist/interactive/shell.js +467 -2652
  615. package/dist/interactive/shell.js.map +1 -1
  616. package/dist/mcp/context.d.ts.map +1 -0
  617. package/dist/mcp/context.js +211 -0
  618. package/dist/mcp/context.js.map +1 -0
  619. package/dist/mcp/onboarding.d.ts.map +1 -0
  620. package/dist/mcp/onboarding.js +266 -0
  621. package/dist/mcp/onboarding.js.map +1 -0
  622. package/dist/mcp/resources.d.ts.map +1 -0
  623. package/dist/mcp/resources.js +222 -0
  624. package/dist/mcp/resources.js.map +1 -0
  625. package/dist/mcp/server.d.ts.map +1 -1
  626. package/dist/mcp/server.js +51 -1
  627. package/dist/mcp/server.js.map +1 -1
  628. package/dist/mcp/tools.d.ts.map +1 -1
  629. package/dist/mcp/tools.js +4119 -169
  630. package/dist/mcp/tools.js.map +1 -1
  631. package/dist/mcp/types.d.ts.map +1 -1
  632. package/dist/types/agent-info.d.ts.map +1 -0
  633. package/dist/types/agent-info.js +11 -0
  634. package/dist/types/agent-info.js.map +1 -0
  635. package/dist/ui/components/ScrollableList.d.ts.map +1 -0
  636. package/dist/ui/components/ScrollableList.js +72 -0
  637. package/dist/ui/components/ScrollableList.js.map +1 -0
  638. package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
  639. package/dist/ui/components/ThemeProvider.js +87 -0
  640. package/dist/ui/components/ThemeProvider.js.map +1 -0
  641. package/dist/ui/components/ThemedBox.d.ts.map +1 -0
  642. package/dist/ui/components/ThemedBox.js +24 -0
  643. package/dist/ui/components/ThemedBox.js.map +1 -0
  644. package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
  645. package/dist/ui/components/agent/ChatHeader.js +39 -0
  646. package/dist/ui/components/agent/ChatHeader.js.map +1 -0
  647. package/dist/ui/components/agent/Header.d.ts.map +1 -0
  648. package/dist/ui/components/agent/Header.js +14 -0
  649. package/dist/ui/components/agent/Header.js.map +1 -0
  650. package/dist/ui/components/agent/Input.d.ts.map +1 -0
  651. package/dist/ui/components/agent/Input.js +23 -0
  652. package/dist/ui/components/agent/Input.js.map +1 -0
  653. package/dist/ui/components/agent/Output.d.ts.map +1 -0
  654. package/dist/ui/components/agent/Output.js +23 -0
  655. package/dist/ui/components/agent/Output.js.map +1 -0
  656. package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
  657. package/dist/ui/components/chat/TokenChatUI.js +133 -0
  658. package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
  659. package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
  660. package/dist/ui/components/shell/ShellHeader.js +31 -0
  661. package/dist/ui/components/shell/ShellHeader.js.map +1 -0
  662. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
  663. package/dist/ui/components/shell/ShellInput.js +151 -0
  664. package/dist/ui/components/shell/ShellInput.js.map +1 -0
  665. package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
  666. package/dist/ui/components/shell/ShellOutput.js +8 -0
  667. package/dist/ui/components/shell/ShellOutput.js.map +1 -0
  668. package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
  669. package/dist/ui/hooks/useChatWebSocket.js +76 -0
  670. package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
  671. package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
  672. package/dist/ui/hooks/useCommandHistory.js +70 -0
  673. package/dist/ui/hooks/useCommandHistory.js.map +1 -0
  674. package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
  675. package/dist/ui/hooks/useDebounce.js +17 -0
  676. package/dist/ui/hooks/useDebounce.js.map +1 -0
  677. package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
  678. package/dist/ui/hooks/useLogStream.js +20 -0
  679. package/dist/ui/hooks/useLogStream.js.map +1 -0
  680. package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
  681. package/dist/ui/hooks/useVirtualScroll.js +70 -0
  682. package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
  683. package/dist/utils/admin.d.ts.map +1 -0
  684. package/dist/utils/admin.js +144 -0
  685. package/dist/utils/admin.js.map +1 -0
  686. package/dist/utils/autoSetup.d.ts.map +1 -0
  687. package/dist/utils/autoSetup.js +252 -0
  688. package/dist/utils/autoSetup.js.map +1 -0
  689. package/dist/utils/build-constants.d.ts.map +1 -0
  690. package/dist/utils/build-constants.js +10 -0
  691. package/dist/utils/build-constants.js.map +1 -0
  692. package/dist/utils/constants.d.ts.map +1 -1
  693. package/dist/utils/errors.d.ts.map +1 -1
  694. package/dist/utils/errors.js +10 -1
  695. package/dist/utils/errors.js.map +1 -1
  696. package/dist/utils/formatting.d.ts.map +1 -1
  697. package/dist/utils/formatting.js +46 -9
  698. package/dist/utils/formatting.js.map +1 -1
  699. package/dist/utils/llm-cli-config.d.ts.map +1 -0
  700. package/dist/utils/llm-cli-config.js +963 -0
  701. package/dist/utils/llm-cli-config.js.map +1 -0
  702. package/dist/utils/llm-cli-detector.d.ts.map +1 -0
  703. package/dist/utils/llm-cli-detector.js +202 -0
  704. package/dist/utils/llm-cli-detector.js.map +1 -0
  705. package/dist/utils/loading.d.ts.map +1 -1
  706. package/dist/utils/loading.js +25 -3
  707. package/dist/utils/loading.js.map +1 -1
  708. package/dist/utils/maintenance.d.ts.map +1 -0
  709. package/dist/utils/maintenance.js +17 -0
  710. package/dist/utils/maintenance.js.map +1 -0
  711. package/dist/utils/mcp-config.d.ts.map +1 -0
  712. package/dist/utils/mcp-config.js +77 -0
  713. package/dist/utils/mcp-config.js.map +1 -0
  714. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  715. package/dist/utils/privateKeyPrompt.js +308 -129
  716. package/dist/utils/privateKeyPrompt.js.map +1 -1
  717. package/dist/utils/process-cleanup.d.ts.map +1 -0
  718. package/dist/utils/process-cleanup.js +136 -0
  719. package/dist/utils/process-cleanup.js.map +1 -0
  720. package/dist/utils/retry.d.ts.map +1 -0
  721. package/dist/utils/retry.js +56 -0
  722. package/dist/utils/retry.js.map +1 -0
  723. package/dist/utils/rpc-helpers.d.ts.map +1 -0
  724. package/dist/utils/rpc-helpers.js +70 -0
  725. package/dist/utils/rpc-helpers.js.map +1 -0
  726. package/dist/utils/rpc-transport.d.ts.map +1 -0
  727. package/dist/utils/rpc-transport.js +87 -0
  728. package/dist/utils/rpc-transport.js.map +1 -0
  729. package/dist/utils/shell-setup.d.ts.map +1 -0
  730. package/dist/utils/shell-setup.js +531 -0
  731. package/dist/utils/shell-setup.js.map +1 -0
  732. package/dist/utils/status.d.ts.map +1 -1
  733. package/dist/utils/status.js +34 -5
  734. package/dist/utils/status.js.map +1 -1
  735. package/dist/utils/token-resolver.d.ts.map +1 -1
  736. package/dist/utils/token-resolver.js +51 -8
  737. package/dist/utils/token-resolver.js.map +1 -1
  738. package/dist/utils/x402-caller.d.ts.map +1 -0
  739. package/dist/utils/x402-caller.js +17 -0
  740. package/dist/utils/x402-caller.js.map +1 -0
  741. package/docs/README.md +28 -0
  742. package/docs/agent/README.md +18 -0
  743. package/docs/api/README.md +41 -0
  744. package/docs/cli/README.md +42 -0
  745. package/docs/guides/README.md +26 -0
  746. package/docs/implementation/README.md +18 -0
  747. package/docs/planning/README.md +19 -0
  748. package/docs/testing/README.md +15 -0
  749. package/docs/ux/README.md +16 -0
  750. package/issues.txt +2 -0
  751. package/package.json +24 -9
  752. package/scripts/cat-spin.sh +417 -0
  753. package/scripts/deprecate-rc-versions.js +58 -0
  754. package/scripts/inject-build-constants.js +43 -0
  755. package/scripts/monitor-foobar.js +117 -0
  756. package/swap.logs +61 -0
  757. package/swapping.txt +108 -0
  758. package/test.txt +12 -0
  759. package/tests/fixtures/test-data.json +16 -0
  760. package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
package/README.md CHANGED
@@ -1,1790 +1,232 @@
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](brand-assets/png/social/og-v12-ears-1280x320-dark.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
- ```
25
-
26
- Or use with npx without installing:
27
-
28
- ```bash
29
- npx httpcat-cli
30
- ```
31
-
32
- ### Homebrew (macOS/Linux)
33
-
34
- ```bash
35
- brew tap hathbanger/httpcat
36
- brew install httpcat
37
- ```
38
-
39
- ### From Source
40
-
41
- ```bash
42
- cd httpcat-cli
43
- yarn install
44
- yarn build
45
- yarn link
46
- ```
47
-
48
- ## Upgrading
49
-
50
- ### npm (Global Install)
51
-
52
- If you installed httpcat globally via npm:
53
-
54
- ```bash
55
- npm update -g httpcat-cli
56
- ```
57
-
58
- ### Yarn (Global Install)
59
-
60
- If you installed httpcat globally via yarn:
61
-
62
- ```bash
63
- yarn global upgrade httpcat-cli
64
- ```
65
-
66
- ### Homebrew
67
-
68
- If you installed via Homebrew:
69
-
70
- ```bash
71
- brew upgrade httpcat
72
- ```
73
-
74
- ### npx (No Upgrade Needed)
75
-
76
- If you're using `npx httpcat-cli`, it automatically uses the latest version - no upgrade needed!
77
-
78
- ```bash
79
- npx httpcat-cli@latest
80
- ```
81
-
82
- ### From Source (Development)
83
-
84
- If you're developing locally with `yarn link`:
85
-
86
- ```bash
87
- cd httpcat-cli
88
- git pull
89
- yarn install
90
- yarn build
91
- ```
92
-
93
- ## Quick Start
94
-
95
- ### First-Time Setup
96
-
97
- Run `httpcat` to start the configuration wizard:
98
-
99
- ```bash
100
- httpcat
101
- ```
102
-
103
- You'll be prompted to enter:
104
-
105
- - **Private Key** - Your wallet's private key (starts with 0x)
106
- - **Network** - `eip155:84532` (Base Sepolia testnet) or `eip155:8453` (Base mainnet)
107
- - **Agent URL** - The httpcat agent endpoint
108
- - **ASCII Art** - Enable or disable cat art
109
-
110
- ### Interactive Mode
111
-
112
- Once configured, running `httpcat` without arguments starts an interactive shell:
113
-
114
- ```bash
115
- $ httpcat
116
-
117
- /\_/\
118
- ( ^.^ ) Welcome to httpcat!
119
- > ^ < Your agent for token operations
120
-
121
- 🔗 Connected to: eip155:84532 (Base Sepolia)
122
- 🌐 Agent: https://agent.402.cat
123
-
124
- httpcat> help
125
- Available Commands:
126
-
127
- create <name> <symbol> Create a new token
128
- buy <id|name|symbol> <amount> Buy tokens ($0.05, $0.10, $0.20, or percentage like 50%)
129
- sell <id|name|symbol> <amount|all> Sell tokens
130
- info <id|name|symbol> Get token information
131
- list [--sort mcap|created] List all tokens
132
- positions [--active|--graduated] Get all your positions with comprehensive info
133
- transactions [--user|--token|--type] Get transaction history
134
- claim <id|name|symbol> [--execute] View/claim LP fees for graduated tokens
135
- chat [token] Start streaming chat (optional: token symbol/name/address)
136
- balances Check wallet balances (ETH, USDC, and CAT)
137
- account [list|switch|add] Manage accounts
138
- agent <query> | cat <query> Ask the cat to do something (agent and cat are synonyms)
139
- agent --chat | cat --chat Enter interactive chat mode
140
- agent --setup | cat --setup Configure API key/provider
141
- health Check agent health
142
- config [--show|--set|--reset] Manage configuration
143
- network Show current network
144
- env [list|use|show|add|update] Manage environments
145
- help Show this help message
146
- exit Exit the shell
147
-
148
- httpcat> create "Meow Token" "MEOW"
149
-
150
- /\_/\ Creating your token...
151
- ( o.o )💭
152
-
153
- 💳 Payment required: $0.01 USDC
154
-
155
- ✅ Token created successfully!
156
-
157
- ┌─────────────────────────────────────────┐
158
- │ 🎉 Meow Token (MEOW) │
159
- ├─────────────────────────────────────────┤
160
- │ Address: 0x789abcd... │
161
- │ Supply: 1,000,000,000 MEOW │
162
- │ Status: Active │
163
- └─────────────────────────────────────────┘
164
-
165
- httpcat> buy 0x789abcd... 0.20
166
-
167
- 💰 Tokens purchased successfully!
168
-
169
- ┌─────────────────────────────────────────┐
170
- │ 💰 Purchase Summary │
171
- ├─────────────────────────────────────────┤
172
- │ Tokens Received: 50,000 │
173
- │ Amount Spent: $5.00 │
174
- │ Fee (1%): $0.05 │
175
- │ New Price: $0.0002 │
176
- │ New Market Cap: $200,000 │
177
- │ Graduation: 0.15% │
178
- └─────────────────────────────────────────┘
179
-
180
- [🐱==> ] 0.15% to moon!
181
- ```
182
-
183
- ## Global Options
184
-
185
- These options can be used with any command:
186
-
187
- - `-j, --json` - Output in JSON format for scripting and automation
188
- - `-q, --quiet` - Minimal output (exit codes only)
189
- - `-v, --verbose` - Show verbose error messages and debugging information
190
- - `--no-art` - Disable ASCII art cats
191
- - `-k, --private-key <key>` - Use specific private key (overrides config and env var)
192
- - `-a, --account <index>` - Use specific account index (overrides active account)
193
-
194
- **Examples:**
195
-
196
- ```bash
197
- # Use account 2 for getting positions
198
- httpcat -a 2 positions
199
-
200
- # Use account 1 to buy tokens
201
- httpcat -a 1 buy MTK 0.10
202
-
203
- # JSON output for account 0
204
- httpcat --json -a 0 balances
205
-
206
- # Use specific private key
207
- httpcat -k 0x1234... create "Test" "TEST"
208
-
209
- # Quiet mode with exit code checking
210
- httpcat -q buy MTK 0.20 && echo "Success!" || echo "Failed"
211
- ```
212
-
213
- **Note:** The `-a, --account` flag allows you to use different accounts without switching your active account in the config.
214
-
215
- ## Commands
216
-
217
- ### Create Token
218
-
219
- Create a new token on the bonding curve.
220
-
221
- **Interactive:**
222
-
223
- ```bash
224
- httpcat> create "My Token" "MTK"
225
- httpcat> create "My Token" "MTK" --photo https://example.com/photo.png
226
- httpcat> create "My Token" "MTK" --photo ./logo.png
227
- ```
228
-
229
- **CLI:**
230
-
231
- ```bash
232
- httpcat create "My Token" "MTK"
233
- httpcat create "My Token" "MTK" --photo https://example.com/photo.png --website https://mytoken.io
234
- httpcat create "My Token" "MTK" --photo ./logo.png
235
- ```
236
-
237
- **Options:**
238
-
239
- - `-p, --photo <url|path>` - Token photo URL or file path (supports http/https URLs, local file paths, or base64 data URLs)
240
- - `-w, --website <url>` - Website URL
241
-
242
- **Cost:** $0.01 USDC
243
-
244
- ### Buy Tokens
245
-
246
- Purchase tokens from the bonding curve.
247
-
248
- **Interactive:**
249
-
250
- ```bash
251
- httpcat> buy 0x1234... 0.20
252
- httpcat> buy "My Token" 0.10
253
- httpcat> buy MTK 0.05
254
- ```
255
-
256
- **CLI:**
257
-
258
- ```bash
259
- httpcat buy 0x1234567890abcdef1234567890abcdef12345678 0.20
260
- httpcat buy "My Token" 0.10
261
- httpcat buy MTK 0.05
262
- ```
263
-
264
- **Options:**
265
-
266
- - `-r, --repeat <count>` - Execute multiple buys in sequence (stops early if token graduates or insufficient funds)
267
- - `-d, --delay <ms>` - Delay in milliseconds between repeat operations (default: 0)
268
-
269
- **Examples with repeat:**
270
-
271
- ```bash
272
- # Execute 10 buys back-to-back
273
- httpcat buy MTK 0.10 -r 10
274
-
275
- # Execute 10 buys with 500ms delay between each
276
- httpcat buy MTK 0.10 -r 10 -d 500
277
- ```
278
-
279
- **Token Identifier:**
280
-
281
- - Token address: `0x1234...` (contract address)
282
- - Token name: `"My Token"` (use quotes if it contains spaces)
283
- - Token symbol: `MTK` (case-insensitive)
284
-
285
- **Amounts:**
286
-
287
- - Test mode (Base Sepolia / eip155:84532): `0.05`, `0.10`, or `0.20` USDC
288
- - Production (base): `50`, `100`, or `200` USDC
289
- - Percentage: `10%`, `50%`, `100%` (percentage of your USDC balance)
290
- - Example: `httpcat buy MTK 50%` - Buy with 50% of your USDC balance
291
- - Works with any percentage from 0.01% to 100%
292
-
293
- **Cost:** Amount + 1% fee (e.g., $5.05 for $5 purchase)
294
-
295
- **Repeat Mode Behavior:**
296
-
297
- When using `-r, --repeat`, the command will:
298
-
299
- - Execute the specified number of buys sequentially
300
- - Stop early if the token graduates (reaches 100% graduation progress)
301
- - Stop early if you run out of funds (HTTP 402 error)
302
- - Display a compact summary for each buy
303
- - Show a final summary with total buys completed, total spent, and final status
304
-
305
- ### Sell Tokens
306
-
307
- Sell tokens back to the bonding curve.
308
-
309
- **Interactive:**
310
-
311
- ```bash
312
- httpcat> sell 0x1234... 1000 # Sell 1000 tokens
313
- httpcat> sell "My Token" 50% # Sell 50% of holdings
314
- httpcat> sell MTK all # Sell all tokens
315
- ```
316
-
317
- **CLI:**
318
-
319
- ```bash
320
- httpcat sell 0x1234567890abcdef1234567890abcdef12345678 1000
321
- httpcat sell "My Token" 50%
322
- httpcat sell MTK all
323
- ```
324
-
325
- **Token Identifier:**
326
-
327
- - Address, name, or symbol (same as buy command)
328
-
329
- **Cost:** Dynamic based on amount (1% fee deducted from proceeds)
330
-
331
- ### Token Info
332
-
333
- Get detailed information about a token.
334
-
335
- **Interactive:**
336
-
337
- ```bash
338
- httpcat> info 0x1234...
339
- httpcat> info "My Token"
340
- httpcat> info MTK
341
- ```
342
-
343
- **CLI:**
344
-
345
- ```bash
346
- httpcat info 0x1234567890abcdef1234567890abcdef12345678
347
- httpcat info "My Token"
348
- httpcat info MTK
349
- ```
350
-
351
- **Token Identifier:**
352
-
353
- - Address, name, or symbol (same as buy command)
354
-
355
- **Output:**
356
-
357
- - Token name, symbol, address
358
- - Current price and market cap
359
- - Graduation progress
360
- - Your position (if you hold any)
361
- - P&L calculation
362
-
363
- **Cost:** $0.0001 USDC
364
-
365
- ### List Tokens
366
-
367
- List all tokens with pagination and sorting.
368
-
369
- **Interactive:**
370
-
371
- ```bash
372
- httpcat> list
373
- httpcat> list --sort mcap --limit 10
374
- httpcat> list --page 2
375
- ```
376
-
377
- **CLI:**
378
-
379
- ```bash
380
- httpcat list
381
- httpcat list --sort created --limit 50
382
- httpcat list --page 3 --sort name
383
- ```
384
-
385
- **Options:**
386
-
387
- - `-s, --sort <field>` - Sort by `mcap`, `created`, or `name` (default: `mcap`)
388
- - `-l, --limit <n>` - Items per page (default: 20, max: 100)
389
- - `-p, --page <n>` - Page number (default: 1)
390
-
391
- **Cost:** $0.0001 USDC
392
-
393
- ### Positions
394
-
395
- Get all your positions with comprehensive information including current value, profit/loss, ROI, transaction history, and portfolio summary.
396
-
397
- **Interactive:**
398
-
399
- ```bash
400
- httpcat> positions
401
- ```
402
-
403
- **CLI:**
404
-
405
- ```bash
406
- httpcat positions
407
- httpcat positions --active # Only active positions
408
- httpcat positions --graduated # Only graduated positions
409
- httpcat -j positions
410
- httpcat -k 0x... positions
411
- ```
412
-
413
- **Options:**
414
-
415
- - `-a, --active` - Show only active (non-graduated) positions
416
- - `-g, --graduated` - Show only graduated positions (historical)
417
-
418
- **Output:**
419
-
420
- For each position:
421
-
422
- - Token information (name, symbol, address, status, price, market cap, graduation progress)
423
- - Position details (tokens owned, USDC invested, current value, average cost per token)
424
- - Performance metrics (profit/loss in USDC and percentage ROI)
425
- - Position age (days, hours, minutes, seconds since first purchase)
426
- - Transaction history (total transaction count, last transaction date)
427
- - Timestamps (position created and updated dates)
428
-
429
- Portfolio summary:
430
-
431
- - Total positions count
432
- - Total portfolio value
433
- - Total amount invested
434
- - Total profit/loss and overall ROI percentage
435
-
436
- **Cost:** $0.01 USDC
437
-
438
- ### Claim LP Fees
439
-
440
- View and claim accumulated liquidity provider fees for graduated tokens.
441
-
442
- **Interactive:**
443
-
444
- ```bash
445
- httpcat> claim "My Token" # View accumulated fees
446
- httpcat> claim MTK # View by symbol
447
- httpcat> claim MTK --execute # Claim fees
448
- ```
449
-
450
- **CLI:**
451
-
452
- ```bash
453
- httpcat claim "My Token"
454
- httpcat claim MTK
455
- httpcat claim MTK --execute
456
- httpcat claim 0x1234... --execute
457
- httpcat --json claim "My Token"
458
- ```
459
-
460
- **Options:**
461
-
462
- - `-e, --execute` - Execute the claim transaction (default is view-only)
463
- - `-A, --address <address>` - Caller address (defaults to wallet address)
464
-
465
- **Token Identifier:**
466
-
467
- - Address, name, or symbol (same as buy/sell commands)
468
-
469
- **Output:**
470
-
471
- When viewing (without `--execute`):
472
- - Total accumulated fees (tokens and USDC)
473
- - Creator share (80%)
474
- - Platform share (20%)
475
- - LP lock status and details
476
- - V4 position details (if applicable)
477
-
478
- When claiming (with `--execute`):
479
- - Transaction hash
480
- - Fees claimed (tokens and USDC)
481
- - Creator and platform shares distribution
482
-
483
- **Cost:** Free to view, gas fees apply for claiming
484
-
485
- ### Transactions
486
-
487
- Get paginated transaction history with filtering options.
488
-
489
- **Interactive:**
490
-
491
- ```bash
492
- httpcat> transactions
493
- httpcat> transactions --type buy
494
- httpcat> transactions --token abc123-...
495
- ```
496
-
497
- **CLI:**
498
-
499
- ```bash
500
- httpcat transactions
501
- httpcat transactions --user 0x1234...
502
- httpcat transactions --token abc123-... --type buy
503
- httpcat transactions --type sell --limit 20
504
- httpcat --json transactions --offset 50
505
- ```
506
-
507
- **Options:**
508
-
509
- - `-u, --user <address>` - Filter by user address (defaults to active account)
510
- - `-t, --token <tokenId>` - Filter by token ID
511
- - `-T, --type <type>` - Filter by type: `buy`, `sell`, or `airdrop`
512
- - `-l, --limit <number>` - Number of results (default: 50, max: 100)
513
- - `-o, --offset <number>` - Pagination offset (default: 0)
514
-
515
- **Output:**
516
-
517
- For each transaction:
518
- - Transaction type (buy, sell, or airdrop)
519
- - Status (pending, success, or failed)
520
- - Token information (name, symbol, ID)
521
- - User address
522
- - Amount and fee
523
- - Transaction hash
524
- - Date/time
525
-
526
- **Cost:** Varies based on API call
527
-
528
- **Note:** Defaults to showing transactions for your active account. Use `--user` to view transactions for a different address.
529
-
530
- ### Check Balances
531
-
532
- Check your wallet's ETH and USDC balances.
533
-
534
- **Interactive:**
535
-
536
- ```bash
537
- httpcat> balances
538
- ```
539
-
540
- **CLI:**
541
-
542
- ```bash
543
- httpcat balances
544
- httpcat balances -k 0x...
545
- ```
546
-
547
- **Output:**
548
-
549
- - Wallet address
550
- - ETH balance (for gas fees)
551
- - USDC balance (for trading)
552
- - CAT balance (402CAT token)
553
- - Low balance warnings if applicable
554
-
555
- **Cost:** Free (no payment required)
556
-
557
- **Note:** If no private key is configured, you'll be prompted to enter it interactively (same as other commands).
558
-
559
- ### Account Management
560
-
561
- Manage multiple accounts, view account information, and switch between accounts.
562
-
563
- **Interactive:**
564
-
565
- ```bash
566
- httpcat> account # Show active account info
567
- httpcat> account list # List all accounts
568
- httpcat> account switch 1 # Switch to account 1
569
- httpcat> account add # Add new account
570
- ```
571
-
572
- **CLI:**
573
-
574
- ```bash
575
- httpcat account # Show active account
576
- httpcat account list # List all accounts
577
- httpcat account switch 1 # Switch to account 1
578
- httpcat account add # Add new account
579
- httpcat --account 2 positions # Use account 2 for positions
580
- httpcat -a 1 buy MTK 0.10 # Use account 1 for buy
581
- httpcat --json account
582
- ```
583
-
584
- **Subcommands:**
585
-
586
- - `account` (no args) - Display active account information (address, balances, positions)
587
- - `account list` - List all configured accounts with their details
588
- - `account switch <index>` - Switch to a different account by index
589
- - `account add` - Add a new seed-derived account (HD wallet)
590
-
591
- **Account Types:**
592
-
593
- 1. **Seed-Derived** (Account 1+) - Accounts generated from your seed phrase using BIP-32/BIP-39
594
- 2. **Custom** (Account 0) - Account added via private key import
595
-
596
- **Output:**
597
-
598
- Account information includes:
599
- - Account index and type (Seed-Derived or Custom)
600
- - Wallet address (checksummed)
601
- - ETH balance (for gas fees)
602
- - USDC balance (for trading)
603
- - CAT balance (402CAT token)
604
- - All positions (if any) with P&L
605
-
606
- **Cost:** Free
607
-
608
- **Security Note:** All accounts share the same password protection when password is enabled. Switch accounts anytime using the `--account` flag or `account switch` command.
609
-
610
- ### Health Check
611
-
612
- Check if the agent is running.
613
-
614
- **Interactive:**
615
-
616
- ```bash
617
- httpcat> health
618
- ```
619
-
620
- **CLI:**
621
-
622
- ```bash
623
- httpcat health
624
- ```
625
-
626
- **Cost:** $0.0001 USDC (or 402 response)
627
-
628
- ### Chat
629
-
630
- Start streaming chat with the httpcat community. Join general chat or token-specific discussions.
631
-
632
- **Interactive:**
633
-
634
- ```bash
635
- httpcat> chat # Join general chat
636
- httpcat> chat MTK # Join chat for token with symbol "MTK"
637
- httpcat> chat "My Token" # Join chat for token with name "My Token"
638
- httpcat> chat 0x1234... # Join chat for token at address
639
- ```
640
-
641
- **CLI:**
642
-
643
- ```bash
644
- httpcat chat
645
- httpcat chat MTK
646
- httpcat chat "My Token"
647
- httpcat chat 0x1234...
648
- httpcat -j chat MTK
649
- httpcat -j -f stream-json chat MTK # Structured JSON input
650
- ```
651
-
652
- **Token Identifier:**
653
-
654
- - Token symbol: `MTK` (case-insensitive)
655
- - Token name: `"My Token"` (use quotes if it contains spaces)
656
- - Token address: `0x1234...`
657
-
658
- **In-Chat Commands:**
659
-
660
- While in a chat session, you can use these commands:
661
-
662
- - `/exit` or `/quit` - Exit the chat
663
- - `/renew` - Renew your 10-minute lease
664
- - `/buy <amount>` - Buy tokens (token-specific chats only)
665
- - `/sell <amount>` - Sell tokens (token-specific chats only)
666
- - `/help` - Show available commands
667
-
668
- **Examples:**
669
-
670
- ```
671
- /renew
672
- /buy 0.10
673
- /sell 50%
674
- /sell all
675
- ```
676
-
677
- **Note:** The `/buy` and `/sell` commands are only available in token-specific chats, not in general chat.
678
-
679
- **Options:**
680
-
681
- - `-f, --input-format <format>` - Input format (only works with `--json`): `"text"` (default) or `"stream-json"` (realtime streaming input)
682
- - `"text"`: Line-delimited text input (default)
683
- - `"stream-json"`: Newline-delimited JSON (NDJSON) objects. Each line is a JSON object: `{"message": "text"}` or `{"command": "/renew"}`
684
-
685
- **Cost:** $0.01 USDC to join, $0.0001 USDC per message, 10 minute lease
686
-
687
- **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.
688
-
689
- ### Cat / Agent
690
-
691
- Interact with an AI-powered cat assistant that can help you with token operations, portfolio management, and more. **`agent` and `cat` are synonyms** - you can use either command name.
692
-
693
- **Interactive:**
694
-
695
- ```bash
696
- httpcat> agent "Buy 100 WOW tokens" # Ask the cat to do something
697
- httpcat> cat "What tokens do I own?" # Same thing, different name
698
- httpcat> agent --chat # Enter interactive chat mode
699
- httpcat> cat --chat # Same thing
700
- httpcat> agent --setup # Configure API key/provider
701
- httpcat> cat --setup # Same thing
702
- ```
703
-
704
- **CLI:**
705
-
706
- ```bash
707
- httpcat agent "Buy 100 WOW tokens"
708
- httpcat cat "What tokens do I own?"
709
- httpcat agent --chat
710
- httpcat cat --chat
711
- httpcat agent --setup
712
- httpcat cat --setup
713
- ```
714
-
715
- **Usage:**
716
-
717
- - `agent <query>` or `cat <query>` - Ask the cat to execute a task (e.g., "Buy WOW tokens", "Check my balance", "List my positions")
718
- - `agent --chat` or `cat --chat` - Enter interactive chat mode for extended conversations
719
- - `agent --setup` or `cat --setup` - Configure or reconfigure your AI provider (OpenAI or Anthropic) and API key
720
-
721
- **First-Time Setup:**
722
-
723
- Before using the cat/agent, you'll need to configure it:
724
-
725
- ```bash
726
- httpcat> agent --setup
727
- # or
728
- httpcat> cat --setup
729
- ```
730
-
731
- You'll be prompted to:
732
- - Choose an AI provider (OpenAI or Anthropic)
733
- - Enter your API key
734
- - Select a model (defaults provided)
735
-
736
- **How It Works:**
737
-
738
- The cat uses an AI agent (powered by OpenAI GPT-4 or Anthropic Claude) to understand natural language requests and execute token operations on your behalf. It can:
739
- - Buy and sell tokens
740
- - Check balances and positions
741
- - List tokens
742
- - Get token information
743
- - And more!
744
-
745
- **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.
746
-
747
- ### Help
748
-
749
- Display help information for httpcat.
750
-
751
- **CLI:**
752
-
753
- ```bash
754
- httpcat help
755
- httpcat --help
756
- httpcat -h
757
- ```
758
-
759
- All three commands show the same help output with available commands and options.
760
-
761
- ### Configuration
762
-
763
- Manage your httpcat configuration.
764
-
765
- **Interactive:**
766
-
767
- ```bash
768
- httpcat> config -s # Show current config
769
- httpcat> config -S network=base # Update a setting
770
- httpcat> config -r # Re-run setup wizard
771
- ```
772
-
773
- **CLI:**
774
-
775
- ```bash
776
- httpcat config # Run setup wizard
777
- httpcat config -s # Show current config (JSON)
778
- httpcat config -S network=base # Update a setting
779
- ```
780
-
781
- ### MCP Server
782
-
783
- Start the Model Context Protocol server for AI assistant integration.
784
-
785
- **CLI:**
786
-
787
- ```bash
788
- httpcat mcp-server
789
- ```
790
-
791
- **Description:**
792
-
793
- 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.
794
-
795
- **Configuration:**
796
-
797
- Add to your MCP client config:
798
-
799
- ```json
800
- {
801
- "mcpServers": {
802
- "httpcat": {
803
- "command": "npx",
804
- "args": ["-y", "httpcat-cli", "mcp-server"],
805
- "env": {
806
- "HTTPCAT_PRIVATE_KEY": "0x..." // Optional
807
- }
808
- }
809
- }
810
- }
811
- ```
812
-
813
- See the [MCP Server section](#mcp-server-model-context-protocol) for detailed documentation.
814
-
815
- ## Headless Mode (JSON Output)
816
-
817
- Perfect for scripting, automation, or LLM/agent integration.
818
-
819
- ### JSON Output
820
-
821
- Add `-j, --json` flag to any command:
822
-
823
- ```bash
824
- $ httpcat -j create "Test Token" "TEST"
825
- {
826
- "success": true,
827
- "operation": "create_token",
828
- "data": {
829
- "tokenId": "abc123-4567-89ab-cdef-0123456789ab",
830
- "tokenAddress": "0x789abcdef123...",
831
- "name": "Test Token",
832
- "symbol": "TEST",
833
- "totalSupply": "1000000000000000000000000000",
834
- "status": "active",
835
- "createdAt": "2025-11-22T10:30:00.000Z",
836
- "entrypointKey": "create_token_..."
837
- },
838
- "payment": {
839
- "txHash": "0x1234567890abcdef..."
840
- }
841
- }
842
- ```
843
-
844
- ### JSON Output Schema
845
-
846
- All commands with `--json` flag return structured JSON responses. The output follows a consistent schema:
847
-
848
- #### Success Response
849
-
850
- ```json
851
- {
852
- "success": true,
853
- "operation": "operation_name",
854
- "data": {
855
- // Operation-specific data (see below)
856
- },
857
- "payment": {
858
- "txHash": "0x...", // Optional: transaction hash if payment was made
859
- "amount": "0.01" // Optional: payment amount
860
- }
861
- }
862
- ```
863
-
864
- #### Error Response
865
-
866
- ```json
867
- {
868
- "success": false,
869
- "operation": "operation_name",
870
- "error": {
871
- "message": "Human-readable error message",
872
- "code": 1, // Exit code (see Exit Codes section)
873
- "details": {
874
- // Optional: Additional error details
875
- // May contain nested error objects from the API
876
- }
877
- }
878
- }
879
- ```
880
-
881
- #### Operation-Specific Data Structures
882
-
883
- **Create Token (`create_token`)**
884
-
885
- ```json
886
- {
887
- "tokenId": "uuid-string",
888
- "tokenAddress": "0x...",
889
- "name": "Token Name",
890
- "symbol": "SYMBOL",
891
- "totalSupply": "1000000000000000000000000000",
892
- "status": "active",
893
- "createdAt": "2025-11-22T10:30:00.000Z",
894
- "entrypointKey": "create_token_..."
895
- }
896
- ```
897
-
898
- **Buy Token (`token_buy`)**
899
-
900
- ```json
901
- {
902
- "tokenId": "uuid-string",
903
- "tokensReceived": "50000",
904
- "amountSpent": "5.00",
905
- "fee": "0.05",
906
- "newPrice": "0.0002",
907
- "newMarketCap": "200000",
908
- "graduationProgress": 0.15,
909
- "txHash": "0x..."
910
- }
911
- ```
912
-
913
- **Sell Token (`token_sell`)**
914
-
915
- ```json
916
- {
917
- "tokenId": "uuid-string",
918
- "tokensSold": "1000",
919
- "usdcReceived": "0.20",
920
- "fee": "0.002",
921
- "newPrice": "0.00018",
922
- "newMarketCap": "180000",
923
- "txHash": "0x..."
924
- }
925
- ```
926
-
927
- **Token Info (`token_info`)**
928
-
929
- ```json
930
- {
931
- "tokenId": "uuid-string",
932
- "name": "Token Name",
933
- "symbol": "SYMBOL",
934
- "address": "0x...",
935
- "status": "active",
936
- "price": "0.0002",
937
- "mcap": "200000",
938
- "graduationProgress": 0.15,
939
- "totalSupply": "1000000000000000000000000000",
940
- "createdAt": "2025-11-22T10:30:00.000Z",
941
- "userPosition": {
942
- // Optional: only if you own tokens
943
- "tokensOwned": "50000",
944
- "usdcInvested": "5.00",
945
- "currentValue": "10.00",
946
- "pnl": "5.00"
947
- }
948
- }
949
- ```
950
-
951
- **List Tokens (`list_tokens`)**
952
-
953
- ```json
954
- {
955
- "tokens": [
956
- {
957
- "tokenId": "uuid-string",
958
- "name": "Token Name",
959
- "symbol": "SYMBOL",
960
- "address": "0x...",
961
- "status": "active",
962
- "mcap": "200000",
963
- "price": "0.0002",
964
- "graduationProgress": 0.15,
965
- "createdAt": "2025-11-22T10:30:00.000Z",
966
- "entrypointKey": "..."
967
- }
968
- ],
969
- "total": 100,
970
- "page": 1,
971
- "limit": 20,
972
- "pages": 5
973
- }
974
- ```
975
-
976
- **Positions (`positions`)**
977
-
978
- ```json
979
- {
980
- "positions": [
981
- {
982
- "tokenId": "uuid-string",
983
- "tokensOwned": "50000",
984
- "usdcInvested": "5000000",
985
- "currentValue": "10000000",
986
- "pnl": "5000000",
987
- "pnlPercentage": 100.0,
988
- "averageCostPerToken": "0.0001",
989
- "positionAge": {
990
- "days": 2,
991
- "hours": 5,
992
- "minutes": 30,
993
- "seconds": 15
994
- },
995
- "createdAt": "2025-11-22T10:30:00.000Z",
996
- "updatedAt": "2025-11-24T15:30:00.000Z",
997
- "lastTransactionDate": "2025-11-24T15:30:00.000Z",
998
- "transactionCount": 3,
999
- "token": {
1000
- "name": "Token Name",
1001
- "symbol": "SYMBOL",
1002
- "address": "0x...",
1003
- "status": "active",
1004
- "price": "0.0002",
1005
- "mcap": "200000",
1006
- "graduationProgress": 0.15
1007
- }
1008
- }
1009
- ],
1010
- "total": 1,
1011
- "summary": {
1012
- "totalPositions": 1,
1013
- "totalValue": "10000000",
1014
- "totalInvested": "5000000",
1015
- "totalPnl": "5000000",
1016
- "totalPnlPercentage": 100.0
1017
- }
1018
- }
1019
- ```
1020
-
1021
- **Health Check (`health`)**
1022
-
1023
- ```json
1024
- {
1025
- "status": "ok",
1026
- "timestamp": "2025-11-22T10:30:00.000Z",
1027
- "agent": "https://agent.402.cat"
1028
- }
1029
- ```
1030
-
1031
- **Balances (`balances`)**
1032
-
1033
- ```json
1034
- {
1035
- "address": "0x...",
1036
- "ethBalance": "1000000000000000000",
1037
- "usdcBalance": "5000000",
1038
- "ethFormatted": "1.0 ETH",
1039
- "usdcFormatted": "5.00 USDC"
1040
- }
1041
- ```
11
+ ## What is httpcat?
1042
12
 
1043
- **Version (`--version --json`)**
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.
1044
14
 
1045
- ```json
1046
- {
1047
- "name": "httpcat-cli",
1048
- "version": "0.0.8"
1049
- }
1050
- ```
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.
1051
16
 
1052
- ### Quiet Mode
17
+ httpcat wraps this in a CLI that agents can use directly. It handles payment signatures automatically.
1053
18
 
1054
- Minimal output, only exit codes:
19
+ ---
1055
20
 
1056
- ```bash
1057
- $ httpcat -q buy abc123-... 0.20
1058
- $ echo $?
1059
- 0
1060
- ```
1061
-
1062
- **Exit Codes:**
21
+ ## How It Works
1063
22
 
1064
- - `0` - Success
1065
- - `1` - General error
1066
- - `2` - Configuration error
1067
- - `3` - Network error
1068
- - `4` - Insufficient funds
1069
- - `5` - Validation error
23
+ ### x402 Protocol Integration
1070
24
 
1071
- ### Example: LLM/Agent Integration
25
+ httpcat uses the x402 protocol to handle payments automatically:
1072
26
 
1073
- ```bash
1074
- #!/bin/bash
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
1075
31
 
1076
- # Create a token
1077
- RESULT=$(httpcat -j create "AI Token" "AI")
1078
- TOKEN_ADDRESS=$(echo $RESULT | jq -r '.data.tokenAddress')
32
+ All of this happens automatically. No middleware. No wallet management in your code. Just HTTP requests with payment headers.
1079
33
 
1080
- # Buy some tokens
1081
- httpcat -j buy $TOKEN_ADDRESS 5
34
+ ### Entrypoints
1082
35
 
1083
- # Get current info
1084
- httpcat -j info $TOKEN_ADDRESS
36
+ Entrypoints are services wrapped in x402 protocol. They're composable and automatically handle payments.
1085
37
 
1086
- # Sell 50% if profitable
1087
- INFO=$(httpcat -j info $TOKEN_ADDRESS)
1088
- PNL=$(echo $INFO | jq -r '.data.userPosition.pnl')
38
+ **Built-in entrypoints:**
1089
39
 
1090
- if (( $(echo "$PNL > 0" | bc -l) )); then
1091
- httpcat -j sell $TOKEN_ADDRESS 50%
1092
- fi
1093
- ```
40
+ - `swap` DEX aggregator for token swaps
41
+ - `launchpad` Token creation and trading
42
+ - `rpc` — JSON-RPC proxy for blockchain calls
1094
43
 
1095
- ### Example: Chat Streaming with Structured Input
44
+ ---
1096
45
 
1097
- For scripts that need raw streaming access:
46
+ ## Installation
1098
47
 
1099
48
  ```bash
1100
- # Using stream-json input format
1101
- echo '{"message": "Hello!"}' | httpcat -j -f stream-json chat MTK
1102
- echo '{"command": "/renew"}' | httpcat -j -f stream-json chat MTK
1103
-
1104
- # Or pipe multiple messages
1105
- cat messages.ndjson | httpcat -j -f stream-json chat MTK
49
+ npm install -g httpcat-cli
1106
50
  ```
1107
51
 
1108
- **Note:** For AI agents, MCP tools are recommended over CLI streaming. See [MCP Chat Tools](#chat-tools-usage-example) section.
1109
-
1110
- ## MCP Server (Model Context Protocol)
1111
-
1112
- 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.
1113
-
1114
- ### Quick Start
1115
-
1116
- **Start the MCP server:**
52
+ Or use with npx:
1117
53
 
1118
54
  ```bash
1119
- httpcat mcp-server
55
+ npx httpcat-cli
1120
56
  ```
1121
57
 
1122
- **Or use npx (no installation needed):**
58
+ Homebrew:
1123
59
 
1124
60
  ```bash
1125
- npx httpcat-cli mcp-server
1126
- ```
1127
-
1128
- ### MCP Client Configuration
1129
-
1130
- Add the httpcat MCP server to your MCP client configuration:
1131
-
1132
- #### For Cursor
1133
-
1134
- Add to your Cursor settings (`.cursor/mcp.json` or settings UI):
1135
-
1136
- ```json
1137
- {
1138
- "mcpServers": {
1139
- "httpcat": {
1140
- "command": "npx",
1141
- "args": ["-y", "httpcat-cli", "mcp-server"],
1142
- "env": {
1143
- "HTTPCAT_PRIVATE_KEY": "0x..." // Optional - can also pass via tool params
1144
- }
1145
- }
1146
- }
1147
- }
1148
- ```
1149
-
1150
- #### For Claude Desktop
1151
-
1152
- Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
1153
-
1154
- ```json
1155
- {
1156
- "mcpServers": {
1157
- "httpcat": {
1158
- "command": "npx",
1159
- "args": ["-y", "httpcat-cli", "mcp-server"],
1160
- "env": {
1161
- "HTTPCAT_PRIVATE_KEY": "0x..."
1162
- }
1163
- }
1164
- }
1165
- }
1166
- ```
1167
-
1168
- #### Using Global Install
1169
-
1170
- If you've installed httpcat globally:
1171
-
1172
- ```json
1173
- {
1174
- "mcpServers": {
1175
- "httpcat": {
1176
- "command": "httpcat",
1177
- "args": ["mcp-server"],
1178
- "env": {
1179
- "HTTPCAT_PRIVATE_KEY": "0x..."
1180
- }
1181
- }
1182
- }
1183
- }
1184
- ```
1185
-
1186
- ### Available MCP Tools
1187
-
1188
- The MCP server exposes the following tools:
1189
-
1190
- #### `create_token`
1191
-
1192
- Create a new token on the bonding curve.
1193
-
1194
- **Parameters:**
1195
-
1196
- - `name` (string, required) - Token name (e.g., "My Token")
1197
- - `symbol` (string, required) - Token symbol/ticker (3-10 characters)
1198
- - `photoUrl` (string, optional) - Photo URL, file path, or base64 data URL for token logo
1199
- - `websiteUrl` (string, optional) - Website URL
1200
- - `privateKey` (string, optional) - Private key (overrides config/env)
1201
-
1202
- **Cost:** $0.01 USDC
1203
-
1204
- #### `buy_token`
1205
-
1206
- Buy tokens from the bonding curve.
1207
-
1208
- **Parameters:**
1209
-
1210
- - `identifier` (string, required) - Address, name, or symbol
1211
- - `amount` (string, required) - Amount: "0.05", "0.10", or "0.20" (testnet) | "50", "100", or "200" (mainnet)
1212
- - `privateKey` (string, optional) - Private key (overrides config/env)
1213
-
1214
- **Cost:** Amount + 1% fee
1215
-
1216
- #### `sell_token`
1217
-
1218
- Sell tokens back to the bonding curve.
1219
-
1220
- **Parameters:**
1221
-
1222
- - `identifier` (string, required) - Address, name, or symbol
1223
- - `amount` (string, required) - Amount: number (e.g., "1000"), percentage (e.g., "50%"), or "all"
1224
- - `privateKey` (string, optional) - Private key (overrides config/env)
1225
-
1226
- **Cost:** 1% fee deducted from proceeds
1227
-
1228
- #### `token_info`
1229
-
1230
- Get detailed information about a token.
1231
-
1232
- **Parameters:**
1233
-
1234
- - `identifier` (string, required) - Address, name, or symbol
1235
- - `privateKey` (string, optional) - Private key (overrides config/env)
1236
-
1237
- **Returns:** Token details, price, market cap, graduation progress, and your position (if you own tokens)
1238
-
1239
- **Cost:** $0.0001 USDC
1240
-
1241
- #### `list_tokens`
1242
-
1243
- List all tokens with pagination and sorting.
1244
-
1245
- **Parameters:**
1246
-
1247
- - `page` (number, optional) - Page number (default: 1)
1248
- - `limit` (number, optional) - Items per page (default: 20, max: 100)
1249
- - `sort` (string, optional) - Sort by: "mcap", "created", or "name" (default: "mcap")
1250
- - `privateKey` (string, optional) - Private key (overrides config/env)
1251
-
1252
- **Cost:** $0.0001 USDC
1253
-
1254
- #### `positions`
1255
-
1256
- Get all your positions with comprehensive information including current value, profit/loss, ROI, transaction history, and portfolio summary.
1257
-
1258
- **Parameters:**
1259
-
1260
- - `privateKey` (string, optional) - Private key (overrides config/env)
1261
-
1262
- **Returns:** All positions for the requesting address with:
1263
-
1264
- - Position details (tokens owned, USDC invested, current value, average cost)
1265
- - Performance metrics (profit/loss, ROI percentage)
1266
- - Position age and transaction history
1267
- - Token information for each position
1268
- - Portfolio summary (total value, total invested, total P/L, overall ROI)
1269
-
1270
- **Cost:** $0.01 USDC
1271
-
1272
- #### `check_balance`
1273
-
1274
- Check wallet balance (ETH and USDC).
1275
-
1276
- **Parameters:**
1277
-
1278
- - `privateKey` (string, optional) - Private key (overrides config/env)
1279
-
1280
- **Cost:** Free (no payment required)
1281
-
1282
- #### `health_check`
1283
-
1284
- Check if the httpcat agent is running and healthy.
1285
-
1286
- **Parameters:**
1287
-
1288
- - `privateKey` (string, optional) - Private key (overrides config/env)
1289
-
1290
- **Cost:** $0.0001 USDC
1291
-
1292
- #### `chat_join`
1293
-
1294
- Join a chat room (general or token-specific). Establishes a WebSocket connection and returns a leaseId for subsequent chat operations.
1295
-
1296
- **Parameters:**
1297
-
1298
- - `tokenIdentifier` (string, optional) - Token symbol, name, or address (e.g., "FRIDA", "My Token", or "0x1234..."). If not provided, joins general chat.
1299
- - `privateKey` (string, optional) - Private key (overrides config/env)
1300
-
1301
- **Returns:** `{ leaseId, leaseExpiresAt, wsUrl, lastMessages[] }`
1302
-
1303
- **Cost:** $0.01 USDC to join, $0.0001 USDC per message, 10 minute lease
1304
-
1305
- **Note:** The MCP server maintains the WebSocket connection in the background and caches messages. Use `chat_get_recent_messages` to poll for new messages.
1306
-
1307
- #### `chat_send_message`
1308
-
1309
- Send a message to the active chat.
1310
-
1311
- **Parameters:**
1312
-
1313
- - `message` (string, required) - Message text to send
1314
- - `leaseId` (string, required) - Lease ID from `chat_join` result
1315
- - `privateKey` (string, optional) - Private key (overrides config/env)
1316
-
1317
- **Returns:** `{ messageId, timestamp, message, author }`
1318
-
1319
- **Cost:** $0.0001 USDC per message
1320
-
1321
- #### `chat_renew_lease`
1322
-
1323
- Renew an expiring or expired chat lease.
1324
-
1325
- **Parameters:**
1326
-
1327
- - `leaseId` (string, optional) - Lease ID to renew. If not provided, renews most recent lease for the private key.
1328
- - `privateKey` (string, optional) - Private key (overrides config/env)
1329
-
1330
- **Returns:** `{ leaseId, leaseExpiresAt }`
1331
-
1332
- **Cost:** $0.01 USDC
1333
-
1334
- #### `chat_get_recent_messages`
1335
-
1336
- Get recent messages from chat (polling mechanism). Returns cached messages from the active chat session.
1337
-
1338
- **Parameters:**
1339
-
1340
- - `leaseId` (string, required) - Lease ID from `chat_join` result
1341
- - `limit` (number, optional) - Maximum number of messages to return (default: 50)
1342
- - `privateKey` (string, optional) - Private key (overrides config/env)
1343
-
1344
- **Returns:** `{ messages[] }` with recent chat messages
1345
-
1346
- **Cost:** Free (uses cached data)
1347
-
1348
- **Note:** Messages are cached in memory as they arrive via WebSocket. Poll this tool periodically to check for new messages.
1349
-
1350
- ### Chat Tools Usage Example
1351
-
1352
- Here's how an AI agent like Claude Code would use the chat tools:
1353
-
1354
- ```javascript
1355
- // Step 1: Join the FRIDA token chat room
1356
- const joinResult = await mcp.callTool("chat_join", {
1357
- tokenIdentifier: "FRIDA",
1358
- });
1359
- // Returns: { leaseId: "abc123...", leaseExpiresAt: "...", lastMessages: [...] }
1360
-
1361
- // Step 2: Send a message
1362
- const sendResult = await mcp.callTool("chat_send_message", {
1363
- message: "Hello FRIDA community!",
1364
- leaseId: joinResult.leaseId,
1365
- });
1366
- // Returns: { messageId: "msg456...", timestamp: "...", message: "...", author: "0x..." }
1367
-
1368
- // Step 3: Poll for new messages (agent does this periodically)
1369
- const messages = await mcp.callTool("chat_get_recent_messages", {
1370
- leaseId: joinResult.leaseId,
1371
- limit: 20,
1372
- });
1373
- // Returns: { messages: [...] }
1374
-
1375
- // Step 4: Renew lease when needed
1376
- const renewal = await mcp.callTool("chat_renew_lease", {
1377
- leaseId: joinResult.leaseId,
1378
- });
1379
- // Returns: { leaseId: "new-lease-id...", leaseExpiresAt: "..." }
1380
- ```
1381
-
1382
- **Key Benefits:**
1383
-
1384
- - No shell scripting or process management required
1385
- - WebSocket connections maintained automatically by MCP server
1386
- - Messages cached in memory for quick retrieval
1387
- - Simple polling model for agents
1388
-
1389
- ### Private Key Configuration
1390
-
1391
- Private keys can be configured in three ways (priority order):
1392
-
1393
- 1. **Tool parameter** - Pass `privateKey` in each tool call (highest priority)
1394
- 2. **Environment variable** - Set `HTTPCAT_PRIVATE_KEY` in the MCP client config
1395
- 3. **Config file** - Use `httpcat config` to set up `~/.config/httpcat/config.json`
1396
-
1397
- **Security Recommendation:** Use the environment variable in your MCP client config rather than passing it in each tool call.
1398
-
1399
- ### Example MCP Tool Usage
1400
-
1401
- Once configured, AI assistants can use the tools like this:
1402
-
1403
- ```
1404
- create_token(name="Moon Token", symbol="MOON", websiteUrl="https://moon.com")
1405
- buy_token(identifier="0x1234...", amount="0.20")
1406
- token_info(identifier="MOON")
1407
- list_tokens(sort="mcap", limit=10)
1408
- check_balance()
61
+ brew tap hathbanger/httpcat
62
+ brew install httpcat
1409
63
  ```
1410
64
 
1411
- ### Response Format
65
+ ---
1412
66
 
1413
- All MCP tools return structured JSON responses matching the CLI's JSON output format:
1414
-
1415
- **Success:**
67
+ ## Quick Start
1416
68
 
1417
- ```json
1418
- {
1419
- "success": true,
1420
- "operation": "tool_name",
1421
- "data": {
1422
- // Tool-specific data
1423
- }
1424
- }
1425
- ```
69
+ ### Setup
1426
70
 
1427
- **Error:**
71
+ Run `httpcat` to create your wallet:
1428
72
 
1429
- ```json
1430
- {
1431
- "success": false,
1432
- "operation": "tool_name",
1433
- "error": {
1434
- "message": "Error message",
1435
- "code": 1,
1436
- "details": {}
1437
- }
1438
- }
73
+ ```bash
74
+ httpcat
1439
75
  ```
1440
76
 
1441
- ### Benefits
1442
-
1443
- - **No Shell Access Required** - AI assistants can interact with httpcat without needing shell/terminal access
1444
- - **Structured Responses** - Consistent JSON output format for reliable parsing
1445
- - **Secure** - Private keys can be managed via environment variables or config
1446
- - **Always Up-to-Date** - Using `npx` ensures you always get the latest version
1447
- - **Zero Configuration** - Works out of the box with standard MCP clients
77
+ Your seed phrase is generated locally and never transmitted to any server.
1448
78
 
1449
- ## Advanced Usage
79
+ ### Use Entrypoints
1450
80
 
1451
- ### Environment Management
1452
-
1453
- httpcat supports multiple environments (local, sepolia, etc.) to easily switch between different agent deployments.
81
+ ```bash
82
+ # Swap tokens via DEX aggregator
83
+ httpcat swap USDC WETH 1.0
1454
84
 
1455
- #### List Environments
85
+ # Launchpad operations
86
+ httpcat launchpad list
87
+ httpcat launchpad create "My Token" "MTK"
88
+ httpcat launchpad buy MTK 0.10
89
+ httpcat launchpad positions
1456
90
 
1457
- ```bash
1458
- httpcat env list
91
+ # Call any x402 endpoint
92
+ httpcat call https://api.example.com/endpoint --method POST --body '{"data": "value"}'
1459
93
  ```
1460
94
 
1461
- Shows all available environments with their agent URLs and networks.
95
+ ### MCP Integration
1462
96
 
1463
- #### Switch Environment
97
+ Give your agent claws:
1464
98
 
1465
99
  ```bash
1466
- # Switch to local environment
1467
- httpcat env use local
1468
-
1469
- # Switch to sepolia environment
1470
- httpcat env use sepolia
100
+ httpcat mcp install
1471
101
  ```
1472
102
 
1473
- #### Show Current Environment
103
+ Your agent can now use all CLI commands as MCP tools. One integration, access to everything.
1474
104
 
1475
- ```bash
1476
- httpcat env show
1477
- ```
105
+ ---
1478
106
 
1479
- #### Add Custom Environment
1480
-
1481
- ```bash
1482
- # Add a custom environment
1483
- httpcat env add production http://production-agent:8787 -n base
107
+ ## Commands
1484
108
 
1485
- # Switch to it
1486
- httpcat env use production
1487
- ```
109
+ ### Launchpad
1488
110
 
1489
- #### Update Environment
111
+ - `launchpad list` — List all tokens (FREE)
112
+ - `launchpad info <identifier>` — Get token information (FREE)
113
+ - `launchpad buy <identifier> <amount>` — Buy tokens from bonding curve
114
+ - `launchpad sell <identifier> <amount>` — Sell tokens to bonding curve ($0.01)
115
+ - `launchpad positions` — Get token positions (FREE)
1490
116
 
1491
- ```bash
1492
- # Update existing environment URL
1493
- httpcat env update local http://localhost:8788
117
+ **Shortcuts:** `list`, `info`, `buy`, `sell`, `positions`
1494
118
 
1495
- # Update environment with different network
1496
- httpcat env update production http://prod-agent:8787 -n base
1497
- ```
119
+ ### Entrypoints
1498
120
 
1499
- Updates an existing environment's agent URL and optionally its network.
121
+ - `swap <tokenIn> <tokenOut> <amount>` Execute swaps via DEX aggregator
122
+ - `call <url> [options]` — Call any x402-protected endpoint
1500
123
 
1501
- #### Predefined Environments
124
+ ### Tools
1502
125
 
1503
- - **local** - `http://localhost:8787` (eip155:84532)
1504
- - **sepolia** - `https://agent.402.cat` (eip155:84532)
126
+ - `rpc` — JSON-RPC proxy for blockchain calls ($0.05)
1505
127
 
1506
- #### Environment Priority
128
+ ### Infrastructure
1507
129
 
1508
- Agent URL resolution priority:
130
+ - `accounts` List all configured accounts
131
+ - `mcp install [llm-name]` — Install MCP server for AI assistants
132
+ - `mcp start` — Start MCP server
133
+ - `config` — Configure httpcat settings
134
+ - `use <value>` — Switch account or environment
1509
135
 
1510
- 1. `HTTPCAT_AGENT_URL` environment variable
1511
- 2. Current environment's agent URL
1512
- 3. Config file `agentUrl` setting
1513
- 4. Default value
136
+ **Shortcuts:** `balances`, `health`, `transactions`
1514
137
 
1515
- ### Environment Variables
138
+ ---
1516
139
 
1517
- Override config with environment variables:
140
+ ## x402 Protocol
1518
141
 
1519
- ```bash
1520
- # Private key (most secure - doesn't save to config)
1521
- export HTTPCAT_PRIVATE_KEY=0x1234567890abcdef...
142
+ httpcat is built on the [x402 protocol](https://x402.org) — HTTP-native micropayments that work without middleware or wallets.
1522
143
 
1523
- # Agent URL (overrides environment)
1524
- export HTTPCAT_AGENT_URL=http://custom-agent:8787
144
+ **How it works:**
1525
145
 
1526
- # Run commands
1527
- httpcat create "My Token" "MTK"
1528
- ```
146
+ 1. Make HTTP request to x402 endpoint
147
+ 2. Receive `402 Payment Required` response
148
+ 3. Generate payment signature using your private key
149
+ 4. Retry request with `PAYMENT-SIGNATURE` header
150
+ 5. Endpoint verifies payment and processes request
1529
151
 
1530
- ### Private Key Command-Line Option
152
+ **No middleware required.** The protocol is built into HTTP. No wallet management. No complex setup. Just HTTP requests with payment headers.
1531
153
 
1532
- You can also pass the private key directly via command-line flag (highest priority):
154
+ httpcat handles all of this automatically. You just make requests.
1533
155
 
1534
- ```bash
1535
- # Private key priority: CLI flag > Environment variable > Config file
1536
- httpcat -k 0x1234567890abcdef... create "My Token" "MTK"
1537
- httpcat -k 0x1234567890abcdef... -j buy 0x1234... 0.20
1538
- ```
156
+ ---
1539
157
 
1540
- **Note:** The `--private-key` flag takes precedence over environment variables and config file settings.
158
+ ## MCP Server
1541
159
 
1542
- ### Custom Network Configuration
160
+ The MCP server exposes all CLI commands as tools for AI assistants:
1543
161
 
1544
162
  ```bash
1545
- # Switch to mainnet
1546
- httpcat config -S network=base
1547
- httpcat config -S agentUrl=http://production-url:8787
1548
-
1549
- # Or in interactive mode
1550
- httpcat> network base
163
+ httpcat mcp install
1551
164
  ```
1552
165
 
1553
- ### Disable ASCII Art
166
+ Or start manually:
1554
167
 
1555
168
  ```bash
1556
- # Globally
1557
- httpcat config --set preferences.enableAsciiArt=false
1558
-
1559
- # Per session
1560
- httpcat --no-art
169
+ httpcat mcp start
1561
170
  ```
1562
171
 
1563
- ## Configuration File
1564
-
1565
- Config is stored at `~/.config/httpcat/config.json`:
172
+ **Configuration:**
1566
173
 
1567
174
  ```json
1568
175
  {
1569
- "encryptedPrivateKey": "...",
1570
- "encryptedSeedPhrase": "...",
1571
- "password": "hashed_password",
1572
- "passwordTimeoutMinutes": 15,
1573
- "accounts": [
1574
- {
1575
- "index": 0,
1576
- "type": "custom",
1577
- "address": "0x...",
1578
- "label": "Main Account"
1579
- },
1580
- {
1581
- "index": 1,
1582
- "type": "seed",
1583
- "address": "0x..."
1584
- }
1585
- ],
1586
- "activeAccountIndex": 0,
1587
- "network": "eip155:84532",
1588
- "agentUrl": "https://agent.402.cat",
1589
- "facilitatorUrl": "https://facilitators.x402scan.com",
1590
- "defaultMaxPayment": "10.00",
1591
- "environment": "sepolia",
1592
- "environments": {
1593
- "local": {
1594
- "name": "local",
1595
- "agentUrl": "http://localhost:8787",
1596
- "network": "base-sepolia"
1597
- },
1598
- "sepolia": {
1599
- "name": "sepolia",
1600
- "agentUrl": "https://agent.402.cat",
1601
- "network": "base-sepolia"
176
+ "mcpServers": {
177
+ "httpcat": {
178
+ "command": "npx",
179
+ "args": ["-y", "httpcat-cli", "mcp", "start"]
1602
180
  }
1603
- },
1604
- "preferences": {
1605
- "enableAsciiArt": true,
1606
- "colorOutput": true,
1607
- "verboseLogging": false
1608
- },
1609
- "aiAgent": {
1610
- "provider": "openai",
1611
- "apiKey": "encrypted_key_here",
1612
- "model": "gpt-4"
1613
181
  }
1614
182
  }
1615
183
  ```
1616
184
 
1617
- **Security Features:**
1618
-
1619
- - **Password Protection**: Set a password during setup to encrypt your private keys and seed phrase
1620
- - **Session Management**: Configurable timeout (default: 15 minutes via `passwordTimeoutMinutes`)
1621
- - **Multi-Account Support**: Manage multiple accounts (seed-derived HD wallet accounts and custom imported accounts)
1622
- - **Encrypted Storage**: Keys and seed phrases are encrypted when password is enabled
1623
- - **Account Types**:
1624
- - **Seed-Derived** (Account 1+): Generated from your seed phrase using BIP-32/BIP-39
1625
- - **Custom** (Account 0): Imported via private key
1626
-
1627
- **Security Notes:**
1628
-
1629
- - **Without password**: Private key stored in plain text (legacy `privateKey` field, auto-migrated to encrypted format)
1630
- - **With password**: Private key, seed phrase, and AI API keys are encrypted
1631
- - **For production use**:
1632
- - Enable password protection during setup for encryption
1633
- - Use `HTTPCAT_PRIVATE_KEY` environment variable for additional security
1634
- - Set restrictive file permissions: `chmod 600 ~/.config/httpcat/config.json`
1635
- - Use a dedicated wallet with limited funds
1636
-
1637
- ## How It Works
1638
-
1639
- ### x402 Payment Protocol
1640
-
1641
- httpcat uses the [x402 protocol V2](https://x402.org) for micropayments:
1642
-
1643
- 1. **Request** - CLI makes a request to the agent
1644
- 2. **402 Response** - Agent returns payment requirements
1645
- 3. **Payment** - CLI automatically transfers USDC
1646
- 4. **Verification** - Agent verifies payment via facilitator
1647
- 5. **Response** - Agent processes request and returns result
1648
-
1649
- All of this happens automatically - you just see the result!
1650
-
1651
- ### Bonding Curve
1652
-
1653
- Tokens use a bonding curve pricing mechanism:
1654
-
1655
- - Price increases as more tokens are bought
1656
- - Price decreases as tokens are sold
1657
- - 1% fee on all buy/sell operations
1658
- - Automatic graduation at market cap threshold
1659
- - Graduated tokens get Uniswap V2 liquidity
1660
-
1661
- ## Troubleshooting
1662
-
1663
- ### "No private key configured"
1664
-
1665
- Run the setup wizard:
1666
-
1667
- ```bash
1668
- httpcat config
1669
- ```
1670
-
1671
- Or use environment variable:
1672
-
1673
- ```bash
1674
- export HTTPCAT_PRIVATE_KEY=0x...
1675
- ```
1676
-
1677
- ### "Insufficient USDC balance"
1678
-
1679
- Make sure you have enough USDC in your wallet:
1680
-
1681
- - Test mode (Base Sepolia / eip155:84532): Get testnet USDC from faucets
1682
- - Production (base): Bridge USDC to Base
1683
-
1684
- You also need ETH for gas fees.
1685
-
1686
- ### "Request failed with status 402"
1687
-
1688
- The payment verification failed. Check:
1689
-
1690
- 1. Wallet has sufficient USDC and ETH
1691
- 2. Network is correct (eip155:84532 for testnet vs eip155:8453 for mainnet)
1692
- 3. Agent URL is reachable
1693
- 4. Facilitator URL is correct
1694
-
1695
- ### Connection errors
1696
-
1697
- Verify the agent is running:
1698
-
1699
- ```bash
1700
- httpcat health
1701
- ```
1702
-
1703
- Check your config:
1704
-
1705
- ```bash
1706
- httpcat config --show
1707
- ```
1708
-
1709
- ### Check Wallet Balance
1710
-
1711
- Use the balances command to check your wallet's ETH and USDC balances:
1712
-
1713
- ```bash
1714
- httpcat balances
1715
- ```
1716
-
1717
- This will show your wallet address, ETH balance (for gas fees), and USDC balance (for trading), with warnings if balances are low.
1718
-
1719
- ## Examples
1720
-
1721
- ### Complete Workflow
1722
-
1723
- ```bash
1724
- # Setup
1725
- httpcat config
1726
-
1727
- # Check your wallet balances
1728
- httpcat balances
1729
-
1730
- # Create a token
1731
- httpcat create "Moon Cat" "MOON" -w --website https://mooncat.io
185
+ **Note:** Private key is NOT included in MCP config — the server reads from `~/.config/httpcat/config.json` automatically.
1732
186
 
1733
- # Buy tokens
1734
- httpcat buy 0x1234... 5
187
+ Your agent can now:
1735
188
 
1736
- # Check your position
1737
- httpcat info 0x1234...
189
+ - Use entrypoints (swap, launchpad, rpc)
190
+ - Call any x402 endpoint
191
+ - Discover and compose services
192
+ - Build capabilities
1738
193
 
1739
- # Get all your positions with comprehensive info
1740
- httpcat positions
194
+ ---
1741
195
 
1742
- # Sell half when profitable
1743
- httpcat sell 0x1234... 50%
196
+ ## Global Options
1744
197
 
1745
- # List all your tokens (shows positions)
1746
- httpcat list
1747
- ```
198
+ - `-j, --json` JSON output for scripting
199
+ - `-q, --quiet` — Minimal output
200
+ - `-v, --verbose` — Verbose errors
201
+ - `--no-art` — Disable ASCII art
202
+ - `-k, --private-key <key>` — Override private key
203
+ - `-a, --account <index>` — Use specific account
1748
204
 
1749
- ### Scripted Trading Bot
205
+ ---
1750
206
 
1751
- ```bash
1752
- #!/bin/bash
207
+ ## Documentation
1753
208
 
1754
- TOKEN_ADDRESS="0x1234567890abcdef1234567890abcdef12345678"
209
+ For detailed documentation, entrypoint reference, and deployment guides:
1755
210
 
1756
- # Monitor and trade
1757
- while true; do
1758
- INFO=$(httpcat -j info $TOKEN_ADDRESS)
1759
- PROGRESS=$(echo $INFO | jq -r '.data.graduationProgress')
211
+ **📖 [docs.402.cat](https://docs.402.cat)**
1760
212
 
1761
- # Buy if close to graduation
1762
- if (( $(echo "$PROGRESS > 90" | bc -l) )); then
1763
- httpcat -q buy $TOKEN_ADDRESS 5
1764
- fi
213
+ ---
1765
214
 
1766
- sleep 60
1767
- done
1768
- ```
215
+ ## The Foundation
1769
216
 
1770
- ## Development
217
+ httpcat is built on three primitives:
1771
218
 
1772
- ```bash
1773
- # Install dependencies
1774
- yarn install
219
+ 1. **x402 Protocol** — HTTP-native micropayments, no middleware
220
+ 2. **Entrypoint Registry** — Discoverable, composable services
221
+ 3. **Automatic Payments** — Payment signatures handled automatically
1775
222
 
1776
- # Build
1777
- yarn build
223
+ This is the infrastructure that lets agents transact without wallets, discover services without APIs, and build capabilities by composing entrypoints.
1778
224
 
1779
- # Watch mode
1780
- yarn dev
225
+ **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.
1781
226
 
1782
- # Link for local testing
1783
- yarn link
227
+ The constraint is what makes it work.
1784
228
 
1785
- # Test
1786
- httpcat --version
1787
- ```
229
+ ---
1788
230
 
1789
231
  ## License
1790
232
 
@@ -1792,6 +234,7 @@ MIT
1792
234
 
1793
235
  ## Support
1794
236
 
1795
- - Report issues: https://github.com/hathbanger/httpcat-cli/issues
1796
- - httpcat agent: https://agent.402.cat
1797
- - x402 protocol: https://x402.org
237
+ - Issues: https://github.com/hathbanger/httpcat-cli/issues
238
+ - Agent: https://agent-test.402.cat
239
+ - Protocol: https://x402.org
240
+ - Docs: https://docs.402.cat