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.
- package/.github/workflows/ci.yml +3 -0
- package/.github/workflows/rc-publish.yml +6 -0
- package/.github/workflows/release.yml +107 -0
- package/.github/workflows/sync-version.yml +31 -2
- package/README.md +128 -1685
- package/additions.txt +3 -0
- package/brand-assets/png/expressions/compact-160-dark.png +0 -0
- package/brand-assets/png/expressions/compact-160-light.png +0 -0
- package/brand-assets/png/expressions/compact-320-dark.png +0 -0
- package/brand-assets/png/expressions/compact-320-light.png +0 -0
- package/brand-assets/png/expressions/default-160-dark.png +0 -0
- package/brand-assets/png/expressions/default-160-light.png +0 -0
- package/brand-assets/png/expressions/default-320-dark.png +0 -0
- package/brand-assets/png/expressions/default-320-light.png +0 -0
- package/brand-assets/png/expressions/minimal-160-dark.png +0 -0
- package/brand-assets/png/expressions/minimal-160-light.png +0 -0
- package/brand-assets/png/expressions/minimal-320-dark.png +0 -0
- package/brand-assets/png/expressions/minimal-320-light.png +0 -0
- package/brand-assets/png/expressions/pointy-160-dark.png +0 -0
- package/brand-assets/png/expressions/pointy-160-light.png +0 -0
- package/brand-assets/png/expressions/pointy-320-dark.png +0 -0
- package/brand-assets/png/expressions/pointy-320-light.png +0 -0
- package/brand-assets/png/expressions/simplified-160-dark.png +0 -0
- package/brand-assets/png/expressions/simplified-160-light.png +0 -0
- package/brand-assets/png/expressions/simplified-320-dark.png +0 -0
- package/brand-assets/png/expressions/simplified-320-light.png +0 -0
- package/brand-assets/png/expressions/winking-160-dark.png +0 -0
- package/brand-assets/png/expressions/winking-160-light.png +0 -0
- package/brand-assets/png/expressions/winking-320-dark.png +0 -0
- package/brand-assets/png/expressions/winking-320-light.png +0 -0
- package/brand-assets/png/favicon/apple-touch-180-dark.png +0 -0
- package/brand-assets/png/favicon/apple-touch-180-light.png +0 -0
- package/brand-assets/png/favicon/favicon-16-dark.png +0 -0
- package/brand-assets/png/favicon/favicon-16-light.png +0 -0
- package/brand-assets/png/favicon/favicon-180-dark.png +0 -0
- package/brand-assets/png/favicon/favicon-180-light.png +0 -0
- package/brand-assets/png/favicon/favicon-32-dark.png +0 -0
- package/brand-assets/png/favicon/favicon-32-light.png +0 -0
- package/brand-assets/png/favicon/favicon-48-dark.png +0 -0
- package/brand-assets/png/favicon/favicon-48-light.png +0 -0
- package/brand-assets/png/favicon/v6-minimal-32-dark.png +0 -0
- package/brand-assets/png/favicon/v6-minimal-32-light.png +0 -0
- package/brand-assets/png/mark/v11-pointy-400-dark.png +0 -0
- package/brand-assets/png/mark/v11-pointy-400-light.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-160-dark.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-160-light.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-320-dark.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-320-light.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-400-dark.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-400-light.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-80-dark.png +0 -0
- package/brand-assets/png/mark/v12-ears-only-80-light.png +0 -0
- package/brand-assets/png/mark/v5-ears-400-dark.png +0 -0
- package/brand-assets/png/mark/v5-ears-400-light.png +0 -0
- package/brand-assets/png/mark/v8-minimal-400-dark.png +0 -0
- package/brand-assets/png/mark/v8-minimal-400-light.png +0 -0
- package/brand-assets/png/og-1200x630-v2-dark.png +0 -0
- package/brand-assets/png/og-feral-a.png +0 -0
- package/brand-assets/png/og-feral-b.png +0 -0
- package/brand-assets/png/og-feral-c.png +0 -0
- package/brand-assets/png/og-feral-d.png +0 -0
- package/brand-assets/png/og-v2-variation-a.png +0 -0
- package/brand-assets/png/og-v2-variation-b.png +0 -0
- package/brand-assets/png/og-v2-variation-c.png +0 -0
- package/brand-assets/png/social/banner-cat-ticker-1500x500-dark.png +0 -0
- package/brand-assets/png/social/banner-cat-ticker-1500x500-light.png +0 -0
- package/brand-assets/png/social/og-v11-pointy-1200x630-dark.png +0 -0
- package/brand-assets/png/social/og-v11-pointy-1200x630-light.png +0 -0
- package/brand-assets/png/social/og-v12-ears-1200x630-dark.png +0 -0
- package/brand-assets/png/social/og-v12-ears-1200x630-light.png +0 -0
- package/brand-assets/png/social/og-v12-ears-1280x320-dark.png +0 -0
- package/brand-assets/png/social/og-v12-ticker-1200x630-dark.png +0 -0
- package/brand-assets/png/social/og-v12-ticker-1200x630-light.png +0 -0
- package/brand-assets/png/social/pfp-ears-400-dark.png +0 -0
- package/brand-assets/png/social/pfp-ears-400-light.png +0 -0
- package/brand-assets/png/social/twitter-banner-v11-1500x500-dark.png +0 -0
- package/brand-assets/png/social/twitter-pfp-400-dark.png +0 -0
- package/brand-assets/png/social/twitter-pfp-400-light.png +0 -0
- package/brand-assets/png/social/twitter-pfp-v11-400-dark.png +0 -0
- package/brand-assets/png/v12-ears-only-1000-dark.png +0 -0
- package/brand-assets/svg/Archive/402cat-banner-1200x400-dark.svg +13 -0
- package/brand-assets/svg/Archive/402cat-banner-1200x400-light.svg +13 -0
- package/brand-assets/svg/Archive/402cat-default-160-dark.svg +12 -0
- package/brand-assets/svg/Archive/402cat-default-160-light.svg +12 -0
- package/brand-assets/svg/Archive/402cat-excited-160-dark.svg +12 -0
- package/brand-assets/svg/Archive/402cat-excited-160-light.svg +12 -0
- package/brand-assets/svg/Archive/402cat-facilitator-160-dark.svg +12 -0
- package/brand-assets/svg/Archive/402cat-facilitator-160-light.svg +12 -0
- package/brand-assets/svg/Archive/402cat-facilitator-320-dark.svg +12 -0
- package/brand-assets/svg/Archive/402cat-facilitator-320-light.svg +12 -0
- package/brand-assets/svg/Archive/402cat-facilitator-80-dark.svg +12 -0
- package/brand-assets/svg/Archive/402cat-facilitator-80-light.svg +12 -0
- package/brand-assets/svg/Archive/402cat-favicon-16-dark.svg +10 -0
- package/brand-assets/svg/Archive/402cat-favicon-16-light.svg +10 -0
- package/brand-assets/svg/Archive/402cat-favicon-32-dark.svg +10 -0
- package/brand-assets/svg/Archive/402cat-favicon-32-light.svg +10 -0
- package/brand-assets/svg/Archive/402cat-og-1200x630-dark.svg +14 -0
- package/brand-assets/svg/Archive/402cat-og-1200x630-light.svg +14 -0
- package/brand-assets/svg/Archive/402cat-server-40-dark.svg +11 -0
- package/brand-assets/svg/Archive/402cat-server-40-light.svg +11 -0
- package/brand-assets/svg/Archive/402cat-server-80-dark.svg +11 -0
- package/brand-assets/svg/Archive/402cat-server-80-light.svg +11 -0
- package/brand-assets/svg/Archive/402cat-sleeping-160-dark.svg +13 -0
- package/brand-assets/svg/Archive/402cat-sleeping-160-light.svg +13 -0
- package/brand-assets/svg/Archive/402cat-twitter-pfp-dark.svg +12 -0
- package/brand-assets/svg/Archive/402cat-twitter-pfp-light.svg +12 -0
- package/brand-assets/svg/Archive/mark/neko1-kawaii-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko1-kawaii-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko1-right-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko1-right-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko10-pointy-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko10-pointy-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko2-clean-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko2-clean-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko2-left-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko2-left-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko3-both-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko3-both-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko3-money-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko3-money-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko4-beckon-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko4-beckon-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko4-coin-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko4-coin-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko5-compact-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko5-compact-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko5-mini-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko5-mini-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko6-coin-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko6-coin-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko6-money-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko6-money-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko7-lucky-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko7-lucky-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko7-simple-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko7-simple-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko8-classic-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko8-classic-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko8-mini-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko8-mini-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko9-box-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/neko9-box-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/v1-simplified-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/v1-simplified-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/v10-bracket-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/v10-bracket-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/v11b-pointy-wink-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/v12-face-80-dark.svg +7 -0
- package/brand-assets/svg/Archive/mark/v12-face-80-light.svg +7 -0
- package/brand-assets/svg/Archive/mark/v2-full-80-dark.svg +9 -0
- package/brand-assets/svg/Archive/mark/v2-full-80-light.svg +9 -0
- package/brand-assets/svg/Archive/mark/v3-compact-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/v3-compact-80-light.svg +8 -0
- package/brand-assets/svg/Archive/mark/v4-default-80-dark.svg +9 -0
- package/brand-assets/svg/Archive/mark/v4-default-80-light.svg +9 -0
- package/brand-assets/svg/Archive/mark/v6-ears-bold-80-dark.svg +7 -0
- package/brand-assets/svg/Archive/mark/v6-ears-bold-80-light.svg +7 -0
- package/brand-assets/svg/Archive/mark/v7-ears-wide-80-dark.svg +7 -0
- package/brand-assets/svg/Archive/mark/v7-ears-wide-80-light.svg +7 -0
- package/brand-assets/svg/Archive/mark/v9-box-80-dark.svg +8 -0
- package/brand-assets/svg/Archive/mark/v9-box-80-light.svg +8 -0
- package/brand-assets/svg/Archive.zip +0 -0
- package/brand-assets/svg/expressions/box-cat-160-dark.svg +8 -0
- package/brand-assets/svg/expressions/box-cat-160-light.svg +8 -0
- package/brand-assets/svg/expressions/bracket-160-dark.svg +8 -0
- package/brand-assets/svg/expressions/bracket-160-light.svg +8 -0
- package/brand-assets/svg/expressions/compact-160-dark.svg +8 -0
- package/brand-assets/svg/expressions/compact-160-light.svg +8 -0
- package/brand-assets/svg/expressions/default-160-dark.svg +9 -0
- package/brand-assets/svg/expressions/default-160-light.svg +9 -0
- package/brand-assets/svg/expressions/ears-bold-160-dark.svg +7 -0
- package/brand-assets/svg/expressions/ears-bold-160-light.svg +7 -0
- package/brand-assets/svg/expressions/ears-only-160-dark.svg +7 -0
- package/brand-assets/svg/expressions/ears-only-160-light.svg +7 -0
- package/brand-assets/svg/expressions/ears-wide-160-dark.svg +7 -0
- package/brand-assets/svg/expressions/ears-wide-160-light.svg +7 -0
- package/brand-assets/svg/expressions/excited-160-dark.svg +9 -0
- package/brand-assets/svg/expressions/excited-160-light.svg +9 -0
- package/brand-assets/svg/expressions/face-only-160-dark.svg +7 -0
- package/brand-assets/svg/expressions/face-only-160-light.svg +7 -0
- package/brand-assets/svg/expressions/minimal-160-dark.svg +8 -0
- package/brand-assets/svg/expressions/minimal-160-light.svg +8 -0
- package/brand-assets/svg/expressions/pointy-160-dark.svg +8 -0
- package/brand-assets/svg/expressions/pointy-160-light.svg +8 -0
- package/brand-assets/svg/expressions/simplified-160-dark.svg +8 -0
- package/brand-assets/svg/expressions/simplified-160-light.svg +8 -0
- package/brand-assets/svg/expressions/sleeping-160-dark.svg +10 -0
- package/brand-assets/svg/expressions/sleeping-160-light.svg +10 -0
- package/brand-assets/svg/expressions/winking-160-dark.svg +9 -0
- package/brand-assets/svg/expressions/winking-160-light.svg +9 -0
- package/brand-assets/svg/expressions-paths/compact-160-dark.svg +42 -0
- package/brand-assets/svg/expressions-paths/compact-160-light.svg +42 -0
- package/brand-assets/svg/expressions-paths/default-160-dark.svg +47 -0
- package/brand-assets/svg/expressions-paths/default-160-light.svg +47 -0
- package/brand-assets/svg/expressions-paths/minimal-160-dark.svg +42 -0
- package/brand-assets/svg/expressions-paths/minimal-160-light.svg +42 -0
- package/brand-assets/svg/expressions-paths/pointy-160-dark.svg +42 -0
- package/brand-assets/svg/expressions-paths/pointy-160-light.svg +42 -0
- package/brand-assets/svg/expressions-paths/simplified-160-dark.svg +42 -0
- package/brand-assets/svg/expressions-paths/simplified-160-light.svg +42 -0
- package/brand-assets/svg/expressions-paths/winking-160-dark.svg +47 -0
- package/brand-assets/svg/expressions-paths/winking-160-light.svg +47 -0
- package/brand-assets/svg/favicon/apple-touch-180-dark.svg +8 -0
- package/brand-assets/svg/favicon/apple-touch-180-light.svg +8 -0
- package/brand-assets/svg/favicon/favicon-16-dark.svg +8 -0
- package/brand-assets/svg/favicon/favicon-16-light.svg +8 -0
- package/brand-assets/svg/favicon/favicon-32-dark.svg +11 -0
- package/brand-assets/svg/favicon/favicon-32-light.svg +11 -0
- package/brand-assets/svg/favicon/favicon-48-dark.svg +8 -0
- package/brand-assets/svg/favicon/favicon-48-light.svg +8 -0
- package/brand-assets/svg/favicon/v11-pointy-path-16-dark.svg +18 -0
- package/brand-assets/svg/favicon/v11-pointy-path-32-dark.svg +19 -0
- package/brand-assets/svg/favicon/v4-ears-32-dark.svg +7 -0
- package/brand-assets/svg/favicon/v4-ears-32-light.svg +7 -0
- package/brand-assets/svg/favicon/v5-pointy-32-dark.svg +8 -0
- package/brand-assets/svg/favicon/v5-pointy-32-light.svg +8 -0
- package/brand-assets/svg/favicon/v6-minimal-32-dark.svg +8 -0
- package/brand-assets/svg/favicon/v6-minimal-32-light.svg +8 -0
- package/brand-assets/svg/favicon/v7-ears-only-32-dark.svg +5 -0
- package/brand-assets/svg/favicon/v7-ears-only-32-light.svg +5 -0
- package/brand-assets/svg/favicon-paths/v12-ears-only-16-dark.svg +4 -0
- package/brand-assets/svg/favicon-paths/v12-ears-only-16-light.svg +4 -0
- package/brand-assets/svg/favicon-paths/v12-ears-only-48-dark.svg +4 -0
- package/brand-assets/svg/favicon-paths/v12-ears-only-48-light.svg +4 -0
- package/brand-assets/svg/favicon-paths/v12-ears-only-96-dark.svg +4 -0
- package/brand-assets/svg/favicon-paths/v12-ears-only-96-light.svg +4 -0
- package/brand-assets/svg/favicon-paths/v6-minimal-32-dark.svg +42 -0
- package/brand-assets/svg/favicon-paths/v6-minimal-32-light.svg +42 -0
- package/brand-assets/svg/favicon-paths/v7-ears-only-32-dark.svg +34 -0
- package/brand-assets/svg/favicon-paths/v7-ears-only-32-light.svg +34 -0
- package/brand-assets/svg/mark/facilitator-160-dark.svg +11 -0
- package/brand-assets/svg/mark/facilitator-160-light.svg +11 -0
- package/brand-assets/svg/mark/facilitator-320-dark.svg +12 -0
- package/brand-assets/svg/mark/facilitator-320-light.svg +12 -0
- package/brand-assets/svg/mark/facilitator-40-dark.svg +11 -0
- package/brand-assets/svg/mark/facilitator-40-light.svg +11 -0
- package/brand-assets/svg/mark/facilitator-44-dark.svg +8 -0
- package/brand-assets/svg/mark/facilitator-44-light.svg +8 -0
- package/brand-assets/svg/mark/facilitator-72-dark.svg +8 -0
- package/brand-assets/svg/mark/facilitator-72-light.svg +8 -0
- package/brand-assets/svg/mark/facilitator-80-dark.svg +11 -0
- package/brand-assets/svg/mark/facilitator-80-light.svg +11 -0
- package/brand-assets/svg/mark/facilitator-ears-44-dark.svg +7 -0
- package/brand-assets/svg/mark/facilitator-ears-44-light.svg +7 -0
- package/brand-assets/svg/mark/facilitator-ears-72-dark.svg +7 -0
- package/brand-assets/svg/mark/facilitator-ears-72-light.svg +7 -0
- package/brand-assets/svg/mark/facilitator-pointy-44-dark.svg +8 -0
- package/brand-assets/svg/mark/facilitator-pointy-44-light.svg +8 -0
- package/brand-assets/svg/mark/facilitator-pointy-72-dark.svg +8 -0
- package/brand-assets/svg/mark/facilitator-pointy-72-light.svg +8 -0
- package/brand-assets/svg/mark/v11-pointy-80-dark.svg +8 -0
- package/brand-assets/svg/mark/v11-pointy-80-light.svg +8 -0
- package/brand-assets/svg/mark/v11-pointy-path-160-dark.svg +13 -0
- package/brand-assets/svg/mark/v11-pointy-path-180-dark.svg +13 -0
- package/brand-assets/svg/mark/v11-pointy-path-320-dark.svg +13 -0
- package/brand-assets/svg/mark/v11-pointy-path-40-dark.svg +13 -0
- package/brand-assets/svg/mark/v11-pointy-path-80-dark.svg +26 -0
- package/brand-assets/svg/mark/v11-pointy-path-80-light.svg +26 -0
- package/brand-assets/svg/mark/v11-pointy-path-transparent.svg +25 -0
- package/brand-assets/svg/mark/v12-ears-only-1000-dark.svg +7 -0
- package/brand-assets/svg/mark/v12-ears-only-80-dark.svg +7 -0
- package/brand-assets/svg/mark/v12-ears-only-80-light.svg +7 -0
- package/brand-assets/svg/mark/v5-ears-80-dark.svg +7 -0
- package/brand-assets/svg/mark/v5-ears-80-light.svg +7 -0
- package/brand-assets/svg/mark/v8-minimal-80-dark.svg +8 -0
- package/brand-assets/svg/mark/v8-minimal-80-light.svg +8 -0
- package/brand-assets/svg/mark-paths/facilitator-80-dark.svg +46 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-160-dark.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-160-light.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-180-dark.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-180-light.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-320-dark.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-320-light.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-40-dark.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-40-light.svg +4 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-80-dark.svg +37 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-80-light.svg +37 -0
- package/brand-assets/svg/mark-paths/v12-ears-only-transparent.svg +4 -0
- package/brand-assets/svg/server/icon-40-dark.svg +8 -0
- package/brand-assets/svg/server/icon-40-light.svg +8 -0
- package/brand-assets/svg/server/icon-80-dark.svg +8 -0
- package/brand-assets/svg/server/icon-80-light.svg +8 -0
- package/brand-assets/svg/social/banner-1200x400-dark.svg +14 -0
- package/brand-assets/svg/social/banner-1200x400-light.svg +14 -0
- package/brand-assets/svg/social/banner-cat-ticker-1500x500-dark.svg +7 -0
- package/brand-assets/svg/social/banner-cat-ticker-1500x500-light.svg +7 -0
- package/brand-assets/svg/social/banner-cat1-left-dark.svg +10 -0
- package/brand-assets/svg/social/banner-cat1-left-light.svg +10 -0
- package/brand-assets/svg/social/banner-cat2-right-dark.svg +10 -0
- package/brand-assets/svg/social/banner-cat2-right-light.svg +10 -0
- package/brand-assets/svg/social/banner-cat3-stacked-dark.svg +9 -0
- package/brand-assets/svg/social/banner-cat3-stacked-light.svg +9 -0
- package/brand-assets/svg/social/banner-cat4-wordmark-dark.svg +8 -0
- package/brand-assets/svg/social/banner-cat4-wordmark-light.svg +8 -0
- package/brand-assets/svg/social/banner-cc1-left-dark.svg +10 -0
- package/brand-assets/svg/social/banner-cc1-left-light.svg +10 -0
- package/brand-assets/svg/social/banner-cc2-right-dark.svg +10 -0
- package/brand-assets/svg/social/banner-cc2-right-light.svg +10 -0
- package/brand-assets/svg/social/banner-cc3-stacked-dark.svg +9 -0
- package/brand-assets/svg/social/banner-cc3-stacked-light.svg +9 -0
- package/brand-assets/svg/social/banner-cc4-centered-dark.svg +9 -0
- package/brand-assets/svg/social/banner-cc4-centered-light.svg +9 -0
- package/brand-assets/svg/social/banner-cc5-right-big-dark.svg +9 -0
- package/brand-assets/svg/social/banner-cc5-right-big-light.svg +9 -0
- package/brand-assets/svg/social/banner-cc6-ears-right-dark.svg +8 -0
- package/brand-assets/svg/social/banner-cc6-ears-right-light.svg +8 -0
- package/brand-assets/svg/social/banner-cc7-wordmark-dark.svg +8 -0
- package/brand-assets/svg/social/banner-cc7-wordmark-light.svg +8 -0
- package/brand-assets/svg/social/banner-cc8-minimal-dark.svg +9 -0
- package/brand-assets/svg/social/banner-cc8-minimal-light.svg +9 -0
- package/brand-assets/svg/social/banner-cc9-dramatic-dark.svg +9 -0
- package/brand-assets/svg/social/banner-cc9-dramatic-light.svg +9 -0
- package/brand-assets/svg/social/banner-ccat1-left-dark.svg +10 -0
- package/brand-assets/svg/social/banner-ccat1-left-light.svg +10 -0
- package/brand-assets/svg/social/banner-ccat2-right-dark.svg +10 -0
- package/brand-assets/svg/social/banner-ccat2-right-light.svg +10 -0
- package/brand-assets/svg/social/banner-ccat3-stacked-dark.svg +9 -0
- package/brand-assets/svg/social/banner-ccat3-stacked-light.svg +9 -0
- package/brand-assets/svg/social/banner-ccat4-wordmark-dark.svg +8 -0
- package/brand-assets/svg/social/banner-ccat4-wordmark-light.svg +8 -0
- package/brand-assets/svg/social/banner-sn1-snuggle-dark.svg +10 -0
- package/brand-assets/svg/social/banner-sn1-snuggle-light.svg +10 -0
- package/brand-assets/svg/social/banner-sn2-snuggle-big-dark.svg +9 -0
- package/brand-assets/svg/social/banner-sn2-snuggle-big-light.svg +9 -0
- package/brand-assets/svg/social/banner-sn3-snuggle-centered-dark.svg +10 -0
- package/brand-assets/svg/social/banner-sn3-snuggle-centered-light.svg +10 -0
- package/brand-assets/svg/social/banner-sn4-snuggle-simple-dark.svg +9 -0
- package/brand-assets/svg/social/banner-sn4-snuggle-simple-light.svg +9 -0
- package/brand-assets/svg/social/banner-sn5-snuggle-compact-dark.svg +9 -0
- package/brand-assets/svg/social/banner-sn5-snuggle-compact-light.svg +9 -0
- package/brand-assets/svg/social/banner-v1-left-dark.svg +10 -0
- package/brand-assets/svg/social/banner-v1-left-light.svg +10 -0
- package/brand-assets/svg/social/banner-v10-dramatic-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v10-dramatic-light.svg +9 -0
- package/brand-assets/svg/social/banner-v11-bold-right-dark.svg +8 -0
- package/brand-assets/svg/social/banner-v11-bold-right-light.svg +8 -0
- package/brand-assets/svg/social/banner-v12-pointy-right-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v12-pointy-right-light.svg +9 -0
- package/brand-assets/svg/social/banner-v13-ears-twitter-dark.svg +8 -0
- package/brand-assets/svg/social/banner-v13-ears-twitter-light.svg +8 -0
- package/brand-assets/svg/social/banner-v14-bold-twitter-dark.svg +8 -0
- package/brand-assets/svg/social/banner-v14-bold-twitter-light.svg +8 -0
- package/brand-assets/svg/social/banner-v15-pointy-twitter-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v15-pointy-twitter-light.svg +9 -0
- package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v16-pointy-wink-twitter-light.svg +9 -0
- package/brand-assets/svg/social/banner-v17-bold-twitter-big-dark.svg +8 -0
- package/brand-assets/svg/social/banner-v17-bold-twitter-big-light.svg +8 -0
- package/brand-assets/svg/social/banner-v2-right-dark.svg +10 -0
- package/brand-assets/svg/social/banner-v2-right-light.svg +10 -0
- package/brand-assets/svg/social/banner-v3-stacked-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v3-stacked-light.svg +9 -0
- package/brand-assets/svg/social/banner-v4-minimal-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v4-minimal-light.svg +9 -0
- package/brand-assets/svg/social/banner-v5-right-far-dark.svg +10 -0
- package/brand-assets/svg/social/banner-v5-right-far-light.svg +10 -0
- package/brand-assets/svg/social/banner-v6-right-big-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v6-right-big-light.svg +9 -0
- package/brand-assets/svg/social/banner-v7-centered-dark.svg +9 -0
- package/brand-assets/svg/social/banner-v7-centered-light.svg +9 -0
- package/brand-assets/svg/social/banner-v8-wordmark-dark.svg +8 -0
- package/brand-assets/svg/social/banner-v8-wordmark-light.svg +8 -0
- package/brand-assets/svg/social/banner-v9-ears-right-dark.svg +8 -0
- package/brand-assets/svg/social/banner-v9-ears-right-light.svg +8 -0
- package/brand-assets/svg/social/og-1200x630-dark.svg +16 -0
- package/brand-assets/svg/social/og-1200x630-light.svg +16 -0
- package/brand-assets/svg/social/og-1200x630-v2-dark.svg +73 -0
- package/brand-assets/svg/social/og-box-centered-dark.svg +10 -0
- package/brand-assets/svg/social/og-box-centered-light.svg +10 -0
- package/brand-assets/svg/social/og-cat1-centered-dark.svg +10 -0
- package/brand-assets/svg/social/og-cat1-centered-light.svg +10 -0
- package/brand-assets/svg/social/og-cat2-hero-dark.svg +11 -0
- package/brand-assets/svg/social/og-cat2-hero-light.svg +11 -0
- package/brand-assets/svg/social/og-cat3-minimal-dark.svg +10 -0
- package/brand-assets/svg/social/og-cat3-minimal-light.svg +10 -0
- package/brand-assets/svg/social/og-cc1-centered-dark.svg +11 -0
- package/brand-assets/svg/social/og-cc1-centered-light.svg +11 -0
- package/brand-assets/svg/social/og-cc2-hero-dark.svg +10 -0
- package/brand-assets/svg/social/og-cc2-hero-light.svg +10 -0
- package/brand-assets/svg/social/og-cc3-minimal-dark.svg +10 -0
- package/brand-assets/svg/social/og-cc3-minimal-light.svg +10 -0
- package/brand-assets/svg/social/og-cc4-split-dark.svg +11 -0
- package/brand-assets/svg/social/og-cc4-split-light.svg +11 -0
- package/brand-assets/svg/social/og-feral-a.svg +68 -0
- package/brand-assets/svg/social/og-feral-b.svg +80 -0
- package/brand-assets/svg/social/og-feral-c.svg +73 -0
- package/brand-assets/svg/social/og-feral-d.svg +63 -0
- package/brand-assets/svg/social/og-minimal-centered-dark.svg +10 -0
- package/brand-assets/svg/social/og-minimal-centered-light.svg +10 -0
- package/brand-assets/svg/social/og-neko1-kawaii-dark.svg +10 -0
- package/brand-assets/svg/social/og-neko1-kawaii-light.svg +10 -0
- package/brand-assets/svg/social/og-neko2-money-dark.svg +10 -0
- package/brand-assets/svg/social/og-neko2-money-light.svg +10 -0
- package/brand-assets/svg/social/og-neko3-lucky-dark.svg +10 -0
- package/brand-assets/svg/social/og-neko3-lucky-light.svg +10 -0
- package/brand-assets/svg/social/og-neko4-clean-dark.svg +10 -0
- package/brand-assets/svg/social/og-neko4-clean-light.svg +10 -0
- package/brand-assets/svg/social/og-pointy-hero-dark.svg +10 -0
- package/brand-assets/svg/social/og-pointy-hero-light.svg +10 -0
- package/brand-assets/svg/social/og-v1-centered-dark.svg +11 -0
- package/brand-assets/svg/social/og-v1-centered-light.svg +11 -0
- package/brand-assets/svg/social/og-v11-pointy-1200x630-dark.svg +38 -0
- package/brand-assets/svg/social/og-v11-pointy-1200x630-light.svg +38 -0
- package/brand-assets/svg/social/og-v12-ears-1200x630-dark.svg +5 -0
- package/brand-assets/svg/social/og-v12-ears-1200x630-light.svg +5 -0
- package/brand-assets/svg/social/og-v12-ticker-1200x630-dark.svg +6 -0
- package/brand-assets/svg/social/og-v12-ticker-1200x630-light.svg +6 -0
- package/brand-assets/svg/social/og-v2-split-dark.svg +11 -0
- package/brand-assets/svg/social/og-v2-split-light.svg +11 -0
- package/brand-assets/svg/social/og-v2-variation-a.svg +74 -0
- package/brand-assets/svg/social/og-v2-variation-b.svg +63 -0
- package/brand-assets/svg/social/og-v2-variation-c.svg +71 -0
- package/brand-assets/svg/social/og-v3-hero-dark.svg +11 -0
- package/brand-assets/svg/social/og-v3-hero-light.svg +11 -0
- package/brand-assets/svg/social/og-v4-minimal-dark.svg +10 -0
- package/brand-assets/svg/social/og-v4-minimal-light.svg +10 -0
- package/brand-assets/svg/social/pfp-ears-400-dark.svg +5 -0
- package/brand-assets/svg/social/pfp-ears-400-light.svg +5 -0
- package/brand-assets/svg/social/pfp-v5-pointy-dark.svg +8 -0
- package/brand-assets/svg/social/pfp-v5-pointy-light.svg +8 -0
- package/brand-assets/svg/social/twitter-banner-v11-1500x500-dark.svg +35 -0
- package/brand-assets/svg/social/twitter-pfp-400-dark.svg +12 -0
- package/brand-assets/svg/social/twitter-pfp-400-light.svg +12 -0
- package/brand-assets/svg/social/twitter-pfp-v11-400-dark.svg +20 -0
- package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-dark.svg +44 -0
- package/brand-assets/svg/social-paths/banner-cat-ticker-1500x500-light.svg +44 -0
- package/brand-assets/svg/social-paths/og-v12-ears-1200x630-dark.svg +34 -0
- package/brand-assets/svg/social-paths/og-v12-ears-1200x630-light.svg +34 -0
- package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-dark.svg +39 -0
- package/brand-assets/svg/social-paths/og-v12-ticker-1200x630-light.svg +39 -0
- package/brand-assets/svg/social-paths/pfp-ears-400-dark.svg +35 -0
- package/brand-assets/svg/social-paths/pfp-ears-400-light.svg +35 -0
- package/brand-assets/svg/social-paths/twitter-pfp-400-dark.svg +51 -0
- package/brand-assets/svg/social-paths/twitter-pfp-400-light.svg +51 -0
- package/brand-assets/svg/web/apple-touch-icon-180.svg +4 -0
- package/brand-assets/svg/web/favicon-32-dark.svg +4 -0
- package/brand-assets/svg/web/favicon-32-light.svg +4 -0
- package/brand-assets/svg/web/mark-80-alert.svg +4 -0
- package/brand-assets/svg/web/mark-80-dark.svg +4 -0
- package/brand-assets/svg/web/mark-80-light.svg +4 -0
- package/brand-assets/svg/web/mark-80-success.svg +4 -0
- package/brand-assets/svg/web/mark-80-wink.svg +4 -0
- package/brand-assets/svg/web/og-image-1200x630.svg +13 -0
- package/bun.lock +260 -25
- package/dist/agent/autonomous-trader.d.ts.map +1 -0
- package/dist/agent/autonomous-trader.js +362 -0
- package/dist/agent/autonomous-trader.js.map +1 -0
- package/dist/agent/ax-agent.d.ts.map +1 -1
- package/dist/agent/ax-agent.js +356 -18
- package/dist/agent/ax-agent.js.map +1 -1
- package/dist/agent/event-client.d.ts.map +1 -0
- package/dist/agent/event-client.js +82 -0
- package/dist/agent/event-client.js.map +1 -0
- package/dist/agent/log-stream.d.ts.map +1 -0
- package/dist/agent/log-stream.js +95 -0
- package/dist/agent/log-stream.js.map +1 -0
- package/dist/agent/memory/conversation-session.d.ts.map +1 -0
- package/dist/agent/memory/conversation-session.js +232 -0
- package/dist/agent/memory/conversation-session.js.map +1 -0
- package/dist/agent/memory/conversation-store.d.ts.map +1 -0
- package/dist/agent/memory/conversation-store.js +214 -0
- package/dist/agent/memory/conversation-store.js.map +1 -0
- package/dist/agent/memory/database-schema.d.ts.map +1 -0
- package/dist/agent/memory/database-schema.js +355 -0
- package/dist/agent/memory/database-schema.js.map +1 -0
- package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
- package/dist/agent/memory/decision-tracker.js +274 -0
- package/dist/agent/memory/decision-tracker.js.map +1 -0
- package/dist/agent/memory/memory-manager.d.ts.map +1 -0
- package/dist/agent/memory/memory-manager.js +187 -0
- package/dist/agent/memory/memory-manager.js.map +1 -0
- package/dist/agent/memory/types.d.ts.map +1 -0
- package/dist/agent/memory/types.js +5 -0
- package/dist/agent/memory/types.js.map +1 -0
- package/dist/agent/message-formatter.d.ts.map +1 -0
- package/dist/agent/message-formatter.js +76 -0
- package/dist/agent/message-formatter.js.map +1 -0
- package/dist/agent/position-db.d.ts.map +1 -0
- package/dist/agent/position-db.js +154 -0
- package/dist/agent/position-db.js.map +1 -0
- package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
- package/dist/agent/simple-chat-ui-static.js +129 -0
- package/dist/agent/simple-chat-ui-static.js.map +1 -0
- package/dist/agent/simple-chat-ui.d.ts.map +1 -0
- package/dist/agent/simple-chat-ui.js +90 -0
- package/dist/agent/simple-chat-ui.js.map +1 -0
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +297 -4
- package/dist/agent/tools.js.map +1 -1
- package/dist/agent/ui.d.ts.map +1 -0
- package/dist/agent/ui.js +84 -0
- package/dist/agent/ui.js.map +1 -0
- package/dist/agent/unified-runtime.d.ts.map +1 -0
- package/dist/agent/unified-runtime.js +397 -0
- package/dist/agent/unified-runtime.js.map +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +274 -21
- package/dist/client.js.map +1 -1
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +187 -33
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +125 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/approve.d.ts.map +1 -0
- package/dist/commands/approve.js +505 -0
- package/dist/commands/approve.js.map +1 -0
- package/dist/commands/automation.d.ts.map +1 -0
- package/dist/commands/automation.js +346 -0
- package/dist/commands/automation.js.map +1 -0
- package/dist/commands/balances.d.ts.map +1 -1
- package/dist/commands/balances.js +226 -73
- package/dist/commands/balances.js.map +1 -1
- package/dist/commands/buy.d.ts.map +1 -1
- package/dist/commands/buy.js +149 -146
- package/dist/commands/buy.js.map +1 -1
- package/dist/commands/call.d.ts.map +1 -0
- package/dist/commands/call.js +51 -0
- package/dist/commands/call.js.map +1 -0
- package/dist/commands/cex.d.ts.map +1 -0
- package/dist/commands/cex.js +958 -0
- package/dist/commands/cex.js.map +1 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +169 -411
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/claim.d.ts.map +1 -1
- package/dist/commands/claim.js +313 -29
- package/dist/commands/claim.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +151 -43
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/gasless-swap.d.ts.map +1 -0
- package/dist/commands/gasless-swap.js +232 -0
- package/dist/commands/gasless-swap.js.map +1 -0
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +63 -7
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +131 -47
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/launchpad.d.ts.map +1 -0
- package/dist/commands/launchpad.js +708 -0
- package/dist/commands/launchpad.js.map +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +57 -23
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/market.d.ts.map +1 -0
- package/dist/commands/market.js +960 -0
- package/dist/commands/market.js.map +1 -0
- package/dist/commands/mcp-install.d.ts.map +1 -0
- package/dist/commands/mcp-install.js +387 -0
- package/dist/commands/mcp-install.js.map +1 -0
- package/dist/commands/opps.d.ts.map +1 -0
- package/dist/commands/opps.js +409 -0
- package/dist/commands/opps.js.map +1 -0
- package/dist/commands/perps.d.ts.map +1 -0
- package/dist/commands/perps.js +248 -0
- package/dist/commands/perps.js.map +1 -0
- package/dist/commands/portfolio.d.ts.map +1 -0
- package/dist/commands/portfolio.js +679 -0
- package/dist/commands/portfolio.js.map +1 -0
- package/dist/commands/positions.d.ts.map +1 -1
- package/dist/commands/positions.js +76 -47
- package/dist/commands/positions.js.map +1 -1
- package/dist/commands/predict.d.ts.map +1 -0
- package/dist/commands/predict.js +280 -0
- package/dist/commands/predict.js.map +1 -0
- package/dist/commands/predictions.d.ts.map +1 -0
- package/dist/commands/predictions.js +486 -0
- package/dist/commands/predictions.js.map +1 -0
- package/dist/commands/risk.d.ts.map +1 -0
- package/dist/commands/risk.js +225 -0
- package/dist/commands/risk.js.map +1 -0
- package/dist/commands/security.d.ts.map +1 -0
- package/dist/commands/security.js +244 -0
- package/dist/commands/security.js.map +1 -0
- package/dist/commands/sell.d.ts.map +1 -1
- package/dist/commands/sell.js +67 -34
- package/dist/commands/sell.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -0
- package/dist/commands/send.js +733 -0
- package/dist/commands/send.js.map +1 -0
- package/dist/commands/sign.d.ts.map +1 -0
- package/dist/commands/sign.js +1048 -0
- package/dist/commands/sign.js.map +1 -0
- package/dist/commands/swap.d.ts.map +1 -0
- package/dist/commands/swap.js +744 -0
- package/dist/commands/swap.js.map +1 -0
- package/dist/commands/system.d.ts.map +1 -0
- package/dist/commands/system.js +417 -0
- package/dist/commands/system.js.map +1 -0
- package/dist/commands/tools/index.d.ts.map +1 -0
- package/dist/commands/tools/index.js +2040 -0
- package/dist/commands/tools/index.js.map +1 -0
- package/dist/commands/trade.d.ts.map +1 -0
- package/dist/commands/trade.js +237 -0
- package/dist/commands/trade.js.map +1 -0
- package/dist/commands/transactions.d.ts.map +1 -1
- package/dist/commands/transactions.js +29 -17
- package/dist/commands/transactions.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +429 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +351 -40
- package/dist/config.js.map +1 -1
- package/dist/index.js +4525 -924
- package/dist/index.js.map +1 -1
- package/dist/interactive/art.d.ts.map +1 -1
- package/dist/interactive/art.js +33 -1
- package/dist/interactive/art.js.map +1 -1
- package/dist/interactive/shell.d.ts.map +1 -1
- package/dist/interactive/shell.js +467 -2652
- package/dist/interactive/shell.js.map +1 -1
- package/dist/mcp/context.d.ts.map +1 -0
- package/dist/mcp/context.js +211 -0
- package/dist/mcp/context.js.map +1 -0
- package/dist/mcp/onboarding.d.ts.map +1 -0
- package/dist/mcp/onboarding.js +266 -0
- package/dist/mcp/onboarding.js.map +1 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +222 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +51 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +4119 -169
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/types/agent-info.d.ts.map +1 -0
- package/dist/types/agent-info.js +11 -0
- package/dist/types/agent-info.js.map +1 -0
- package/dist/ui/components/ScrollableList.d.ts.map +1 -0
- package/dist/ui/components/ScrollableList.js +72 -0
- package/dist/ui/components/ScrollableList.js.map +1 -0
- package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
- package/dist/ui/components/ThemeProvider.js +87 -0
- package/dist/ui/components/ThemeProvider.js.map +1 -0
- package/dist/ui/components/ThemedBox.d.ts.map +1 -0
- package/dist/ui/components/ThemedBox.js +24 -0
- package/dist/ui/components/ThemedBox.js.map +1 -0
- package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
- package/dist/ui/components/agent/ChatHeader.js +39 -0
- package/dist/ui/components/agent/ChatHeader.js.map +1 -0
- package/dist/ui/components/agent/Header.d.ts.map +1 -0
- package/dist/ui/components/agent/Header.js +14 -0
- package/dist/ui/components/agent/Header.js.map +1 -0
- package/dist/ui/components/agent/Input.d.ts.map +1 -0
- package/dist/ui/components/agent/Input.js +23 -0
- package/dist/ui/components/agent/Input.js.map +1 -0
- package/dist/ui/components/agent/Output.d.ts.map +1 -0
- package/dist/ui/components/agent/Output.js +23 -0
- package/dist/ui/components/agent/Output.js.map +1 -0
- package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
- package/dist/ui/components/chat/TokenChatUI.js +133 -0
- package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
- package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellHeader.js +31 -0
- package/dist/ui/components/shell/ShellHeader.js.map +1 -0
- package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellInput.js +151 -0
- package/dist/ui/components/shell/ShellInput.js.map +1 -0
- package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
- package/dist/ui/components/shell/ShellOutput.js +8 -0
- package/dist/ui/components/shell/ShellOutput.js.map +1 -0
- package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
- package/dist/ui/hooks/useChatWebSocket.js +76 -0
- package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
- package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
- package/dist/ui/hooks/useCommandHistory.js +70 -0
- package/dist/ui/hooks/useCommandHistory.js.map +1 -0
- package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
- package/dist/ui/hooks/useDebounce.js +17 -0
- package/dist/ui/hooks/useDebounce.js.map +1 -0
- package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
- package/dist/ui/hooks/useLogStream.js +20 -0
- package/dist/ui/hooks/useLogStream.js.map +1 -0
- package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
- package/dist/ui/hooks/useVirtualScroll.js +70 -0
- package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
- package/dist/utils/admin.d.ts.map +1 -0
- package/dist/utils/admin.js +144 -0
- package/dist/utils/admin.js.map +1 -0
- package/dist/utils/autoSetup.d.ts.map +1 -0
- package/dist/utils/autoSetup.js +252 -0
- package/dist/utils/autoSetup.js.map +1 -0
- package/dist/utils/build-constants.d.ts.map +1 -0
- package/dist/utils/build-constants.js +10 -0
- package/dist/utils/build-constants.js.map +1 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +10 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +46 -9
- package/dist/utils/formatting.js.map +1 -1
- package/dist/utils/llm-cli-config.d.ts.map +1 -0
- package/dist/utils/llm-cli-config.js +963 -0
- package/dist/utils/llm-cli-config.js.map +1 -0
- package/dist/utils/llm-cli-detector.d.ts.map +1 -0
- package/dist/utils/llm-cli-detector.js +202 -0
- package/dist/utils/llm-cli-detector.js.map +1 -0
- package/dist/utils/loading.d.ts.map +1 -1
- package/dist/utils/loading.js +25 -3
- package/dist/utils/loading.js.map +1 -1
- package/dist/utils/maintenance.d.ts.map +1 -0
- package/dist/utils/maintenance.js +17 -0
- package/dist/utils/maintenance.js.map +1 -0
- package/dist/utils/mcp-config.d.ts.map +1 -0
- package/dist/utils/mcp-config.js +77 -0
- package/dist/utils/mcp-config.js.map +1 -0
- package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
- package/dist/utils/privateKeyPrompt.js +308 -129
- package/dist/utils/privateKeyPrompt.js.map +1 -1
- package/dist/utils/process-cleanup.d.ts.map +1 -0
- package/dist/utils/process-cleanup.js +136 -0
- package/dist/utils/process-cleanup.js.map +1 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +56 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/rpc-helpers.d.ts.map +1 -0
- package/dist/utils/rpc-helpers.js +70 -0
- package/dist/utils/rpc-helpers.js.map +1 -0
- package/dist/utils/rpc-transport.d.ts.map +1 -0
- package/dist/utils/rpc-transport.js +87 -0
- package/dist/utils/rpc-transport.js.map +1 -0
- package/dist/utils/shell-setup.d.ts.map +1 -0
- package/dist/utils/shell-setup.js +531 -0
- package/dist/utils/shell-setup.js.map +1 -0
- package/dist/utils/status.d.ts.map +1 -1
- package/dist/utils/status.js +34 -5
- package/dist/utils/status.js.map +1 -1
- package/dist/utils/token-resolver.d.ts.map +1 -1
- package/dist/utils/token-resolver.js +51 -8
- package/dist/utils/token-resolver.js.map +1 -1
- package/dist/utils/x402-caller.d.ts.map +1 -0
- package/dist/utils/x402-caller.js +17 -0
- package/dist/utils/x402-caller.js.map +1 -0
- package/docs/README.md +28 -0
- package/docs/agent/README.md +18 -0
- package/docs/api/README.md +41 -0
- package/docs/cli/README.md +42 -0
- package/docs/guides/README.md +26 -0
- package/docs/implementation/README.md +18 -0
- package/docs/planning/README.md +19 -0
- package/docs/testing/README.md +15 -0
- package/docs/ux/README.md +16 -0
- package/issues.txt +2 -0
- package/package.json +24 -9
- package/scripts/cat-spin.sh +417 -0
- package/scripts/deprecate-rc-versions.js +58 -0
- package/scripts/inject-build-constants.js +43 -0
- package/scripts/monitor-foobar.js +117 -0
- package/swap.logs +61 -0
- package/swapping.txt +108 -0
- package/test.txt +12 -0
- package/tests/fixtures/test-data.json +16 -0
- 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
|
-
|
|
3
|
+

|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> **The CLI that enables agents to use x402 protocol. No middleware. No wallets. Just HTTP-native micropayments.**
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**Give your agent claws.**
|
|
8
8
|
|
|
9
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
17
|
+
httpcat wraps this in a CLI that agents can use directly. It handles payment signatures automatically.
|
|
1053
18
|
|
|
1054
|
-
|
|
19
|
+
---
|
|
1055
20
|
|
|
1056
|
-
|
|
1057
|
-
$ httpcat -q buy abc123-... 0.20
|
|
1058
|
-
$ echo $?
|
|
1059
|
-
0
|
|
1060
|
-
```
|
|
1061
|
-
|
|
1062
|
-
**Exit Codes:**
|
|
21
|
+
## How It Works
|
|
1063
22
|
|
|
1064
|
-
|
|
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
|
-
|
|
25
|
+
httpcat uses the x402 protocol to handle payments automatically:
|
|
1072
26
|
|
|
1073
|
-
|
|
1074
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1081
|
-
httpcat -j buy $TOKEN_ADDRESS 5
|
|
34
|
+
### Entrypoints
|
|
1082
35
|
|
|
1083
|
-
|
|
1084
|
-
httpcat -j info $TOKEN_ADDRESS
|
|
36
|
+
Entrypoints are services wrapped in x402 protocol. They're composable and automatically handle payments.
|
|
1085
37
|
|
|
1086
|
-
|
|
1087
|
-
INFO=$(httpcat -j info $TOKEN_ADDRESS)
|
|
1088
|
-
PNL=$(echo $INFO | jq -r '.data.userPosition.pnl')
|
|
38
|
+
**Built-in entrypoints:**
|
|
1089
39
|
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
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
|
-
|
|
44
|
+
---
|
|
1096
45
|
|
|
1097
|
-
|
|
46
|
+
## Installation
|
|
1098
47
|
|
|
1099
48
|
```bash
|
|
1100
|
-
|
|
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
|
-
|
|
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
|
|
55
|
+
npx httpcat-cli
|
|
1120
56
|
```
|
|
1121
57
|
|
|
1122
|
-
|
|
58
|
+
Homebrew:
|
|
1123
59
|
|
|
1124
60
|
```bash
|
|
1125
|
-
|
|
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
|
-
|
|
65
|
+
---
|
|
1412
66
|
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
**Success:**
|
|
67
|
+
## Quick Start
|
|
1416
68
|
|
|
1417
|
-
|
|
1418
|
-
{
|
|
1419
|
-
"success": true,
|
|
1420
|
-
"operation": "tool_name",
|
|
1421
|
-
"data": {
|
|
1422
|
-
// Tool-specific data
|
|
1423
|
-
}
|
|
1424
|
-
}
|
|
1425
|
-
```
|
|
69
|
+
### Setup
|
|
1426
70
|
|
|
1427
|
-
|
|
71
|
+
Run `httpcat` to create your wallet:
|
|
1428
72
|
|
|
1429
|
-
```
|
|
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
|
-
|
|
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
|
-
|
|
79
|
+
### Use Entrypoints
|
|
1450
80
|
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
httpcat
|
|
81
|
+
```bash
|
|
82
|
+
# Swap tokens via DEX aggregator
|
|
83
|
+
httpcat swap USDC WETH 1.0
|
|
1454
84
|
|
|
1455
|
-
|
|
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
|
-
|
|
1458
|
-
httpcat
|
|
91
|
+
# Call any x402 endpoint
|
|
92
|
+
httpcat call https://api.example.com/endpoint --method POST --body '{"data": "value"}'
|
|
1459
93
|
```
|
|
1460
94
|
|
|
1461
|
-
|
|
95
|
+
### MCP Integration
|
|
1462
96
|
|
|
1463
|
-
|
|
97
|
+
Give your agent claws:
|
|
1464
98
|
|
|
1465
99
|
```bash
|
|
1466
|
-
|
|
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
|
-
|
|
103
|
+
Your agent can now use all CLI commands as MCP tools. One integration, access to everything.
|
|
1474
104
|
|
|
1475
|
-
|
|
1476
|
-
httpcat env show
|
|
1477
|
-
```
|
|
105
|
+
---
|
|
1478
106
|
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
```bash
|
|
1482
|
-
# Add a custom environment
|
|
1483
|
-
httpcat env add production http://production-agent:8787 -n base
|
|
107
|
+
## Commands
|
|
1484
108
|
|
|
1485
|
-
|
|
1486
|
-
httpcat env use production
|
|
1487
|
-
```
|
|
109
|
+
### Launchpad
|
|
1488
110
|
|
|
1489
|
-
|
|
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
|
-
|
|
1492
|
-
# Update existing environment URL
|
|
1493
|
-
httpcat env update local http://localhost:8788
|
|
117
|
+
**Shortcuts:** `list`, `info`, `buy`, `sell`, `positions`
|
|
1494
118
|
|
|
1495
|
-
|
|
1496
|
-
httpcat env update production http://prod-agent:8787 -n base
|
|
1497
|
-
```
|
|
119
|
+
### Entrypoints
|
|
1498
120
|
|
|
1499
|
-
|
|
121
|
+
- `swap <tokenIn> <tokenOut> <amount>` — Execute swaps via DEX aggregator
|
|
122
|
+
- `call <url> [options]` — Call any x402-protected endpoint
|
|
1500
123
|
|
|
1501
|
-
|
|
124
|
+
### Tools
|
|
1502
125
|
|
|
1503
|
-
-
|
|
1504
|
-
- **sepolia** - `https://agent.402.cat` (eip155:84532)
|
|
126
|
+
- `rpc` — JSON-RPC proxy for blockchain calls ($0.05)
|
|
1505
127
|
|
|
1506
|
-
|
|
128
|
+
### Infrastructure
|
|
1507
129
|
|
|
1508
|
-
|
|
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
|
-
|
|
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
|
-
|
|
138
|
+
---
|
|
1516
139
|
|
|
1517
|
-
|
|
140
|
+
## x402 Protocol
|
|
1518
141
|
|
|
1519
|
-
|
|
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
|
-
|
|
1524
|
-
export HTTPCAT_AGENT_URL=http://custom-agent:8787
|
|
144
|
+
**How it works:**
|
|
1525
145
|
|
|
1526
|
-
|
|
1527
|
-
|
|
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
|
-
|
|
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
|
-
|
|
154
|
+
httpcat handles all of this automatically. You just make requests.
|
|
1533
155
|
|
|
1534
|
-
|
|
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
|
-
|
|
158
|
+
## MCP Server
|
|
1541
159
|
|
|
1542
|
-
|
|
160
|
+
The MCP server exposes all CLI commands as tools for AI assistants:
|
|
1543
161
|
|
|
1544
162
|
```bash
|
|
1545
|
-
|
|
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
|
-
|
|
166
|
+
Or start manually:
|
|
1554
167
|
|
|
1555
168
|
```bash
|
|
1556
|
-
|
|
1557
|
-
httpcat config --set preferences.enableAsciiArt=false
|
|
1558
|
-
|
|
1559
|
-
# Per session
|
|
1560
|
-
httpcat --no-art
|
|
169
|
+
httpcat mcp start
|
|
1561
170
|
```
|
|
1562
171
|
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
Config is stored at `~/.config/httpcat/config.json`:
|
|
172
|
+
**Configuration:**
|
|
1566
173
|
|
|
1567
174
|
```json
|
|
1568
175
|
{
|
|
1569
|
-
"
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
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
|
-
**
|
|
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
|
-
|
|
1734
|
-
httpcat buy 0x1234... 5
|
|
187
|
+
Your agent can now:
|
|
1735
188
|
|
|
1736
|
-
|
|
1737
|
-
|
|
189
|
+
- Use entrypoints (swap, launchpad, rpc)
|
|
190
|
+
- Call any x402 endpoint
|
|
191
|
+
- Discover and compose services
|
|
192
|
+
- Build capabilities
|
|
1738
193
|
|
|
1739
|
-
|
|
1740
|
-
httpcat positions
|
|
194
|
+
---
|
|
1741
195
|
|
|
1742
|
-
|
|
1743
|
-
httpcat sell 0x1234... 50%
|
|
196
|
+
## Global Options
|
|
1744
197
|
|
|
1745
|
-
|
|
1746
|
-
|
|
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
|
-
|
|
205
|
+
---
|
|
1750
206
|
|
|
1751
|
-
|
|
1752
|
-
#!/bin/bash
|
|
207
|
+
## Documentation
|
|
1753
208
|
|
|
1754
|
-
|
|
209
|
+
For detailed documentation, entrypoint reference, and deployment guides:
|
|
1755
210
|
|
|
1756
|
-
|
|
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
|
-
|
|
1762
|
-
if (( $(echo "$PROGRESS > 90" | bc -l) )); then
|
|
1763
|
-
httpcat -q buy $TOKEN_ADDRESS 5
|
|
1764
|
-
fi
|
|
213
|
+
---
|
|
1765
214
|
|
|
1766
|
-
|
|
1767
|
-
done
|
|
1768
|
-
```
|
|
215
|
+
## The Foundation
|
|
1769
216
|
|
|
1770
|
-
|
|
217
|
+
httpcat is built on three primitives:
|
|
1771
218
|
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1783
|
-
yarn link
|
|
227
|
+
The constraint is what makes it work.
|
|
1784
228
|
|
|
1785
|
-
|
|
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
|
-
-
|
|
1796
|
-
-
|
|
1797
|
-
-
|
|
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
|