httpcat-cli 0.3.0 → 0.3.1-rc.10
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 +39 -2
- package/README.md +180 -1688
- 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 +342 -36
- 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 +4532 -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 +135 -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 +44 -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,281 @@
|
|
|
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
|
-
```
|
|
1042
|
-
|
|
1043
|
-
**Version (`--version --json`)**
|
|
11
|
+
## What is httpcat?
|
|
1044
12
|
|
|
1045
|
-
|
|
1046
|
-
{
|
|
1047
|
-
"name": "httpcat-cli",
|
|
1048
|
-
"version": "0.0.8"
|
|
1049
|
-
}
|
|
1050
|
-
```
|
|
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.
|
|
1051
14
|
|
|
1052
|
-
|
|
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.
|
|
1053
16
|
|
|
1054
|
-
|
|
17
|
+
httpcat wraps this in a CLI that agents can use directly. It handles payment signatures automatically.
|
|
1055
18
|
|
|
1056
|
-
|
|
1057
|
-
$ httpcat -q buy abc123-... 0.20
|
|
1058
|
-
$ echo $?
|
|
1059
|
-
0
|
|
1060
|
-
```
|
|
19
|
+
---
|
|
1061
20
|
|
|
1062
|
-
|
|
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()
|
|
1409
|
-
```
|
|
1410
|
-
|
|
1411
|
-
### Response Format
|
|
1412
|
-
|
|
1413
|
-
All MCP tools return structured JSON responses matching the CLI's JSON output format:
|
|
1414
|
-
|
|
1415
|
-
**Success:**
|
|
1416
|
-
|
|
1417
|
-
```json
|
|
1418
|
-
{
|
|
1419
|
-
"success": true,
|
|
1420
|
-
"operation": "tool_name",
|
|
1421
|
-
"data": {
|
|
1422
|
-
// Tool-specific data
|
|
1423
|
-
}
|
|
1424
|
-
}
|
|
1425
|
-
```
|
|
1426
|
-
|
|
1427
|
-
**Error:**
|
|
1428
|
-
|
|
1429
|
-
```json
|
|
1430
|
-
{
|
|
1431
|
-
"success": false,
|
|
1432
|
-
"operation": "tool_name",
|
|
1433
|
-
"error": {
|
|
1434
|
-
"message": "Error message",
|
|
1435
|
-
"code": 1,
|
|
1436
|
-
"details": {}
|
|
1437
|
-
}
|
|
1438
|
-
}
|
|
61
|
+
brew tap hathbanger/httpcat
|
|
62
|
+
brew install httpcat
|
|
1439
63
|
```
|
|
1440
64
|
|
|
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
|
|
65
|
+
---
|
|
1448
66
|
|
|
1449
|
-
##
|
|
1450
|
-
|
|
1451
|
-
### Environment Management
|
|
67
|
+
## Quick Start
|
|
1452
68
|
|
|
1453
|
-
|
|
69
|
+
### Setup
|
|
1454
70
|
|
|
1455
|
-
|
|
71
|
+
Run `httpcat` to create your wallet:
|
|
1456
72
|
|
|
1457
73
|
```bash
|
|
1458
|
-
httpcat
|
|
74
|
+
httpcat
|
|
1459
75
|
```
|
|
1460
76
|
|
|
1461
|
-
|
|
77
|
+
Your seed phrase is generated locally and never transmitted to any server.
|
|
1462
78
|
|
|
1463
|
-
|
|
79
|
+
### Use Entrypoints
|
|
1464
80
|
|
|
1465
81
|
```bash
|
|
1466
|
-
#
|
|
1467
|
-
httpcat
|
|
82
|
+
# Swap tokens via DEX aggregator
|
|
83
|
+
httpcat swap USDC WETH 1.0
|
|
1468
84
|
|
|
1469
|
-
#
|
|
1470
|
-
httpcat
|
|
85
|
+
# Launchpad operations
|
|
86
|
+
httpcat list
|
|
87
|
+
httpcat create "My Token" "MTK"
|
|
88
|
+
httpcat buy MTK 0.10
|
|
89
|
+
httpcat positions
|
|
1471
90
|
```
|
|
1472
91
|
|
|
1473
|
-
|
|
92
|
+
### MCP Integration
|
|
1474
93
|
|
|
1475
|
-
|
|
1476
|
-
httpcat env show
|
|
1477
|
-
```
|
|
1478
|
-
|
|
1479
|
-
#### Add Custom Environment
|
|
94
|
+
Give your agent claws:
|
|
1480
95
|
|
|
1481
96
|
```bash
|
|
1482
|
-
|
|
1483
|
-
httpcat env add production http://production-agent:8787 -n base
|
|
1484
|
-
|
|
1485
|
-
# Switch to it
|
|
1486
|
-
httpcat env use production
|
|
97
|
+
httpcat mcp install
|
|
1487
98
|
```
|
|
1488
99
|
|
|
1489
|
-
|
|
100
|
+
Your agent can now use all CLI commands as MCP tools. One integration, access to everything.
|
|
1490
101
|
|
|
1491
|
-
|
|
1492
|
-
# Update existing environment URL
|
|
1493
|
-
httpcat env update local http://localhost:8788
|
|
102
|
+
---
|
|
1494
103
|
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
104
|
+
## Commands
|
|
105
|
+
|
|
106
|
+
### Launchpad
|
|
107
|
+
|
|
108
|
+
- `launchpad list` — List all launchpad tokens (FREE)
|
|
109
|
+
- `launchpad info <identifier>` — Get launchpad token information (FREE)
|
|
110
|
+
- `launchpad buy <identifier> <amount>` — Buy tokens from bonding curve (amount + 1% fee)
|
|
111
|
+
- `launchpad sell <identifier> <amount>` — Sell tokens to bonding curve ($0.01)
|
|
112
|
+
- `launchpad positions` — Get launchpad token positions (FREE)
|
|
113
|
+
- `create <name> <symbol>` — Create a new token on the 402.cat launchpad ($0.01)
|
|
114
|
+
|
|
115
|
+
**Shortcuts:** `list`, `info`, `buy`, `sell`, `positions`, `create`
|
|
116
|
+
|
|
117
|
+
### Entrypoints
|
|
118
|
+
|
|
119
|
+
- `swap <tokenIn> <tokenOut> <amount>` — Execute swaps via 402.cat DEX aggregator ($0.10)
|
|
120
|
+
|
|
121
|
+
### Tools
|
|
122
|
+
|
|
123
|
+
EVM development & interaction tools for building and working with blockchain transactions:
|
|
124
|
+
|
|
125
|
+
- `tools address` — Address utilities
|
|
126
|
+
- `tools address validate <address>` — Validate Ethereum address format ($0.001)
|
|
127
|
+
- `tools address checksum <address>` — Convert address to EIP-55 checksum format ($0.001)
|
|
128
|
+
- `tools address derive <privateKey>` — Derive address from private key ($0.001)
|
|
129
|
+
- `tools address balance <address>` — Get address balance (ETH + tokens) ($0.001)
|
|
130
|
+
- `tools abi` — ABI encoding/decoding utilities
|
|
131
|
+
- `tools abi encode` — Encode function call from ABI and arguments ($0.001)
|
|
132
|
+
- `tools abi decode` — Decode function result or event log ($0.001)
|
|
133
|
+
- `tools abi parse` — Parse ABI JSON and return structured format ($0.001)
|
|
134
|
+
- `tools tx` — Transaction utilities
|
|
135
|
+
- `tools tx build` — Build complete transaction with auto-filled fields ($0.001)
|
|
136
|
+
- `tools tx encode` — Encode transaction to RLP format ($0.001)
|
|
137
|
+
- `tools tx decode` — Decode RLP transaction ($0.001)
|
|
138
|
+
- `tools tx simulate` — Enhanced transaction simulation with state analysis ($0.001)
|
|
139
|
+
- `tools tx estimate-gas` — Estimate gas for transaction ($0.001)
|
|
140
|
+
- `tools tx prepare` — Prepare transaction for signing ($0.001)
|
|
141
|
+
- `tools signature` — Signature utilities
|
|
142
|
+
- `tools signature eip191` — Prepare EIP-191 personal sign message ($0.001)
|
|
143
|
+
- `tools signature eip712` — Prepare EIP-712 structured data signature ($0.001)
|
|
144
|
+
- `tools signature permit2` — Prepare Permit2 signature message ($0.001)
|
|
145
|
+
- `tools multicall` — Multicall operations
|
|
146
|
+
- `tools multicall encode` — Encode multicall operation ($0.001)
|
|
147
|
+
- `tools multicall decode` — Decode multicall results ($0.001)
|
|
148
|
+
- `tools nonce` — Nonce management
|
|
149
|
+
- `tools nonce get <address>` — Get current nonce for address ($0.001)
|
|
150
|
+
- `tools nonce predict <address>` — Predict next nonce accounting for pending transactions ($0.001)
|
|
151
|
+
- `tools gas` — Gas utilities
|
|
152
|
+
- `tools gas price` — Get current gas price ($0.001)
|
|
153
|
+
- `tools gas estimate` — Estimate gas for operation ($0.001)
|
|
154
|
+
- `tools gas optimize` — Optimize gas settings for transaction ($0.001)
|
|
155
|
+
- `tools key` — Key utilities
|
|
156
|
+
- `tools key derive <privateKey>` — Derive address from private key ($0.001)
|
|
157
|
+
- `tools key validate <privateKey>` — Validate private key format ($0.001)
|
|
158
|
+
- `tools rpc` — RPC utilities
|
|
159
|
+
- `tools rpc proxy` — Enhanced JSON-RPC proxy ($0.001)
|
|
160
|
+
- `tools rpc batch` — Batch multiple RPC calls ($0.001)
|
|
161
|
+
- `tools rpc health` — Check RPC endpoint health ($0.001)
|
|
162
|
+
- `tools call <url>` — Call an arbitrary x402-protected HTTP endpoint with automatic payment handling (varies by endpoint)
|
|
163
|
+
- `rpc` — JSON-RPC proxy for blockchain calls ($0.05)
|
|
164
|
+
|
|
165
|
+
### MCP
|
|
166
|
+
|
|
167
|
+
- `mcp install [llm-name]` — Install or update httpcat MCP server for AI assistants
|
|
168
|
+
- `mcp start` — Start MCP (Model Context Protocol) server
|
|
1498
169
|
|
|
1499
|
-
|
|
170
|
+
### Configuration
|
|
1500
171
|
|
|
1501
|
-
|
|
172
|
+
- `config` — Configure httpcat (settings, environment, accounts)
|
|
173
|
+
- `config setup` — Run interactive setup wizard
|
|
174
|
+
- `config reset` — Reset configuration (clears all settings)
|
|
175
|
+
- `config completion [shell]` — Generate shell completion script
|
|
176
|
+
- `config update` — Update httpcat CLI to the latest version
|
|
177
|
+
- `use <value>` — Switch account or environment
|
|
1502
178
|
|
|
1503
|
-
|
|
1504
|
-
- **sepolia** - `https://agent.402.cat` (eip155:84532)
|
|
179
|
+
### Infrastructure
|
|
1505
180
|
|
|
1506
|
-
|
|
181
|
+
- `accounts` — List all configured accounts
|
|
1507
182
|
|
|
1508
|
-
|
|
183
|
+
**Additional Shortcuts:** `transactions` (→ portfolio transactions), `health` (→ system health), `balances` (→ portfolio balances)
|
|
1509
184
|
|
|
1510
|
-
|
|
1511
|
-
2. Current environment's agent URL
|
|
1512
|
-
3. Config file `agentUrl` setting
|
|
1513
|
-
4. Default value
|
|
185
|
+
---
|
|
1514
186
|
|
|
1515
|
-
|
|
187
|
+
## x402 Protocol
|
|
1516
188
|
|
|
1517
|
-
|
|
189
|
+
httpcat is built on the [x402 protocol](https://x402.org) — HTTP-native micropayments that work without middleware or wallets.
|
|
1518
190
|
|
|
1519
|
-
|
|
1520
|
-
# Private key (most secure - doesn't save to config)
|
|
1521
|
-
export HTTPCAT_PRIVATE_KEY=0x1234567890abcdef...
|
|
191
|
+
**How it works:**
|
|
1522
192
|
|
|
1523
|
-
|
|
1524
|
-
|
|
193
|
+
1. Make HTTP request to x402 endpoint
|
|
194
|
+
2. Receive `402 Payment Required` response
|
|
195
|
+
3. Generate payment signature using your private key
|
|
196
|
+
4. Retry request with `PAYMENT-SIGNATURE` header
|
|
197
|
+
5. Endpoint verifies payment and processes request
|
|
1525
198
|
|
|
1526
|
-
|
|
1527
|
-
httpcat create "My Token" "MTK"
|
|
1528
|
-
```
|
|
199
|
+
**No middleware required.** The protocol is built into HTTP. No wallet management. No complex setup. Just HTTP requests with payment headers.
|
|
1529
200
|
|
|
1530
|
-
|
|
201
|
+
httpcat handles all of this automatically. You just make requests.
|
|
1531
202
|
|
|
1532
|
-
|
|
203
|
+
**Protocol Versions:** httpcat supports both x402 v1 (payment requirements in response body) and v2 (payment requirements in `PAYMENT-REQUIRED` header). The client automatically detects and handles both formats.
|
|
1533
204
|
|
|
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
|
-
```
|
|
205
|
+
---
|
|
1539
206
|
|
|
1540
|
-
|
|
207
|
+
## MCP Server
|
|
1541
208
|
|
|
1542
|
-
|
|
209
|
+
The MCP server exposes all CLI commands as tools for AI assistants:
|
|
1543
210
|
|
|
1544
211
|
```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
|
|
212
|
+
httpcat mcp install
|
|
1551
213
|
```
|
|
1552
214
|
|
|
1553
|
-
|
|
215
|
+
Or start manually:
|
|
1554
216
|
|
|
1555
217
|
```bash
|
|
1556
|
-
|
|
1557
|
-
httpcat config --set preferences.enableAsciiArt=false
|
|
1558
|
-
|
|
1559
|
-
# Per session
|
|
1560
|
-
httpcat --no-art
|
|
218
|
+
httpcat mcp start
|
|
1561
219
|
```
|
|
1562
220
|
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
Config is stored at `~/.config/httpcat/config.json`:
|
|
221
|
+
**Configuration:**
|
|
1566
222
|
|
|
1567
223
|
```json
|
|
1568
224
|
{
|
|
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"
|
|
225
|
+
"mcpServers": {
|
|
226
|
+
"httpcat": {
|
|
227
|
+
"command": "npx",
|
|
228
|
+
"args": ["-y", "httpcat-cli", "mcp", "start"]
|
|
1602
229
|
}
|
|
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
230
|
}
|
|
1614
231
|
}
|
|
1615
232
|
```
|
|
1616
233
|
|
|
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
|
|
234
|
+
**Note:** Private key is NOT included in MCP config — the server reads from `~/.config/httpcat/config.json` automatically.
|
|
1732
235
|
|
|
1733
|
-
|
|
1734
|
-
httpcat buy 0x1234... 5
|
|
236
|
+
Your agent can now:
|
|
1735
237
|
|
|
1736
|
-
|
|
1737
|
-
|
|
238
|
+
- Use entrypoints (swap, launchpad, rpc)
|
|
239
|
+
- Use launchpad commands (create, buy, sell, list, info, positions)
|
|
240
|
+
- Discover and compose services
|
|
241
|
+
- Build capabilities
|
|
1738
242
|
|
|
1739
|
-
|
|
1740
|
-
httpcat positions
|
|
243
|
+
---
|
|
1741
244
|
|
|
1742
|
-
|
|
1743
|
-
httpcat sell 0x1234... 50%
|
|
245
|
+
## Global Options
|
|
1744
246
|
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
247
|
+
- `-j, --json` — JSON output for scripting
|
|
248
|
+
- `-q, --quiet` — Minimal output
|
|
249
|
+
- `-v, --verbose` — Verbose errors
|
|
250
|
+
- `--no-art` — Disable ASCII art
|
|
251
|
+
- `-k, --private-key <key>` — Override private key
|
|
252
|
+
- `-a, --account <index>` — Use specific account
|
|
1748
253
|
|
|
1749
|
-
|
|
254
|
+
---
|
|
1750
255
|
|
|
1751
|
-
|
|
1752
|
-
#!/bin/bash
|
|
256
|
+
## Documentation
|
|
1753
257
|
|
|
1754
|
-
|
|
258
|
+
For detailed documentation, entrypoint reference, and deployment guides:
|
|
1755
259
|
|
|
1756
|
-
|
|
1757
|
-
while true; do
|
|
1758
|
-
INFO=$(httpcat -j info $TOKEN_ADDRESS)
|
|
1759
|
-
PROGRESS=$(echo $INFO | jq -r '.data.graduationProgress')
|
|
260
|
+
**📖 [docs.402.cat](https://www.402.cat/docs)**
|
|
1760
261
|
|
|
1761
|
-
|
|
1762
|
-
if (( $(echo "$PROGRESS > 90" | bc -l) )); then
|
|
1763
|
-
httpcat -q buy $TOKEN_ADDRESS 5
|
|
1764
|
-
fi
|
|
262
|
+
---
|
|
1765
263
|
|
|
1766
|
-
|
|
1767
|
-
done
|
|
1768
|
-
```
|
|
264
|
+
## The Foundation
|
|
1769
265
|
|
|
1770
|
-
|
|
266
|
+
httpcat is built on three primitives:
|
|
1771
267
|
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
268
|
+
1. **x402 Protocol** — HTTP-native micropayments, no middleware
|
|
269
|
+
2. **Entrypoint Registry** — Discoverable, composable services
|
|
270
|
+
3. **Automatic Payments** — Payment signatures handled automatically
|
|
1775
271
|
|
|
1776
|
-
|
|
1777
|
-
yarn build
|
|
272
|
+
This is the infrastructure that lets agents transact without wallets, discover services without APIs, and build capabilities by composing entrypoints.
|
|
1778
273
|
|
|
1779
|
-
|
|
1780
|
-
yarn dev
|
|
274
|
+
**Money is the alignment mechanism.** An agent with a budget has to prioritize. Every action costs something. Run out of funds, you stop. Make bad decisions, you go broke.
|
|
1781
275
|
|
|
1782
|
-
|
|
1783
|
-
yarn link
|
|
276
|
+
The constraint is what makes it work.
|
|
1784
277
|
|
|
1785
|
-
|
|
1786
|
-
httpcat --version
|
|
1787
|
-
```
|
|
278
|
+
---
|
|
1788
279
|
|
|
1789
280
|
## License
|
|
1790
281
|
|
|
@@ -1792,6 +283,7 @@ MIT
|
|
|
1792
283
|
|
|
1793
284
|
## Support
|
|
1794
285
|
|
|
1795
|
-
-
|
|
1796
|
-
-
|
|
1797
|
-
-
|
|
286
|
+
- Issues: https://github.com/hathbanger/httpcat-cli/issues
|
|
287
|
+
- Agent: https://agent-test.402.cat
|
|
288
|
+
- Protocol: https://x402.org
|
|
289
|
+
- Docs: https://www.402.cat/docs
|