httpcat-cli 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yml +5 -0
- package/.github/workflows/sync-version.yml +11 -3
- package/README.md +182 -2989
- 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/dist/client.d.ts.map +1 -1
- package/dist/client.js +99 -44
- package/dist/client.js.map +1 -1
- package/dist/index.js +14 -6
- package/dist/index.js.map +1 -1
- package/dist/utils/admin.d.ts.map +1 -1
- package/dist/utils/admin.js +0 -9
- package/dist/utils/admin.js.map +1 -1
- package/docs/api/README.md +3 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3089 +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
|
-
```
|
|
11
|
+
## What is httpcat?
|
|
25
12
|
|
|
26
|
-
|
|
13
|
+
httpcat is the command-line interface for [402.cat](https://402.cat) — the tool that lets agents interact with x402-protected endpoints and build economic capabilities.
|
|
27
14
|
|
|
28
|
-
|
|
29
|
-
npx httpcat-cli
|
|
30
|
-
```
|
|
15
|
+
**The foundation:** x402 protocol enables HTTP-native micropayments. Every API call can be a paid transaction. No API keys. No accounts. Just pay-per-call.
|
|
31
16
|
|
|
32
|
-
|
|
17
|
+
httpcat wraps this in a CLI that agents can use directly. It handles payment signatures automatically.
|
|
33
18
|
|
|
34
|
-
|
|
35
|
-
brew tap hathbanger/httpcat
|
|
36
|
-
brew install httpcat
|
|
37
|
-
```
|
|
19
|
+
---
|
|
38
20
|
|
|
39
|
-
|
|
21
|
+
## How It Works
|
|
40
22
|
|
|
41
|
-
|
|
42
|
-
cd httpcat-cli
|
|
43
|
-
yarn install
|
|
44
|
-
yarn build
|
|
45
|
-
yarn link
|
|
46
|
-
```
|
|
23
|
+
### x402 Protocol Integration
|
|
47
24
|
|
|
48
|
-
|
|
25
|
+
httpcat uses the x402 protocol to handle payments automatically:
|
|
49
26
|
|
|
50
|
-
|
|
27
|
+
1. **Request** → CLI makes HTTP request to x402 endpoint
|
|
28
|
+
2. **402 Response** → Endpoint returns payment requirements
|
|
29
|
+
3. **Payment** → CLI generates payment signature and retries
|
|
30
|
+
4. **Response** → Endpoint processes and returns result
|
|
51
31
|
|
|
52
|
-
|
|
32
|
+
All of this happens automatically. No middleware. No wallet management in your code. Just HTTP requests with payment headers.
|
|
53
33
|
|
|
54
|
-
|
|
55
|
-
npm update -g httpcat-cli
|
|
56
|
-
```
|
|
34
|
+
### Entrypoints
|
|
57
35
|
|
|
58
|
-
|
|
36
|
+
Entrypoints are services wrapped in x402 protocol. They're composable and automatically handle payments.
|
|
59
37
|
|
|
60
|
-
|
|
38
|
+
**Built-in entrypoints:**
|
|
61
39
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
40
|
+
- `swap` — DEX aggregator for token swaps
|
|
41
|
+
- `launchpad` — Token creation and trading
|
|
42
|
+
- `rpc` — JSON-RPC proxy for blockchain calls
|
|
65
43
|
|
|
66
|
-
|
|
44
|
+
---
|
|
67
45
|
|
|
68
|
-
|
|
46
|
+
## Installation
|
|
69
47
|
|
|
70
48
|
```bash
|
|
71
|
-
|
|
49
|
+
npm install -g httpcat-cli
|
|
72
50
|
```
|
|
73
51
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
If you're using `npx httpcat-cli`, it automatically uses the latest version - no upgrade needed!
|
|
52
|
+
Or use with npx:
|
|
77
53
|
|
|
78
54
|
```bash
|
|
79
|
-
npx httpcat-cli
|
|
55
|
+
npx httpcat-cli
|
|
80
56
|
```
|
|
81
57
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
If you're developing locally with `yarn link`:
|
|
58
|
+
Homebrew:
|
|
85
59
|
|
|
86
60
|
```bash
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
yarn install
|
|
90
|
-
yarn build
|
|
61
|
+
brew tap hathbanger/httpcat
|
|
62
|
+
brew install httpcat
|
|
91
63
|
```
|
|
92
64
|
|
|
65
|
+
---
|
|
66
|
+
|
|
93
67
|
## Quick Start
|
|
94
68
|
|
|
95
|
-
###
|
|
69
|
+
### Setup
|
|
96
70
|
|
|
97
|
-
Run `httpcat` to
|
|
71
|
+
Run `httpcat` to create your wallet:
|
|
98
72
|
|
|
99
73
|
```bash
|
|
100
74
|
httpcat
|
|
101
75
|
```
|
|
102
76
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
When you first run `httpcat`, a wallet is automatically created for you:
|
|
106
|
-
|
|
107
|
-
1. **Seed Phrase Generated** - A 12-word seed phrase is generated locally on your computer
|
|
108
|
-
2. **Address Displayed** - Your wallet address is prominently displayed so you can immediately send USDC or ETH
|
|
109
|
-
3. **Security Information** - Comprehensive security messaging explains that:
|
|
110
|
-
- Your seed phrase was generated on THIS computer only
|
|
111
|
-
- It has NEVER been and will NEVER be transmitted to any server, third party, or external service
|
|
112
|
-
- All cryptographic operations happen entirely on your device
|
|
113
|
-
- Your seed phrase is stored locally at `~/.config/httpcat/config.json`
|
|
114
|
-
4. **Password Protection (Optional)** - You can set a password to encrypt your wallet, or press Enter to skip (keys are still encrypted)
|
|
115
|
-
5. **Backup Instructions** - You'll be shown your seed phrase with instructions to back it up securely
|
|
116
|
-
|
|
117
|
-
**Import Mode (Optional):**
|
|
118
|
-
|
|
119
|
-
If you want to import an existing seed phrase or private key instead of auto-generation, set the `HTTPCAT_IMPORT_MODE` environment variable:
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
HTTPCAT_IMPORT_MODE=true httpcat
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
This will show the traditional import options:
|
|
126
|
-
|
|
127
|
-
- Generate new wallet (seed phrase)
|
|
128
|
-
- Import existing seed phrase
|
|
129
|
-
- Import existing private key
|
|
130
|
-
|
|
131
|
-
**Configuration Options:**
|
|
132
|
-
|
|
133
|
-
After wallet setup, you'll be prompted for:
|
|
134
|
-
|
|
135
|
-
- **Network** - Network format: `eip155:84532` (Base Sepolia testnet) or `eip155:8453` (Base mainnet)
|
|
136
|
-
- **Agent URL** - The httpcat agent endpoint (default: https://agent-test.402.cat)
|
|
137
|
-
- **ASCII Art** - Enable or disable cat art
|
|
138
|
-
|
|
139
|
-
**Network Format:** Uses CAIP-2 format (`eip155:<chainId>`):
|
|
140
|
-
|
|
141
|
-
- Base Sepolia (testnet): `eip155:84532` (Chain ID: 84532)
|
|
142
|
-
- Base (mainnet): `eip155:8453` (Chain ID: 8453)
|
|
143
|
-
|
|
144
|
-
### Interactive Mode
|
|
145
|
-
|
|
146
|
-
Once configured, running `httpcat` without arguments starts an interactive shell:
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
$ httpcat
|
|
150
|
-
|
|
151
|
-
/\_/\
|
|
152
|
-
( ^.^ ) Welcome to httpcat!
|
|
153
|
-
> ^ < Your agent for token operations
|
|
154
|
-
|
|
155
|
-
🔗 Connected to: eip155:84532 (Base Sepolia)
|
|
156
|
-
🌐 Agent: https://agent-test.402.cat
|
|
157
|
-
|
|
158
|
-
httpcat> help
|
|
159
|
-
Available Commands:
|
|
160
|
-
|
|
161
|
-
create <name> <symbol> Create a new token
|
|
162
|
-
buy <id|name|symbol> <amount> Buy tokens ($0.05, $0.10, $0.20, or percentage like 50%)
|
|
163
|
-
sell <id|name|symbol> <amount|all> Sell tokens
|
|
164
|
-
swap <tokenIn> <tokenOut> <amount> Swap any token to any token (CLI only, $0.10)
|
|
165
|
-
info <id|name|symbol> Get token information
|
|
166
|
-
list [--sort mcap|created] List all tokens
|
|
167
|
-
positions [--active|--graduated] Get all your positions with comprehensive info
|
|
168
|
-
transactions [--user|--token|--type] Get transaction history
|
|
169
|
-
claim <id|name|symbol> [--execute] View/claim LP fees for graduated tokens
|
|
170
|
-
market search <query> Search cryptocurrencies (CoinGecko, FREE)
|
|
171
|
-
market coin-data <coinId> Get coin market data (CoinGecko, $0.001)
|
|
172
|
-
market chart <coinId> <days> Get price chart (CoinGecko, $0.01)
|
|
173
|
-
cex markets Get CEX.IO markets (FREE)
|
|
174
|
-
cex ticker <symbol> Get CEX.IO ticker (FREE)
|
|
175
|
-
cex balance Get CEX.IO balance ($0.001)
|
|
176
|
-
cex place-order <symbol> <type> <orderType> <amount> Place order ($0.05, HIGH RISK)
|
|
177
|
-
chat [token] Start streaming chat (optional: token symbol/name/address)
|
|
178
|
-
balances Check wallet balances (ETH, USDC, and CAT)
|
|
179
|
-
account [list|switch|add] Manage accounts
|
|
180
|
-
cat Start interactive AI assistant chat mode
|
|
181
|
-
agent setup Configure autonomous trading agent settings
|
|
182
|
-
health Check agent health
|
|
183
|
-
config [--show|--set|--reset] Manage configuration
|
|
184
|
-
env [list|use|show|add|update] Manage environments
|
|
185
|
-
help Show this help message
|
|
186
|
-
exit Exit the shell
|
|
187
|
-
|
|
188
|
-
httpcat> create "Meow Token" "MEOW"
|
|
189
|
-
|
|
190
|
-
/\_/\ Creating your token...
|
|
191
|
-
( o.o )💭
|
|
192
|
-
|
|
193
|
-
💳 Payment required: $0.01 USDC
|
|
194
|
-
|
|
195
|
-
✅ Token created successfully!
|
|
196
|
-
|
|
197
|
-
┌─────────────────────────────────────────┐
|
|
198
|
-
│ 🎉 Meow Token (MEOW) │
|
|
199
|
-
├─────────────────────────────────────────┤
|
|
200
|
-
│ Address: 0x789abcd... │
|
|
201
|
-
│ Supply: 1,000,000,000 MEOW │
|
|
202
|
-
│ Status: Active │
|
|
203
|
-
└─────────────────────────────────────────┘
|
|
204
|
-
|
|
205
|
-
httpcat> buy 0x789abcd... 0.20
|
|
206
|
-
|
|
207
|
-
💰 Tokens purchased successfully!
|
|
208
|
-
|
|
209
|
-
┌─────────────────────────────────────────┐
|
|
210
|
-
│ 💰 Purchase Summary │
|
|
211
|
-
├─────────────────────────────────────────┤
|
|
212
|
-
│ Tokens Received: 50,000 │
|
|
213
|
-
│ Amount Spent: $5.00 │
|
|
214
|
-
│ Fee (1%): $0.05 │
|
|
215
|
-
│ New Price: $0.0002 │
|
|
216
|
-
│ New Market Cap: $200,000 │
|
|
217
|
-
│ Graduation: 0.15% │
|
|
218
|
-
└─────────────────────────────────────────┘
|
|
219
|
-
|
|
220
|
-
[🐱==> ] 0.15% to moon!
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
## Global Options
|
|
224
|
-
|
|
225
|
-
These options can be used with any command:
|
|
226
|
-
|
|
227
|
-
- `-j, --json` - Output in JSON format for scripting and automation
|
|
228
|
-
- `-q, --quiet` - Minimal output (exit codes only)
|
|
229
|
-
- `-v, --verbose` - Show verbose error messages and debugging information
|
|
230
|
-
- `--no-art` - Disable ASCII art cats
|
|
231
|
-
- `-k, --private-key <key>` - Use specific private key (overrides config and env var)
|
|
232
|
-
- `-a, --account <index>` - Use specific account index (overrides active account)
|
|
233
|
-
|
|
234
|
-
**Examples:**
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
# Use account 2 for getting positions
|
|
238
|
-
httpcat -a 2 positions
|
|
239
|
-
|
|
240
|
-
# Use account 1 to buy tokens
|
|
241
|
-
httpcat -a 1 buy MTK 0.10
|
|
242
|
-
|
|
243
|
-
# JSON output for account 0
|
|
244
|
-
httpcat --json -a 0 balances
|
|
245
|
-
|
|
246
|
-
# Use specific private key
|
|
247
|
-
httpcat -k 0x1234... create "Test" "TEST"
|
|
248
|
-
|
|
249
|
-
# Quiet mode with exit code checking
|
|
250
|
-
httpcat -q buy MTK 0.20 && echo "Success!" || echo "Failed"
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
**Note:** The `-a, --account` flag allows you to use different accounts without switching your active account in the config.
|
|
254
|
-
|
|
255
|
-
## Commands
|
|
256
|
-
|
|
257
|
-
> **Note on Command Organization:** httpcat v0.3.0 organizes commands into logical groups (e.g., `launchpad`, `portfolio`, `trade`). Many top-level commands are still available for backward compatibility but are considered deprecated. Use the grouped commands for new scripts. See [Command Groups](#command-groups) section for the full list of organized commands.
|
|
258
|
-
|
|
259
|
-
### Create Token
|
|
77
|
+
Your seed phrase is generated locally and never transmitted to any server.
|
|
260
78
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
**Interactive:**
|
|
79
|
+
### Use Entrypoints
|
|
264
80
|
|
|
265
81
|
```bash
|
|
266
|
-
|
|
267
|
-
httpcat
|
|
268
|
-
httpcat> create "My Token" "MTK" --photo ./logo.png
|
|
269
|
-
```
|
|
82
|
+
# Swap tokens via DEX aggregator
|
|
83
|
+
httpcat swap USDC WETH 1.0
|
|
270
84
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
```bash
|
|
85
|
+
# Launchpad operations
|
|
86
|
+
httpcat list
|
|
274
87
|
httpcat create "My Token" "MTK"
|
|
275
|
-
httpcat
|
|
276
|
-
httpcat
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
**Options:**
|
|
280
|
-
|
|
281
|
-
- `-p, --photo <url|path>` - Token photo URL or file path (supports http/https URLs, local file paths, or base64 data URLs)
|
|
282
|
-
- `-w, --website <url>` - Website URL
|
|
283
|
-
|
|
284
|
-
**Note:** If no photo is provided, a unique [Robohash](https://robohash.org/) avatar is automatically generated for your token based on the token address.
|
|
285
|
-
|
|
286
|
-
**Cost:** $0.01 USDC
|
|
287
|
-
|
|
288
|
-
### Buy Tokens
|
|
289
|
-
|
|
290
|
-
Purchase tokens from the bonding curve.
|
|
291
|
-
|
|
292
|
-
**Interactive:**
|
|
293
|
-
|
|
294
|
-
```bash
|
|
295
|
-
httpcat> buy 0x1234... 0.20
|
|
296
|
-
httpcat> buy "My Token" 0.10
|
|
297
|
-
httpcat> buy MTK 0.05
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
**CLI:**
|
|
301
|
-
|
|
302
|
-
```bash
|
|
303
|
-
httpcat buy 0x1234567890abcdef1234567890abcdef12345678 0.20
|
|
304
|
-
httpcat buy "My Token" 0.10
|
|
305
|
-
httpcat buy MTK 0.05
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
**Options:**
|
|
309
|
-
|
|
310
|
-
- `-r, --repeat <count>` - Execute multiple buys in sequence (stops early if token graduates or insufficient funds)
|
|
311
|
-
- `-d, --delay <ms>` - Delay in milliseconds between repeat operations (default: 0)
|
|
312
|
-
|
|
313
|
-
**Examples with repeat:**
|
|
314
|
-
|
|
315
|
-
```bash
|
|
316
|
-
# Execute 10 buys back-to-back
|
|
317
|
-
httpcat buy MTK 0.10 -r 10
|
|
318
|
-
|
|
319
|
-
# Execute 10 buys with 500ms delay between each
|
|
320
|
-
httpcat buy MTK 0.10 -r 10 -d 500
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
**Token Identifier:**
|
|
324
|
-
|
|
325
|
-
- Token address: `0x1234...` (contract address)
|
|
326
|
-
- Token name: `"My Token"` (use quotes if it contains spaces)
|
|
327
|
-
- Token symbol: `MTK` (case-insensitive)
|
|
328
|
-
|
|
329
|
-
**Amounts:**
|
|
330
|
-
|
|
331
|
-
- Test mode (Base Sepolia / eip155:84532): `0.05`, `0.10`, or `0.20` USDC
|
|
332
|
-
- Production (base): `50`, `100`, or `200` USDC
|
|
333
|
-
- Percentage: `10%`, `50%`, `100%` (percentage of your USDC balance)
|
|
334
|
-
- Example: `httpcat buy MTK 50%` - Buy with 50% of your USDC balance
|
|
335
|
-
- Works with any percentage from 0.01% to 100%
|
|
336
|
-
|
|
337
|
-
**Cost:** Amount + 1% fee (e.g., $5.05 for $5 purchase)
|
|
338
|
-
|
|
339
|
-
**Repeat Mode Behavior:**
|
|
340
|
-
|
|
341
|
-
When using `-r, --repeat`, the command will:
|
|
342
|
-
|
|
343
|
-
- Execute the specified number of buys sequentially
|
|
344
|
-
- Wait for transaction confirmation between each buy
|
|
345
|
-
- Automatically retry failed transactions (up to 10 attempts with exponential backoff)
|
|
346
|
-
- Stop early if the token graduates (reaches 100% graduation progress)
|
|
347
|
-
- Stop early if you run out of funds (HTTP 402 error)
|
|
348
|
-
- Display a compact summary for each buy
|
|
349
|
-
- Show a final summary with total buys completed, total spent, and final status
|
|
350
|
-
|
|
351
|
-
### Sell Tokens
|
|
352
|
-
|
|
353
|
-
Sell tokens back to the bonding curve.
|
|
354
|
-
|
|
355
|
-
**Interactive:**
|
|
356
|
-
|
|
357
|
-
```bash
|
|
358
|
-
httpcat> sell 0x1234... 1000 # Sell 1000 tokens
|
|
359
|
-
httpcat> sell "My Token" 50% # Sell 50% of holdings
|
|
360
|
-
httpcat> sell MTK all # Sell all tokens
|
|
361
|
-
```
|
|
362
|
-
|
|
363
|
-
**CLI:**
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
httpcat sell 0x1234567890abcdef1234567890abcdef12345678 1000
|
|
367
|
-
httpcat sell "My Token" 50%
|
|
368
|
-
httpcat sell MTK all
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
**Token Identifier:**
|
|
372
|
-
|
|
373
|
-
- Address, name, or symbol (same as buy command)
|
|
374
|
-
|
|
375
|
-
**Cost:** Dynamic based on amount (1% fee deducted from proceeds)
|
|
376
|
-
|
|
377
|
-
### Swap Tokens
|
|
378
|
-
|
|
379
|
-
Swap any ERC20 token to any other ERC20 token using pro DEX aggregation with optimal routing.
|
|
380
|
-
|
|
381
|
-
**Note:** This is a CLI-only feature, not available in the interactive shell.
|
|
382
|
-
|
|
383
|
-
**CLI:**
|
|
384
|
-
|
|
385
|
-
```bash
|
|
386
|
-
httpcat swap <tokenIn> <tokenOut> <amount>
|
|
387
|
-
httpcat swap <tokenIn> <tokenOut> <amount> --slippage <bps>
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
**Parameters:**
|
|
391
|
-
|
|
392
|
-
- `tokenIn` - Token to sell (contract address)
|
|
393
|
-
- `tokenOut` - Token to buy (contract address)
|
|
394
|
-
- `amount` - Amount to sell in smallest unit (e.g., 1000000 = 1 USDC with 6 decimals)
|
|
395
|
-
|
|
396
|
-
**Options:**
|
|
397
|
-
|
|
398
|
-
- `-s, --slippage <bps>` - Slippage tolerance in basis points (default: 50 = 0.5%)
|
|
399
|
-
|
|
400
|
-
**Examples:**
|
|
401
|
-
|
|
402
|
-
```bash
|
|
403
|
-
# Swap 1 USDC for WETH with default 0.5% slippage
|
|
404
|
-
httpcat swap 0x036cbd53842c5426634e7929541ec2318f3dcf7e 0x4200000000000000000000000000000000000006 1000000
|
|
405
|
-
|
|
406
|
-
# Swap with 1% slippage tolerance
|
|
407
|
-
httpcat swap 0x036c... 0x4200... 1000000 --slippage 100
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
**Options:**
|
|
411
|
-
|
|
412
|
-
- `--shielded` - Use MEV-protected swap via UniswapX Dutch auction ($1.00)
|
|
413
|
-
|
|
414
|
-
**Examples:**
|
|
415
|
-
|
|
416
|
-
```bash
|
|
417
|
-
# MEV-protected swap
|
|
418
|
-
httpcat swap USDC WETH 1.0 --shielded
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
**Cost:** $0.10 USDC (standard) or $1.00 USDC (shielded)
|
|
422
|
-
|
|
423
|
-
### Gasless Swap
|
|
424
|
-
|
|
425
|
-
Submit gasless swap trades that don't require gas fees.
|
|
426
|
-
|
|
427
|
-
**CLI:**
|
|
428
|
-
|
|
429
|
-
```bash
|
|
430
|
-
# Submit signed 0x gasless swap
|
|
431
|
-
httpcat gasless-submit --trade '{"order": {...}}'
|
|
432
|
-
|
|
433
|
-
# Submit via our executor
|
|
434
|
-
httpcat gasless-submit-our \
|
|
435
|
-
--token-in 0x... \
|
|
436
|
-
--token-out 0x... \
|
|
437
|
-
--total-amount 1000000 \
|
|
438
|
-
--fee-amount 10000 \
|
|
439
|
-
--taker 0x... \
|
|
440
|
-
--permit2-signature 0x... \
|
|
441
|
-
--permit-nonce 0 \
|
|
442
|
-
--permit-deadline 1234567890
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
**Cost:** $0.01 USDC
|
|
446
|
-
|
|
447
|
-
### Perps (Perpetual Futures)
|
|
448
|
-
|
|
449
|
-
Trade perpetual futures across multiple venues.
|
|
450
|
-
|
|
451
|
-
**CLI:**
|
|
452
|
-
|
|
453
|
-
```bash
|
|
454
|
-
# List available markets
|
|
455
|
-
httpcat perps markets
|
|
456
|
-
|
|
457
|
-
# Onboard wallet to venues (one-time setup)
|
|
458
|
-
httpcat perps onboard
|
|
459
|
-
|
|
460
|
-
# Deposit USDC to venues
|
|
461
|
-
httpcat perps deposit 1000
|
|
462
|
-
|
|
463
|
-
# Open a position
|
|
464
|
-
httpcat perps trade ETH-USD long 100 10
|
|
465
|
-
|
|
466
|
-
# View open positions
|
|
467
|
-
httpcat perps positions
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
**Subcommands:**
|
|
471
|
-
|
|
472
|
-
- `markets` - Get available markets ($0.01)
|
|
473
|
-
- `onboard` - One-time wallet setup (FREE)
|
|
474
|
-
- `deposit <amount>` - Deposit USDC (FREE)
|
|
475
|
-
- `trade <market> <side> <sizeUsd> <leverage>` - Open/close positions ($0.05)
|
|
476
|
-
- `positions` - View open positions ($0.01)
|
|
477
|
-
|
|
478
|
-
**Options:**
|
|
479
|
-
|
|
480
|
-
- `--venue <name>` - Filter by venue
|
|
481
|
-
- `--wallet <address>` - Wallet address (defaults to configured wallet)
|
|
482
|
-
- `--aster-api-key <key>` - Aster API key (for positions)
|
|
483
|
-
- `--aster-api-secret <secret>` - Aster API secret (for positions)
|
|
484
|
-
|
|
485
|
-
### Predictions
|
|
486
|
-
|
|
487
|
-
Interact with prediction markets on Polymarket and Azuro.
|
|
488
|
-
|
|
489
|
-
**CLI:**
|
|
490
|
-
|
|
491
|
-
```bash
|
|
492
|
-
# Browse markets
|
|
493
|
-
httpcat predictions markets
|
|
494
|
-
|
|
495
|
-
# Get market details
|
|
496
|
-
httpcat predictions market <marketId>
|
|
497
|
-
|
|
498
|
-
# Search markets
|
|
499
|
-
httpcat predictions search "bitcoin"
|
|
500
|
-
|
|
501
|
-
# Place a bet
|
|
502
|
-
httpcat predictions bet <marketId> <outcomeId> <amountUsd>
|
|
503
|
-
|
|
504
|
-
# Detect arbitrage opportunities
|
|
505
|
-
httpcat predictions detect-arbs
|
|
506
|
-
|
|
507
|
-
# Detect sophisticated traders
|
|
508
|
-
httpcat predictions detect-insiders
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
**Subcommands:**
|
|
512
|
-
|
|
513
|
-
- `markets` - Browse markets ($0.01)
|
|
514
|
-
- `market <marketId>` - Get market details ($0.01)
|
|
515
|
-
- `search <query>` - Search markets ($0.01)
|
|
516
|
-
- `bet <marketId> <outcomeId> <amountUsd>` - Place bet ($0.05)
|
|
517
|
-
- `detect-arbs` - Find arbitrage opportunities (FREE)
|
|
518
|
-
- `calculate-hedge` - Calculate optimal hedge (FREE)
|
|
519
|
-
- `execute-arb` - Execute arbitrage trade ($0.20)
|
|
520
|
-
- `detect-insiders` - Detect sophisticated traders ($5.00)
|
|
521
|
-
|
|
522
|
-
**Options:**
|
|
523
|
-
|
|
524
|
-
- `--venue <name>` - Filter by venue
|
|
525
|
-
- `--category <category>` - Filter by category
|
|
526
|
-
- `--limit <number>` - Limit results
|
|
527
|
-
- `--wallet <address>` - Wallet address (defaults to configured wallet)
|
|
528
|
-
- `--polymarket-api-key <key>` - Polymarket API key
|
|
529
|
-
- `--polymarket-api-secret <secret>` - Polymarket API secret
|
|
530
|
-
|
|
531
|
-
### Market Intelligence (CoinGecko)
|
|
532
|
-
|
|
533
|
-
Research cryptocurrencies using CoinGecko market data.
|
|
534
|
-
|
|
535
|
-
**CLI:**
|
|
536
|
-
|
|
537
|
-
```bash
|
|
538
|
-
# Search for cryptocurrencies
|
|
539
|
-
httpcat market search bitcoin
|
|
540
|
-
httpcat market search "eth" --limit 10
|
|
541
|
-
|
|
542
|
-
# Get comprehensive coin data
|
|
543
|
-
httpcat market coin-data bitcoin
|
|
544
|
-
httpcat market coin-data ethereum --currency eur --sparkline
|
|
545
|
-
|
|
546
|
-
# Get historical price charts
|
|
547
|
-
httpcat market chart bitcoin 7
|
|
548
|
-
httpcat market chart ethereum 30 --currency eur
|
|
549
|
-
httpcat market chart bitcoin max --json
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
**Subcommands:**
|
|
553
|
-
|
|
554
|
-
- `search <query>` - Search cryptocurrencies by name or symbol (FREE)
|
|
555
|
-
- `coin-data <coinId>` - Get comprehensive market data ($0.001)
|
|
556
|
-
- `chart <coinId> <days>` - Get historical price chart ($0.01)
|
|
557
|
-
|
|
558
|
-
**Options:**
|
|
559
|
-
|
|
560
|
-
- `--limit <number>` - Maximum search results (default: 20, max: 100)
|
|
561
|
-
- `--currency <currency>` - Currency: usd, eur, btc (default: usd)
|
|
562
|
-
- `--sparkline` - Include 7-day sparkline chart
|
|
563
|
-
- `--interval <interval>` - Chart interval: daily or hourly (auto-selected)
|
|
564
|
-
|
|
565
|
-
**Examples:**
|
|
566
|
-
|
|
567
|
-
```bash
|
|
568
|
-
# Search for Bitcoin
|
|
569
|
-
httpcat market search bitcoin
|
|
570
|
-
|
|
571
|
-
# Get Bitcoin market data with sparkline
|
|
572
|
-
httpcat market coin-data bitcoin --sparkline
|
|
573
|
-
|
|
574
|
-
# Get 7-day hourly chart
|
|
575
|
-
httpcat market chart bitcoin 7
|
|
576
|
-
|
|
577
|
-
# Get max historical data (JSON for charting)
|
|
578
|
-
httpcat market chart bitcoin max --json
|
|
579
|
-
```
|
|
580
|
-
|
|
581
|
-
**Note:** Use `search` to find CoinGecko coin IDs (e.g., 'bitcoin', 'ethereum') for use with `coin-data` and `chart` commands.
|
|
582
|
-
|
|
583
|
-
### CEX.IO Trading
|
|
584
|
-
|
|
585
|
-
Trade on CEX.IO exchange via CLI. Monitor positions, place orders, and view market data.
|
|
586
|
-
|
|
587
|
-
**CLI:**
|
|
588
|
-
|
|
589
|
-
```bash
|
|
590
|
-
# Get all available markets
|
|
591
|
-
httpcat cex markets
|
|
592
|
-
httpcat cex markets --base BTC
|
|
593
|
-
|
|
594
|
-
# Get ticker for a trading pair
|
|
595
|
-
httpcat cex ticker BTC/USD
|
|
596
|
-
|
|
597
|
-
# Check account balance
|
|
598
|
-
httpcat cex balance
|
|
599
|
-
httpcat cex balance --currency BTC
|
|
600
|
-
|
|
601
|
-
# View order book
|
|
602
|
-
httpcat cex orderbook BTC/USD --depth 20
|
|
603
|
-
|
|
604
|
-
# List open orders
|
|
605
|
-
httpcat cex orders
|
|
606
|
-
httpcat cex orders --symbol BTC/USD
|
|
607
|
-
|
|
608
|
-
# View order history
|
|
609
|
-
httpcat cex order-history --status completed
|
|
610
|
-
httpcat cex order-history --symbol BTC/USD --since 2024-01-01T00:00:00Z
|
|
611
|
-
|
|
612
|
-
# View trade history
|
|
613
|
-
httpcat cex trade-history --symbol BTC/USD
|
|
614
|
-
|
|
615
|
-
# Place an order (requires confirmation)
|
|
616
|
-
httpcat cex place-order BTC/USD buy limit 0.1 --price 50000
|
|
617
|
-
|
|
618
|
-
# Cancel an order
|
|
619
|
-
httpcat cex cancel-order 12345
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
**Subcommands:**
|
|
623
|
-
|
|
624
|
-
- `markets` - Get all trading pairs (FREE)
|
|
625
|
-
- `ticker <symbol>` - Get ticker information (FREE)
|
|
626
|
-
- `balance` - Get account balances ($0.001)
|
|
627
|
-
- `orderbook <symbol>` - Get order book ($0.001)
|
|
628
|
-
- `orders` - Get open orders ($0.001)
|
|
629
|
-
- `order-history` - Get order history ($0.01)
|
|
630
|
-
- `trade-history` - Get trade history ($0.01)
|
|
631
|
-
- `place-order` - Place buy/sell order ($0.05) **HIGH RISK**
|
|
632
|
-
- `cancel-order <orderId>` - Cancel order ($0.01)
|
|
633
|
-
|
|
634
|
-
**Options:**
|
|
635
|
-
|
|
636
|
-
- `--base <currency>` - Filter by base currency (markets)
|
|
637
|
-
- `--quote <currency>` - Filter by quote currency (markets)
|
|
638
|
-
- `--currency <currency>` - Filter by currency (balance)
|
|
639
|
-
- `--depth <depth>` - Order book depth (default: 20, max: 100)
|
|
640
|
-
- `--symbol <symbol>` - Filter by trading pair
|
|
641
|
-
- `--status <status>` - Filter by status: completed, canceled, failed, all
|
|
642
|
-
- `--limit <limit>` - Maximum results
|
|
643
|
-
- `--since <timestamp>` - ISO timestamp filter
|
|
644
|
-
- `--until <timestamp>` - ISO timestamp filter (trade-history)
|
|
645
|
-
- `--price <price>` - Order price (required for limit/stop-limit)
|
|
646
|
-
- `--stop-price <price>` - Stop price (for stop-limit orders)
|
|
647
|
-
- `--confirm` - Skip confirmation prompt (use with caution)
|
|
648
|
-
|
|
649
|
-
**Security Notes:**
|
|
650
|
-
|
|
651
|
-
- `place-order` executes real trades - always requires confirmation unless `--confirm` flag is used
|
|
652
|
-
- Symbol formats supported: `BTC/USD`, `BTC-USD`, or `BTCUSD`
|
|
653
|
-
- Market orders execute immediately; limit orders wait for price
|
|
654
|
-
- Backend must have CEX.IO API credentials configured
|
|
655
|
-
|
|
656
|
-
**Examples:**
|
|
657
|
-
|
|
658
|
-
```bash
|
|
659
|
-
# View all BTC markets
|
|
660
|
-
httpcat cex markets --base BTC
|
|
661
|
-
|
|
662
|
-
# Get BTC/USD ticker
|
|
663
|
-
httpcat cex ticker BTC/USD
|
|
664
|
-
|
|
665
|
-
# Check your balance
|
|
666
|
-
httpcat cex balance
|
|
667
|
-
|
|
668
|
-
# View order book
|
|
669
|
-
httpcat cex orderbook BTC/USD
|
|
670
|
-
|
|
671
|
-
# Place a limit buy order (will prompt for confirmation)
|
|
672
|
-
httpcat cex place-order BTC/USD buy limit 0.1 --price 50000
|
|
673
|
-
|
|
674
|
-
# Place a market sell order
|
|
675
|
-
httpcat cex place-order ETH/USD sell market 2.0
|
|
88
|
+
httpcat buy MTK 0.10
|
|
89
|
+
httpcat positions
|
|
676
90
|
```
|
|
677
91
|
|
|
678
|
-
###
|
|
92
|
+
### MCP Integration
|
|
679
93
|
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
**Interactive:**
|
|
94
|
+
Give your agent claws:
|
|
683
95
|
|
|
684
96
|
```bash
|
|
685
|
-
httpcat
|
|
686
|
-
httpcat> info "My Token"
|
|
687
|
-
httpcat> info MTK
|
|
97
|
+
httpcat mcp install
|
|
688
98
|
```
|
|
689
99
|
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
```bash
|
|
693
|
-
httpcat info 0x1234567890abcdef1234567890abcdef12345678
|
|
694
|
-
httpcat info "My Token"
|
|
695
|
-
httpcat info MTK
|
|
696
|
-
```
|
|
100
|
+
Your agent can now use all CLI commands as MCP tools. One integration, access to everything.
|
|
697
101
|
|
|
698
|
-
|
|
102
|
+
---
|
|
699
103
|
|
|
700
|
-
|
|
104
|
+
## Commands
|
|
701
105
|
|
|
702
|
-
|
|
106
|
+
### Launchpad
|
|
107
|
+
|
|
108
|
+
- `launchpad list` — List all launchpad tokens (FREE)
|
|
109
|
+
- `launchpad info <identifier>` — Get launchpad token information (FREE)
|
|
110
|
+
- `launchpad buy <identifier> <amount>` — Buy tokens from bonding curve (amount + 1% fee)
|
|
111
|
+
- `launchpad sell <identifier> <amount>` — Sell tokens to bonding curve ($0.01)
|
|
112
|
+
- `launchpad positions` — Get launchpad token positions (FREE)
|
|
113
|
+
- `create <name> <symbol>` — Create a new token on the 402.cat launchpad ($0.01)
|
|
114
|
+
|
|
115
|
+
**Shortcuts:** `list`, `info`, `buy`, `sell`, `positions`, `create`
|
|
116
|
+
|
|
117
|
+
### Entrypoints
|
|
118
|
+
|
|
119
|
+
- `swap <tokenIn> <tokenOut> <amount>` — Execute swaps via 402.cat DEX aggregator ($0.10)
|
|
120
|
+
|
|
121
|
+
### Tools
|
|
122
|
+
|
|
123
|
+
EVM development & interaction tools for building and working with blockchain transactions:
|
|
124
|
+
|
|
125
|
+
- `tools address` — Address utilities
|
|
126
|
+
- `tools address validate <address>` — Validate Ethereum address format ($0.001)
|
|
127
|
+
- `tools address checksum <address>` — Convert address to EIP-55 checksum format ($0.001)
|
|
128
|
+
- `tools address derive <privateKey>` — Derive address from private key ($0.001)
|
|
129
|
+
- `tools address balance <address>` — Get address balance (ETH + tokens) ($0.001)
|
|
130
|
+
- `tools abi` — ABI encoding/decoding utilities
|
|
131
|
+
- `tools abi encode` — Encode function call from ABI and arguments ($0.001)
|
|
132
|
+
- `tools abi decode` — Decode function result or event log ($0.001)
|
|
133
|
+
- `tools abi parse` — Parse ABI JSON and return structured format ($0.001)
|
|
134
|
+
- `tools tx` — Transaction utilities
|
|
135
|
+
- `tools tx build` — Build complete transaction with auto-filled fields ($0.001)
|
|
136
|
+
- `tools tx encode` — Encode transaction to RLP format ($0.001)
|
|
137
|
+
- `tools tx decode` — Decode RLP transaction ($0.001)
|
|
138
|
+
- `tools tx simulate` — Enhanced transaction simulation with state analysis ($0.001)
|
|
139
|
+
- `tools tx estimate-gas` — Estimate gas for transaction ($0.001)
|
|
140
|
+
- `tools tx prepare` — Prepare transaction for signing ($0.001)
|
|
141
|
+
- `tools signature` — Signature utilities
|
|
142
|
+
- `tools signature eip191` — Prepare EIP-191 personal sign message ($0.001)
|
|
143
|
+
- `tools signature eip712` — Prepare EIP-712 structured data signature ($0.001)
|
|
144
|
+
- `tools signature permit2` — Prepare Permit2 signature message ($0.001)
|
|
145
|
+
- `tools multicall` — Multicall operations
|
|
146
|
+
- `tools multicall encode` — Encode multicall operation ($0.001)
|
|
147
|
+
- `tools multicall decode` — Decode multicall results ($0.001)
|
|
148
|
+
- `tools nonce` — Nonce management
|
|
149
|
+
- `tools nonce get <address>` — Get current nonce for address ($0.001)
|
|
150
|
+
- `tools nonce predict <address>` — Predict next nonce accounting for pending transactions ($0.001)
|
|
151
|
+
- `tools gas` — Gas utilities
|
|
152
|
+
- `tools gas price` — Get current gas price ($0.001)
|
|
153
|
+
- `tools gas estimate` — Estimate gas for operation ($0.001)
|
|
154
|
+
- `tools gas optimize` — Optimize gas settings for transaction ($0.001)
|
|
155
|
+
- `tools key` — Key utilities
|
|
156
|
+
- `tools key derive <privateKey>` — Derive address from private key ($0.001)
|
|
157
|
+
- `tools key validate <privateKey>` — Validate private key format ($0.001)
|
|
158
|
+
- `tools rpc` — RPC utilities
|
|
159
|
+
- `tools rpc proxy` — Enhanced JSON-RPC proxy ($0.001)
|
|
160
|
+
- `tools rpc batch` — Batch multiple RPC calls ($0.001)
|
|
161
|
+
- `tools rpc health` — Check RPC endpoint health ($0.001)
|
|
162
|
+
- `tools call <url>` — Call an arbitrary x402-protected HTTP endpoint with automatic payment handling (varies by endpoint)
|
|
163
|
+
- `rpc` — JSON-RPC proxy for blockchain calls ($0.05)
|
|
164
|
+
|
|
165
|
+
### MCP
|
|
166
|
+
|
|
167
|
+
- `mcp install [llm-name]` — Install or update httpcat MCP server for AI assistants
|
|
168
|
+
- `mcp start` — Start MCP (Model Context Protocol) server
|
|
703
169
|
|
|
704
|
-
|
|
705
|
-
- Current price and market cap
|
|
706
|
-
- Graduation progress
|
|
707
|
-
- Your position (if you hold any)
|
|
708
|
-
- P&L calculation
|
|
170
|
+
### Configuration
|
|
709
171
|
|
|
710
|
-
|
|
172
|
+
- `config` — Configure httpcat (settings, environment, accounts)
|
|
173
|
+
- `config setup` — Run interactive setup wizard
|
|
174
|
+
- `config reset` — Reset configuration (clears all settings)
|
|
175
|
+
- `config completion [shell]` — Generate shell completion script
|
|
176
|
+
- `config update` — Update httpcat CLI to the latest version
|
|
177
|
+
- `use <value>` — Switch account or environment
|
|
711
178
|
|
|
712
|
-
###
|
|
179
|
+
### Infrastructure
|
|
713
180
|
|
|
714
|
-
|
|
181
|
+
- `accounts` — List all configured accounts
|
|
715
182
|
|
|
716
|
-
**
|
|
183
|
+
**Additional Shortcuts:** `transactions` (→ portfolio transactions), `health` (→ system health), `balances` (→ portfolio balances)
|
|
717
184
|
|
|
718
|
-
|
|
719
|
-
httpcat> list
|
|
720
|
-
httpcat> list --sort mcap --limit 10
|
|
721
|
-
httpcat> list --page 2
|
|
722
|
-
```
|
|
185
|
+
---
|
|
723
186
|
|
|
724
|
-
|
|
187
|
+
## x402 Protocol
|
|
725
188
|
|
|
726
|
-
|
|
727
|
-
httpcat list
|
|
728
|
-
httpcat list --sort created --limit 50
|
|
729
|
-
httpcat list --page 3 --sort name
|
|
730
|
-
```
|
|
189
|
+
httpcat is built on the [x402 protocol](https://x402.org) — HTTP-native micropayments that work without middleware or wallets.
|
|
731
190
|
|
|
732
|
-
**
|
|
191
|
+
**How it works:**
|
|
733
192
|
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
193
|
+
1. Make HTTP request to x402 endpoint
|
|
194
|
+
2. Receive `402 Payment Required` response
|
|
195
|
+
3. Generate payment signature using your private key
|
|
196
|
+
4. Retry request with `PAYMENT-SIGNATURE` header
|
|
197
|
+
5. Endpoint verifies payment and processes request
|
|
737
198
|
|
|
738
|
-
**
|
|
199
|
+
**No middleware required.** The protocol is built into HTTP. No wallet management. No complex setup. Just HTTP requests with payment headers.
|
|
739
200
|
|
|
740
|
-
|
|
201
|
+
httpcat handles all of this automatically. You just make requests.
|
|
741
202
|
|
|
742
|
-
|
|
203
|
+
**Protocol Versions:** httpcat supports both x402 v1 (payment requirements in response body) and v2 (payment requirements in `PAYMENT-REQUIRED` header). The client automatically detects and handles both formats.
|
|
743
204
|
|
|
744
|
-
|
|
205
|
+
---
|
|
745
206
|
|
|
746
|
-
|
|
747
|
-
httpcat> positions
|
|
748
|
-
```
|
|
207
|
+
## MCP Server
|
|
749
208
|
|
|
750
|
-
|
|
209
|
+
The MCP server exposes all CLI commands as tools for AI assistants:
|
|
751
210
|
|
|
752
211
|
```bash
|
|
753
|
-
httpcat
|
|
754
|
-
httpcat positions --active # Only active positions
|
|
755
|
-
httpcat positions --graduated # Only graduated positions
|
|
756
|
-
httpcat -j positions
|
|
757
|
-
httpcat -k 0x... positions
|
|
212
|
+
httpcat mcp install
|
|
758
213
|
```
|
|
759
214
|
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
- `-a, --active` - Show only active (non-graduated) positions
|
|
763
|
-
- `-g, --graduated` - Show only graduated positions (historical)
|
|
764
|
-
|
|
765
|
-
**Output:**
|
|
766
|
-
|
|
767
|
-
For each position:
|
|
768
|
-
|
|
769
|
-
- Token information (name, symbol, address, status, price, market cap, graduation progress)
|
|
770
|
-
- Position details (tokens owned, USDC invested, current value, average cost per token)
|
|
771
|
-
- Performance metrics (profit/loss in USDC and percentage ROI)
|
|
772
|
-
- Position age (days, hours, minutes, seconds since first purchase)
|
|
773
|
-
- Transaction history (total transaction count, last transaction date)
|
|
774
|
-
- Timestamps (position created and updated dates)
|
|
775
|
-
|
|
776
|
-
Portfolio summary:
|
|
777
|
-
|
|
778
|
-
- Total positions count
|
|
779
|
-
- Total portfolio value
|
|
780
|
-
- Total amount invested
|
|
781
|
-
- Total profit/loss and overall ROI percentage
|
|
782
|
-
|
|
783
|
-
**Cost:** $0.01 USDC
|
|
784
|
-
|
|
785
|
-
### Claim LP Fees
|
|
786
|
-
|
|
787
|
-
View and claim accumulated liquidity provider fees for graduated tokens.
|
|
788
|
-
|
|
789
|
-
**Interactive:**
|
|
215
|
+
Or start manually:
|
|
790
216
|
|
|
791
217
|
```bash
|
|
792
|
-
httpcat
|
|
793
|
-
httpcat> claim MTK # View by symbol
|
|
794
|
-
httpcat> claim MTK --execute # Claim fees
|
|
218
|
+
httpcat mcp start
|
|
795
219
|
```
|
|
796
220
|
|
|
797
|
-
**
|
|
221
|
+
**Configuration:**
|
|
798
222
|
|
|
799
|
-
```
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
httpcat
|
|
803
|
-
|
|
804
|
-
|
|
223
|
+
```json
|
|
224
|
+
{
|
|
225
|
+
"mcpServers": {
|
|
226
|
+
"httpcat": {
|
|
227
|
+
"command": "npx",
|
|
228
|
+
"args": ["-y", "httpcat-cli", "mcp", "start"]
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
805
232
|
```
|
|
806
233
|
|
|
807
|
-
**
|
|
808
|
-
|
|
809
|
-
- `-e, --execute` - Execute the claim transaction (default is view-only)
|
|
810
|
-
- `-A, --address <address>` - Caller address (defaults to wallet address)
|
|
234
|
+
**Note:** Private key is NOT included in MCP config — the server reads from `~/.config/httpcat/config.json` automatically.
|
|
811
235
|
|
|
812
|
-
|
|
236
|
+
Your agent can now:
|
|
813
237
|
|
|
814
|
-
-
|
|
238
|
+
- Use entrypoints (swap, launchpad, rpc)
|
|
239
|
+
- Use launchpad commands (create, buy, sell, list, info, positions)
|
|
240
|
+
- Discover and compose services
|
|
241
|
+
- Build capabilities
|
|
815
242
|
|
|
816
|
-
|
|
243
|
+
---
|
|
817
244
|
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
- Total accumulated fees (tokens and USDC)
|
|
821
|
-
- Creator share (80%)
|
|
822
|
-
- Platform share (20%)
|
|
823
|
-
- LP lock status and details
|
|
824
|
-
- V4 position details (if applicable)
|
|
245
|
+
## Global Options
|
|
825
246
|
|
|
826
|
-
|
|
247
|
+
- `-j, --json` — JSON output for scripting
|
|
248
|
+
- `-q, --quiet` — Minimal output
|
|
249
|
+
- `-v, --verbose` — Verbose errors
|
|
250
|
+
- `--no-art` — Disable ASCII art
|
|
251
|
+
- `-k, --private-key <key>` — Override private key
|
|
252
|
+
- `-a, --account <index>` — Use specific account
|
|
827
253
|
|
|
828
|
-
|
|
829
|
-
- Fees claimed (tokens and USDC)
|
|
830
|
-
- Creator and platform shares distribution
|
|
254
|
+
---
|
|
831
255
|
|
|
832
|
-
|
|
256
|
+
## Documentation
|
|
833
257
|
|
|
834
|
-
|
|
258
|
+
For detailed documentation, entrypoint reference, and deployment guides:
|
|
835
259
|
|
|
836
|
-
|
|
260
|
+
**📖 [docs.402.cat](https://www.402.cat/docs)**
|
|
837
261
|
|
|
838
|
-
|
|
262
|
+
---
|
|
839
263
|
|
|
840
|
-
|
|
841
|
-
httpcat> transactions
|
|
842
|
-
httpcat> transactions --type buy
|
|
843
|
-
httpcat> transactions --token abc123-...
|
|
844
|
-
```
|
|
264
|
+
## The Foundation
|
|
845
265
|
|
|
846
|
-
|
|
266
|
+
httpcat is built on three primitives:
|
|
847
267
|
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
httpcat transactions --token abc123-... --type buy
|
|
852
|
-
httpcat transactions --type sell --limit 20
|
|
853
|
-
httpcat --json transactions --offset 50
|
|
854
|
-
```
|
|
268
|
+
1. **x402 Protocol** — HTTP-native micropayments, no middleware
|
|
269
|
+
2. **Entrypoint Registry** — Discoverable, composable services
|
|
270
|
+
3. **Automatic Payments** — Payment signatures handled automatically
|
|
855
271
|
|
|
856
|
-
|
|
272
|
+
This is the infrastructure that lets agents transact without wallets, discover services without APIs, and build capabilities by composing entrypoints.
|
|
857
273
|
|
|
858
|
-
|
|
859
|
-
- `-t, --token <tokenId>` - Filter by token ID
|
|
860
|
-
- `-T, --type <type>` - Filter by type: `buy`, `sell`, or `airdrop`
|
|
861
|
-
- `-l, --limit <number>` - Number of results (default: 50, max: 100)
|
|
862
|
-
- `-o, --offset <number>` - Pagination offset (default: 0)
|
|
274
|
+
**Money is the alignment mechanism.** An agent with a budget has to prioritize. Every action costs something. Run out of funds, you stop. Make bad decisions, you go broke.
|
|
863
275
|
|
|
864
|
-
|
|
276
|
+
The constraint is what makes it work.
|
|
865
277
|
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
- Transaction type (buy, sell, or airdrop)
|
|
869
|
-
- Status (pending, success, or failed)
|
|
870
|
-
- Token information (name, symbol, ID)
|
|
871
|
-
- User address
|
|
872
|
-
- Amount and fee
|
|
873
|
-
- Transaction hash
|
|
874
|
-
- Date/time
|
|
875
|
-
|
|
876
|
-
**Cost:** Varies based on API call
|
|
877
|
-
|
|
878
|
-
**Note:** Defaults to showing transactions for your active account. Use `--user` to view transactions for a different address.
|
|
879
|
-
|
|
880
|
-
### Check Balances
|
|
881
|
-
|
|
882
|
-
Check your wallet's ETH and USDC balances.
|
|
883
|
-
|
|
884
|
-
**Interactive:**
|
|
885
|
-
|
|
886
|
-
```bash
|
|
887
|
-
httpcat> balances
|
|
888
|
-
```
|
|
889
|
-
|
|
890
|
-
**CLI:**
|
|
891
|
-
|
|
892
|
-
```bash
|
|
893
|
-
httpcat balances
|
|
894
|
-
httpcat balances -k 0x...
|
|
895
|
-
```
|
|
896
|
-
|
|
897
|
-
**Output:**
|
|
898
|
-
|
|
899
|
-
- Wallet address
|
|
900
|
-
- ETH balance (for gas fees)
|
|
901
|
-
- USDC balance (for trading)
|
|
902
|
-
- CAT balance (402CAT token)
|
|
903
|
-
- Low balance warnings if applicable
|
|
904
|
-
|
|
905
|
-
**Cost:** Free (no payment required)
|
|
906
|
-
|
|
907
|
-
**Note:** If no private key is configured, you'll be prompted to enter it interactively (same as other commands).
|
|
908
|
-
|
|
909
|
-
### Account Management
|
|
910
|
-
|
|
911
|
-
Manage multiple accounts, view account information, and switch between accounts.
|
|
912
|
-
|
|
913
|
-
**Interactive:**
|
|
914
|
-
|
|
915
|
-
```bash
|
|
916
|
-
httpcat> account # Show active account info
|
|
917
|
-
httpcat> account list # List all accounts
|
|
918
|
-
httpcat> account switch 1 # Switch to account 1
|
|
919
|
-
httpcat> account add # Add new account
|
|
920
|
-
```
|
|
921
|
-
|
|
922
|
-
**CLI:**
|
|
923
|
-
|
|
924
|
-
```bash
|
|
925
|
-
httpcat account # Show active account
|
|
926
|
-
httpcat account list # List all accounts
|
|
927
|
-
httpcat account switch 1 # Switch to account 1
|
|
928
|
-
httpcat account add # Add new account
|
|
929
|
-
httpcat --account 2 positions # Use account 2 for positions
|
|
930
|
-
httpcat -a 1 buy MTK 0.10 # Use account 1 for buy
|
|
931
|
-
httpcat --json account
|
|
932
|
-
```
|
|
933
|
-
|
|
934
|
-
**Subcommands:**
|
|
935
|
-
|
|
936
|
-
- `account` (no args) - Display active account information (address, balances, positions)
|
|
937
|
-
- `account list` - List all configured accounts with their details
|
|
938
|
-
- `account switch <index>` - Switch to a different account by index
|
|
939
|
-
- `account add` - Add a new seed-derived account (HD wallet)
|
|
940
|
-
|
|
941
|
-
**Account Types:**
|
|
942
|
-
|
|
943
|
-
1. **Seed-Derived** (Account 1+) - Accounts generated from your seed phrase using BIP-32/BIP-39
|
|
944
|
-
2. **Custom** (Account 0) - Account added via private key import
|
|
945
|
-
|
|
946
|
-
**Output:**
|
|
947
|
-
|
|
948
|
-
Account information includes:
|
|
949
|
-
|
|
950
|
-
- Account index and type (Seed-Derived or Custom)
|
|
951
|
-
- Wallet address (checksummed)
|
|
952
|
-
- ETH balance (for gas fees)
|
|
953
|
-
- USDC balance (for trading)
|
|
954
|
-
- CAT balance (402CAT token)
|
|
955
|
-
- All positions (if any) with P&L
|
|
956
|
-
|
|
957
|
-
**Cost:** $0.01 USDC (for positions data; balances are free)
|
|
958
|
-
|
|
959
|
-
**Security Note:** All accounts share the same password protection when password is enabled. Switch accounts anytime using the `--account` flag or `account switch` command.
|
|
960
|
-
|
|
961
|
-
### Health Check
|
|
962
|
-
|
|
963
|
-
Check if the agent is running.
|
|
964
|
-
|
|
965
|
-
**Interactive:**
|
|
966
|
-
|
|
967
|
-
```bash
|
|
968
|
-
httpcat> health
|
|
969
|
-
```
|
|
970
|
-
|
|
971
|
-
**CLI:**
|
|
972
|
-
|
|
973
|
-
```bash
|
|
974
|
-
httpcat health
|
|
975
|
-
```
|
|
976
|
-
|
|
977
|
-
**Cost:** $0.0001 USDC (or 402 response)
|
|
978
|
-
|
|
979
|
-
### Call x402 Endpoint
|
|
980
|
-
|
|
981
|
-
Call an arbitrary x402-protected HTTP endpoint with automatic payment handling. This allows you to interact with any x402-enabled API, not just the httpcat agent.
|
|
982
|
-
|
|
983
|
-
**CLI:**
|
|
984
|
-
|
|
985
|
-
```bash
|
|
986
|
-
# POST request with JSON body
|
|
987
|
-
httpcat call https://example.com/api/endpoint --method POST --body '{"key": "value"}'
|
|
988
|
-
|
|
989
|
-
# GET request
|
|
990
|
-
httpcat call https://example.com/api/endpoint --method GET
|
|
991
|
-
|
|
992
|
-
# POST with body from stdin
|
|
993
|
-
echo '{"data": "test"}' | httpcat call https://example.com/api/endpoint --body -
|
|
994
|
-
|
|
995
|
-
# With custom headers
|
|
996
|
-
httpcat call https://example.com/api/endpoint \
|
|
997
|
-
--header "X-Custom-Header: value" \
|
|
998
|
-
--header "Authorization: Bearer token"
|
|
999
|
-
```
|
|
1000
|
-
|
|
1001
|
-
**Options:**
|
|
1002
|
-
|
|
1003
|
-
- `<url>` (required) - The full URL of the x402 endpoint
|
|
1004
|
-
- `-m, --method <method>` - HTTP method: GET, POST, PUT, DELETE, or PATCH (default: POST)
|
|
1005
|
-
- `-b, --body <body>` - Request body as JSON string, or `-` to read from stdin
|
|
1006
|
-
- `-H, --header <header>` - Additional HTTP headers (format: "Key: Value"), can be specified multiple times
|
|
1007
|
-
- `-k, --private-key <key>` - Override private key (optional)
|
|
1008
|
-
|
|
1009
|
-
**Response:**
|
|
1010
|
-
|
|
1011
|
-
The command returns:
|
|
1012
|
-
|
|
1013
|
-
- HTTP status code and status text
|
|
1014
|
-
- Response headers
|
|
1015
|
-
- Response body (parsed as JSON if possible, otherwise raw text)
|
|
1016
|
-
|
|
1017
|
-
**Payment:**
|
|
1018
|
-
|
|
1019
|
-
The command automatically handles x402 payment flows. If the endpoint requires payment, the command will:
|
|
1020
|
-
|
|
1021
|
-
1. Receive a 402 Payment Required response
|
|
1022
|
-
2. Generate a payment signature
|
|
1023
|
-
3. Retry the request with the payment header
|
|
1024
|
-
4. Return the final response
|
|
1025
|
-
|
|
1026
|
-
**Cost:** Varies by endpoint (determined by the x402 endpoint you're calling)
|
|
1027
|
-
|
|
1028
|
-
**Examples:**
|
|
1029
|
-
|
|
1030
|
-
```bash
|
|
1031
|
-
# Call a paid API endpoint
|
|
1032
|
-
httpcat call https://api.example.com/compute --method POST --body '{"input": "data"}'
|
|
1033
|
-
|
|
1034
|
-
# Make a GET request
|
|
1035
|
-
httpcat call https://api.example.com/status --method GET
|
|
1036
|
-
|
|
1037
|
-
# Pipe JSON from file
|
|
1038
|
-
cat request.json | httpcat call https://api.example.com/process --body -
|
|
1039
|
-
|
|
1040
|
-
# With authentication header
|
|
1041
|
-
httpcat call https://api.example.com/protected \
|
|
1042
|
-
--header "Authorization: Bearer your-token" \
|
|
1043
|
-
--method GET
|
|
1044
|
-
```
|
|
1045
|
-
|
|
1046
|
-
### Chat
|
|
1047
|
-
|
|
1048
|
-
Start streaming chat with the httpcat community. Join general chat or token-specific discussions.
|
|
1049
|
-
|
|
1050
|
-
**Interactive:**
|
|
1051
|
-
|
|
1052
|
-
```bash
|
|
1053
|
-
httpcat> chat # Join general chat
|
|
1054
|
-
httpcat> chat MTK # Join chat for token with symbol "MTK"
|
|
1055
|
-
httpcat> chat "My Token" # Join chat for token with name "My Token"
|
|
1056
|
-
httpcat> chat 0x1234... # Join chat for token at address
|
|
1057
|
-
```
|
|
1058
|
-
|
|
1059
|
-
**CLI:**
|
|
1060
|
-
|
|
1061
|
-
```bash
|
|
1062
|
-
httpcat chat
|
|
1063
|
-
httpcat chat MTK
|
|
1064
|
-
httpcat chat "My Token"
|
|
1065
|
-
httpcat chat 0x1234...
|
|
1066
|
-
httpcat -j chat MTK
|
|
1067
|
-
httpcat -j -f stream-json chat MTK # Structured JSON input
|
|
1068
|
-
```
|
|
1069
|
-
|
|
1070
|
-
**Token Identifier:**
|
|
1071
|
-
|
|
1072
|
-
- Token symbol: `MTK` (case-insensitive)
|
|
1073
|
-
- Token name: `"My Token"` (use quotes if it contains spaces)
|
|
1074
|
-
- Token address: `0x1234...`
|
|
1075
|
-
|
|
1076
|
-
**In-Chat Commands:**
|
|
1077
|
-
|
|
1078
|
-
While in a chat session, you can use these commands:
|
|
1079
|
-
|
|
1080
|
-
- `/exit` or `/quit` - Exit the chat
|
|
1081
|
-
- `/renew` - Renew your 10-minute lease
|
|
1082
|
-
- `/buy <amount>` - Buy tokens (token-specific chats only)
|
|
1083
|
-
- `/sell <amount>` - Sell tokens (token-specific chats only)
|
|
1084
|
-
- `/help` - Show available commands
|
|
1085
|
-
|
|
1086
|
-
**Examples:**
|
|
1087
|
-
|
|
1088
|
-
```
|
|
1089
|
-
/renew
|
|
1090
|
-
/buy 0.10
|
|
1091
|
-
/sell 50%
|
|
1092
|
-
/sell all
|
|
1093
|
-
```
|
|
1094
|
-
|
|
1095
|
-
**Note:** The `/buy` and `/sell` commands are only available in token-specific chats, not in general chat.
|
|
1096
|
-
|
|
1097
|
-
**Options:**
|
|
1098
|
-
|
|
1099
|
-
- `-f, --input-format <format>` - Input format (only works with `--json`): `"text"` (default) or `"stream-json"` (realtime streaming input)
|
|
1100
|
-
- `"text"`: Line-delimited text input (default)
|
|
1101
|
-
- `"stream-json"`: Newline-delimited JSON (NDJSON) objects. Each line is a JSON object: `{"message": "text"}` or `{"command": "/renew"}`
|
|
1102
|
-
|
|
1103
|
-
**Cost:** $0.01 USDC to join, $0.0001 USDC per message, 10 minute lease
|
|
1104
|
-
|
|
1105
|
-
**Note:** For AI agents, consider using MCP tools (`chat_join`, `chat_send_message`, etc.) instead of CLI streaming for better integration. See [MCP Chat Tools](#chat-tools-usage-example) section.
|
|
1106
|
-
|
|
1107
|
-
### Cat (Interactive AI Assistant)
|
|
1108
|
-
|
|
1109
|
-
Interact with an AI-powered assistant that can help you with token operations, portfolio management, and more using natural language.
|
|
1110
|
-
|
|
1111
|
-
**Interactive:**
|
|
1112
|
-
|
|
1113
|
-
```bash
|
|
1114
|
-
httpcat> cat
|
|
1115
|
-
# Starts interactive AI chat session
|
|
1116
|
-
# Type /exit to quit
|
|
1117
|
-
```
|
|
1118
|
-
|
|
1119
|
-
**Usage:**
|
|
1120
|
-
|
|
1121
|
-
The `cat` command starts an interactive AI assistant session where you can ask questions and give trading commands in natural language. The assistant will execute operations on your behalf.
|
|
1122
|
-
|
|
1123
|
-
**First-Time Setup:**
|
|
1124
|
-
|
|
1125
|
-
Before using the cat command, you'll need to configure your AI provider:
|
|
1126
|
-
|
|
1127
|
-
```bash
|
|
1128
|
-
httpcat config
|
|
1129
|
-
```
|
|
1130
|
-
|
|
1131
|
-
During setup, you'll be prompted to:
|
|
1132
|
-
|
|
1133
|
-
- Choose an AI provider (OpenAI or Anthropic)
|
|
1134
|
-
- Enter your API key
|
|
1135
|
-
- Select a model (defaults provided)
|
|
1136
|
-
|
|
1137
|
-
**How It Works:**
|
|
1138
|
-
|
|
1139
|
-
The cat assistant uses AI (powered by OpenAI GPT-4 or Anthropic Claude) to understand natural language requests and execute token operations on your behalf. It can:
|
|
1140
|
-
|
|
1141
|
-
- Buy and sell tokens
|
|
1142
|
-
- Check balances and positions
|
|
1143
|
-
- List tokens
|
|
1144
|
-
- Get token information
|
|
1145
|
-
- Answer questions about your portfolio
|
|
1146
|
-
- And more!
|
|
1147
|
-
|
|
1148
|
-
**Note:** The cat requires an API key from either OpenAI or Anthropic. Your API key is stored locally and encrypted, and is only sent to the LLM provider - never to any other server.
|
|
1149
|
-
|
|
1150
|
-
### Agent (Autonomous Trading)
|
|
1151
|
-
|
|
1152
|
-
Configure and run an autonomous trading agent that monitors token events and makes trading decisions based on your risk parameters.
|
|
1153
|
-
|
|
1154
|
-
**Interactive:**
|
|
1155
|
-
|
|
1156
|
-
```bash
|
|
1157
|
-
httpcat> agent setup # Configure autonomous trading settings
|
|
1158
|
-
```
|
|
1159
|
-
|
|
1160
|
-
**CLI:**
|
|
1161
|
-
|
|
1162
|
-
```bash
|
|
1163
|
-
httpcat agent setup
|
|
1164
|
-
```
|
|
1165
|
-
|
|
1166
|
-
**Configuration Options:**
|
|
1167
|
-
|
|
1168
|
-
When setting up the autonomous agent, you can configure:
|
|
1169
|
-
|
|
1170
|
-
- **Max Trade Amount** - Maximum USDC per trade
|
|
1171
|
-
- **Risk Tolerance** - Conservative, moderate, or aggressive
|
|
1172
|
-
- **Token Filters** - Minimum holders, max whale percentage, min liquidity
|
|
1173
|
-
- **Trading Thresholds** - Stop loss and take profit percentages
|
|
1174
|
-
- **Auto-Execute** - Enable automatic trade execution or recommendation-only mode
|
|
1175
|
-
|
|
1176
|
-
**How It Works:**
|
|
1177
|
-
|
|
1178
|
-
The autonomous agent:
|
|
1179
|
-
|
|
1180
|
-
1. Monitors real-time token events via event stream
|
|
1181
|
-
2. Analyzes tokens based on your configured filters and risk parameters
|
|
1182
|
-
3. Makes trading decisions using AI reasoning
|
|
1183
|
-
4. Either executes trades automatically or provides recommendations (based on your settings)
|
|
1184
|
-
5. Tracks positions and maintains a decision history database
|
|
1185
|
-
|
|
1186
|
-
**Note:** The autonomous agent requires AI provider configuration (same as the `cat` command). Always start with recommendation-only mode before enabling auto-execution.
|
|
1187
|
-
|
|
1188
|
-
### Help
|
|
1189
|
-
|
|
1190
|
-
Display help information for httpcat.
|
|
1191
|
-
|
|
1192
|
-
**CLI:**
|
|
1193
|
-
|
|
1194
|
-
```bash
|
|
1195
|
-
httpcat help
|
|
1196
|
-
httpcat --help
|
|
1197
|
-
httpcat -h
|
|
1198
|
-
```
|
|
1199
|
-
|
|
1200
|
-
All three commands show the same help output with available commands and options.
|
|
1201
|
-
|
|
1202
|
-
### Configuration
|
|
1203
|
-
|
|
1204
|
-
Manage your httpcat configuration.
|
|
1205
|
-
|
|
1206
|
-
**Interactive:**
|
|
1207
|
-
|
|
1208
|
-
```bash
|
|
1209
|
-
httpcat> config -s # Show current config
|
|
1210
|
-
httpcat> config -S network=base # Update a setting
|
|
1211
|
-
httpcat> config -r # Re-run setup wizard
|
|
1212
|
-
```
|
|
1213
|
-
|
|
1214
|
-
**CLI:**
|
|
1215
|
-
|
|
1216
|
-
```bash
|
|
1217
|
-
httpcat config # Run setup wizard
|
|
1218
|
-
httpcat config -s # Show current config (JSON)
|
|
1219
|
-
httpcat config -S network=base # Update a setting
|
|
1220
|
-
```
|
|
1221
|
-
|
|
1222
|
-
### Sign
|
|
1223
|
-
|
|
1224
|
-
Cryptographic signing operations for messages, files, transactions, and structured data.
|
|
1225
|
-
|
|
1226
|
-
**Interactive:**
|
|
1227
|
-
|
|
1228
|
-
```bash
|
|
1229
|
-
httpcat> sign # Enter interactive signing mode
|
|
1230
|
-
```
|
|
1231
|
-
|
|
1232
|
-
**CLI:**
|
|
1233
|
-
|
|
1234
|
-
```bash
|
|
1235
|
-
# Sign a message (EIP-191)
|
|
1236
|
-
httpcat sign message "Hello, world!"
|
|
1237
|
-
httpcat sign message --file message.txt
|
|
1238
|
-
echo "Hello" | httpcat sign message --stdin
|
|
1239
|
-
|
|
1240
|
-
# Sign a file
|
|
1241
|
-
httpcat sign file document.pdf
|
|
1242
|
-
httpcat sign file document.pdf --hash-algorithm keccak256
|
|
1243
|
-
|
|
1244
|
-
# Sign a transaction
|
|
1245
|
-
httpcat sign transaction '{"to":"0x...","value":"1000000000000000000"}'
|
|
1246
|
-
|
|
1247
|
-
# Sign EIP-712 structured data
|
|
1248
|
-
httpcat sign eip712 --domain '{"name":"MyApp"}' --types '{}' --message '{}'
|
|
1249
|
-
|
|
1250
|
-
# Sign Permit2 authorization
|
|
1251
|
-
httpcat sign permit2 --token 0x... --amount 1000000 --spender 0x...
|
|
1252
|
-
|
|
1253
|
-
# Batch sign multiple items
|
|
1254
|
-
httpcat sign batch '{"messages":["Hello","World"],"files":["doc1.pdf","doc2.pdf"]}'
|
|
1255
|
-
|
|
1256
|
-
# Verify a signature
|
|
1257
|
-
httpcat sign verify --signature 0x... --message "Hello, world!"
|
|
1258
|
-
```
|
|
1259
|
-
|
|
1260
|
-
**Subcommands:**
|
|
1261
|
-
|
|
1262
|
-
- `sign message [message]` - Sign a message using EIP-191 personal sign
|
|
1263
|
-
- `sign file <path>` - Sign a file (hash + EIP-191 signature)
|
|
1264
|
-
- `sign transaction <tx-json>` - Sign a transaction (EIP-155)
|
|
1265
|
-
- `sign eip712` - Sign EIP-712 structured data
|
|
1266
|
-
- `sign permit2` - Sign Permit2 token authorization
|
|
1267
|
-
- `sign batch <batch-json>` - Batch sign multiple messages/files
|
|
1268
|
-
- `sign verify` - Verify a signature
|
|
1269
|
-
|
|
1270
|
-
**Options:**
|
|
1271
|
-
|
|
1272
|
-
- `--file <path>` - Read message from file (message subcommand)
|
|
1273
|
-
- `--stdin` - Read message from stdin (message subcommand)
|
|
1274
|
-
- `--output <file>` - Save signature to file
|
|
1275
|
-
- `--format <hex|rsv|compact>` - Signature format (default: hex)
|
|
1276
|
-
- `--hash-algorithm <sha256|keccak256>` - Hash algorithm for files (default: sha256)
|
|
1277
|
-
- `--verify` - Verify signature after signing
|
|
1278
|
-
- `--nonce <nonce>` - Nonce for Permit2 (auto-generated if not provided)
|
|
1279
|
-
- `--deadline <timestamp>` - Deadline for Permit2 (auto-generated if not provided)
|
|
1280
|
-
|
|
1281
|
-
**Examples:**
|
|
1282
|
-
|
|
1283
|
-
```bash
|
|
1284
|
-
# Sign a message and verify
|
|
1285
|
-
httpcat sign message "Hello, world!" --verify
|
|
1286
|
-
|
|
1287
|
-
# Sign a file and save to output file
|
|
1288
|
-
httpcat sign file document.pdf --output signature.json
|
|
1289
|
-
|
|
1290
|
-
# Sign with different format
|
|
1291
|
-
httpcat sign message "Test" --format rsv
|
|
1292
|
-
|
|
1293
|
-
# Sign Permit2 with auto-generated nonce and deadline
|
|
1294
|
-
httpcat sign permit2 --token 0x... --amount 1000000 --spender 0x...
|
|
1295
|
-
|
|
1296
|
-
# Verify an EIP-712 signature
|
|
1297
|
-
httpcat sign verify --signature 0x... --message '{}' --type eip712 \
|
|
1298
|
-
--domain '{"name":"MyApp"}' --types '{}' --primary-type Message
|
|
1299
|
-
```
|
|
1300
|
-
|
|
1301
|
-
**Cost:** $0.001 USDC per signature preparation (signing is done locally)
|
|
1302
|
-
|
|
1303
|
-
**Note:** Signatures are created locally using your private key. The backend only prepares the signature data; actual signing happens client-side for security.
|
|
1304
|
-
|
|
1305
|
-
## Command Groups
|
|
1306
|
-
|
|
1307
|
-
httpcat organizes commands into logical groups for better discoverability. Many commands are available both as top-level commands (for backward compatibility) and as grouped commands.
|
|
1308
|
-
|
|
1309
|
-
### Launchpad (`launchpad` or `lp`)
|
|
1310
|
-
|
|
1311
|
-
Token creation and trading on the bonding curve.
|
|
1312
|
-
|
|
1313
|
-
**Subcommands:**
|
|
1314
|
-
|
|
1315
|
-
- `launchpad create <name> <symbol>` - Create a new token ($0.01)
|
|
1316
|
-
- `launchpad buy <identifier> <amount>` - Buy tokens (amount + 1% fee)
|
|
1317
|
-
- `launchpad sell <identifier> <amount|percentage|all>` - Sell tokens (1% fee)
|
|
1318
|
-
- `launchpad list` - List all tokens ($0.0001)
|
|
1319
|
-
- `launchpad info <identifier>` - Get token information ($0.0001)
|
|
1320
|
-
- `launchpad positions` - Get all positions ($0.01)
|
|
1321
|
-
- `launchpad fees view <identifier>` - View LP fees (FREE)
|
|
1322
|
-
- `launchpad fees claim <identifier> --execute` - Claim LP fees (gas fees)
|
|
1323
|
-
|
|
1324
|
-
**Examples:**
|
|
1325
|
-
|
|
1326
|
-
```bash
|
|
1327
|
-
httpcat launchpad create "My Token" "MTK"
|
|
1328
|
-
httpcat launchpad buy MTK 0.10
|
|
1329
|
-
httpcat launchpad sell MTK 50%
|
|
1330
|
-
httpcat launchpad list --sort mcap
|
|
1331
|
-
httpcat launchpad info MTK
|
|
1332
|
-
httpcat launchpad positions --active
|
|
1333
|
-
httpcat launchpad fees view MTK
|
|
1334
|
-
httpcat launchpad fees claim MTK --execute
|
|
1335
|
-
```
|
|
1336
|
-
|
|
1337
|
-
**Alias:** `lp` (e.g., `httpcat lp create "Token" "TKN"`)
|
|
1338
|
-
|
|
1339
|
-
**Note:** Top-level commands `create`, `buy`, `sell`, `list`, `info`, `positions`, and `claim` are deprecated but still work. Use the `launchpad` group for new scripts.
|
|
1340
|
-
|
|
1341
|
-
### Portfolio (`portfolio` or `pf`)
|
|
1342
|
-
|
|
1343
|
-
Portfolio management and financial data.
|
|
1344
|
-
|
|
1345
|
-
**Subcommands:**
|
|
1346
|
-
|
|
1347
|
-
- `portfolio balances` - Check wallet balances (FREE)
|
|
1348
|
-
- `portfolio positions` - Get all positions across products (FREE)
|
|
1349
|
-
- `portfolio summary` - Portfolio overview ($0.01)
|
|
1350
|
-
- `portfolio pnl` - Profit and loss analysis ($0.01)
|
|
1351
|
-
- `portfolio transactions` - Transaction history (varies)
|
|
1352
|
-
|
|
1353
|
-
**Examples:**
|
|
1354
|
-
|
|
1355
|
-
```bash
|
|
1356
|
-
httpcat portfolio balances
|
|
1357
|
-
httpcat portfolio positions --active
|
|
1358
|
-
httpcat portfolio summary
|
|
1359
|
-
httpcat portfolio pnl --timeframe 7d
|
|
1360
|
-
httpcat portfolio transactions --type buy
|
|
1361
|
-
```
|
|
1362
|
-
|
|
1363
|
-
**Alias:** `pf` (e.g., `httpcat pf balances`)
|
|
1364
|
-
|
|
1365
|
-
**Note:** Top-level `balances`, `positions`, and `transactions` commands are deprecated but still work.
|
|
1366
|
-
|
|
1367
|
-
### Trade (`trade` or `t`)
|
|
1368
|
-
|
|
1369
|
-
Trading operations including swaps, perps, and predictions.
|
|
1370
|
-
|
|
1371
|
-
**Subcommands:**
|
|
1372
|
-
|
|
1373
|
-
- `trade swap <tokenIn> <tokenOut> <amount>` - Token swap ($0.10 standard, $1.00 shielded)
|
|
1374
|
-
- `trade perps markets` - Perpetual futures markets ($0.01)
|
|
1375
|
-
- `trade perps onboard` - Onboard to perps venues (FREE)
|
|
1376
|
-
- `trade perps deposit <amount>` - Deposit to perps (FREE)
|
|
1377
|
-
- `trade perps trade <market> <side> <sizeUsd> <leverage>` - Trade perps ($0.05)
|
|
1378
|
-
- `trade perps positions` - View perps positions ($0.01)
|
|
1379
|
-
- `trade predictions markets` - Prediction markets ($0.01)
|
|
1380
|
-
- `trade predictions market <marketId>` - Market details ($0.01)
|
|
1381
|
-
- `trade predictions search <query>` - Search markets ($0.01)
|
|
1382
|
-
- `trade predictions bet <marketId> <outcomeId> <amountUsd>` - Place bet ($0.05)
|
|
1383
|
-
|
|
1384
|
-
**Examples:**
|
|
1385
|
-
|
|
1386
|
-
```bash
|
|
1387
|
-
httpcat trade swap USDC WETH 1.0
|
|
1388
|
-
httpcat trade swap USDC WETH 1.0 --shielded
|
|
1389
|
-
httpcat trade perps markets
|
|
1390
|
-
httpcat trade perps trade ETH-USD long 100 10
|
|
1391
|
-
httpcat trade predictions markets
|
|
1392
|
-
httpcat trade predictions bet polymarket:abc123 outcome1 10
|
|
1393
|
-
```
|
|
1394
|
-
|
|
1395
|
-
**Alias:** `t` (e.g., `httpcat t swap USDC WETH 1.0`)
|
|
1396
|
-
|
|
1397
|
-
**Note:** The `trade` group is a container. Perps and predictions are also available as top-level commands (`httpcat perps`, `httpcat predictions`). Swaps are available as top-level `httpcat swap`.
|
|
1398
|
-
|
|
1399
|
-
### System (`system` or `sys`)
|
|
1400
|
-
|
|
1401
|
-
System operations and health checks.
|
|
1402
|
-
|
|
1403
|
-
**Subcommands:**
|
|
1404
|
-
|
|
1405
|
-
- `system health` - Check system health (FREE)
|
|
1406
|
-
- `system status` - Get system status ($0.001)
|
|
1407
|
-
- `system limits` - Display API rate limits (FREE)
|
|
1408
|
-
- `system sources` - List data sources (FREE)
|
|
1409
|
-
|
|
1410
|
-
**Examples:**
|
|
1411
|
-
|
|
1412
|
-
```bash
|
|
1413
|
-
httpcat system health
|
|
1414
|
-
httpcat system status
|
|
1415
|
-
httpcat system limits
|
|
1416
|
-
httpcat system sources
|
|
1417
|
-
```
|
|
1418
|
-
|
|
1419
|
-
**Alias:** `sys` (e.g., `httpcat sys health`)
|
|
1420
|
-
|
|
1421
|
-
**Note:** Top-level `health` command is deprecated but still works.
|
|
1422
|
-
|
|
1423
|
-
### Tools (`tools`)
|
|
1424
|
-
|
|
1425
|
-
EVM development and interaction utilities.
|
|
1426
|
-
|
|
1427
|
-
**Subcommands:**
|
|
1428
|
-
|
|
1429
|
-
#### Address Utilities
|
|
1430
|
-
|
|
1431
|
-
- `tools address validate <address>` - Validate Ethereum address (FREE)
|
|
1432
|
-
- `tools address checksum <address>` - Convert to checksummed format (FREE)
|
|
1433
|
-
- `tools address derive <seed> <index>` - Derive address from seed (FREE)
|
|
1434
|
-
- `tools address balance <address>` - Get address balance (FREE)
|
|
1435
|
-
|
|
1436
|
-
#### ABI Utilities
|
|
1437
|
-
|
|
1438
|
-
- `tools abi encode <abi> <function> <args...>` - Encode function call (FREE)
|
|
1439
|
-
- `tools abi decode <abi> <function> <data>` - Decode function result (FREE)
|
|
1440
|
-
- `tools abi parse <abi>` - Parse and validate ABI (FREE)
|
|
1441
|
-
|
|
1442
|
-
#### Transaction Utilities
|
|
1443
|
-
|
|
1444
|
-
- `tools tx build <tx-json>` - Build transaction (FREE)
|
|
1445
|
-
- `tools tx encode <tx-json>` - Encode transaction (FREE)
|
|
1446
|
-
- `tools tx decode <tx-hex>` - Decode transaction (FREE)
|
|
1447
|
-
- `tools tx simulate <tx-json>` - Simulate transaction ($0.001)
|
|
1448
|
-
- `tools tx estimate-gas <tx-json>` - Estimate gas ($0.001)
|
|
1449
|
-
- `tools tx prepare <tx-json>` - Prepare transaction for signing (FREE)
|
|
1450
|
-
|
|
1451
|
-
#### Signature Utilities
|
|
1452
|
-
|
|
1453
|
-
- `tools signature eip191 <message>` - EIP-191 signature (FREE)
|
|
1454
|
-
- `tools signature eip712 <domain> <types> <message>` - EIP-712 signature (FREE)
|
|
1455
|
-
- `tools signature permit2 <token> <amount> <spender>` - Permit2 signature (FREE)
|
|
1456
|
-
|
|
1457
|
-
#### Multicall Utilities
|
|
1458
|
-
|
|
1459
|
-
- `tools multicall encode <calls-json>` - Encode multicall (FREE)
|
|
1460
|
-
- `tools multicall decode <data>` - Decode multicall result (FREE)
|
|
1461
|
-
|
|
1462
|
-
#### Nonce Utilities
|
|
1463
|
-
|
|
1464
|
-
- `tools nonce get <address>` - Get current nonce (FREE)
|
|
1465
|
-
- `tools nonce predict <address>` - Predict next nonce (FREE)
|
|
1466
|
-
|
|
1467
|
-
#### Gas Utilities
|
|
1468
|
-
|
|
1469
|
-
- `tools gas price` - Get current gas price (FREE)
|
|
1470
|
-
- `tools gas estimate <tx-json>` - Estimate gas for transaction ($0.001)
|
|
1471
|
-
- `tools gas optimize <tx-json>` - Optimize gas settings (FREE)
|
|
1472
|
-
|
|
1473
|
-
#### x402 Endpoint Call
|
|
1474
|
-
|
|
1475
|
-
- `tools call <endpoint> [options]` - Call arbitrary x402 endpoint (varies)
|
|
1476
|
-
|
|
1477
|
-
**Examples:**
|
|
1478
|
-
|
|
1479
|
-
```bash
|
|
1480
|
-
httpcat tools address validate 0x1234...
|
|
1481
|
-
httpcat tools abi encode '[{"inputs":...}]' transfer 0x... 1000
|
|
1482
|
-
httpcat tools tx build '{"to":"0x...","value":"1000000000000000000"}'
|
|
1483
|
-
httpcat tools signature eip712 '{"name":"App"}' '{}' '{"message":"Hello"}'
|
|
1484
|
-
httpcat tools gas price
|
|
1485
|
-
httpcat tools call /api/endpoint --method POST --body '{"data":"value"}'
|
|
1486
|
-
```
|
|
1487
|
-
|
|
1488
|
-
### Security (`security`)
|
|
1489
|
-
|
|
1490
|
-
Security and safety analysis tools.
|
|
1491
|
-
|
|
1492
|
-
**Subcommands:**
|
|
1493
|
-
|
|
1494
|
-
- `security token-scan <tokenAddress>` - Comprehensive token safety scan ($0.01)
|
|
1495
|
-
- `security allowances <wallet> <token>` - Check token allowances ($0.001)
|
|
1496
|
-
- `security revoke-allowance <token> <spender>` - Generate revoke transaction (FREE)
|
|
1497
|
-
|
|
1498
|
-
**Examples:**
|
|
1499
|
-
|
|
1500
|
-
```bash
|
|
1501
|
-
httpcat security token-scan 0x1234...
|
|
1502
|
-
httpcat security allowances 0x... 0x...
|
|
1503
|
-
httpcat security revoke-allowance 0x... 0x...
|
|
1504
|
-
```
|
|
1505
|
-
|
|
1506
|
-
### Risk (`risk`)
|
|
1507
|
-
|
|
1508
|
-
Risk management and policy tools.
|
|
1509
|
-
|
|
1510
|
-
**Subcommands:**
|
|
1511
|
-
|
|
1512
|
-
- `risk policy [--wallet <address>] [--set <json>]` - Get or set risk policy ($0.001)
|
|
1513
|
-
- `risk evaluate <wallet> <trade-json>` - Evaluate trade against policy ($0.001)
|
|
1514
|
-
|
|
1515
|
-
**Examples:**
|
|
1516
|
-
|
|
1517
|
-
```bash
|
|
1518
|
-
httpcat risk policy --wallet 0x...
|
|
1519
|
-
httpcat risk policy --set '{"maxPositionSize":"1000","maxLeverage":10}'
|
|
1520
|
-
httpcat risk evaluate 0x... '{"token":"0x...","amount":"100"}'
|
|
1521
|
-
```
|
|
1522
|
-
|
|
1523
|
-
### Opportunities (`opps`)
|
|
1524
|
-
|
|
1525
|
-
DeFi opportunity discovery.
|
|
1526
|
-
|
|
1527
|
-
**Subcommands:**
|
|
1528
|
-
|
|
1529
|
-
- `opps arbitrage [--min-profit <amount>]` - Discover arbitrage opportunities ($0.01)
|
|
1530
|
-
- `opps funding [--min-rate <rate>]` - Discover funding opportunities ($0.01)
|
|
1531
|
-
- `opps yield [--min-apy <apy>]` - Find yield farming opportunities ($0.01)
|
|
1532
|
-
- `opps liquidations` - Detect liquidation opportunities ($0.01)
|
|
1533
|
-
- `opps execute <opportunityId>` - Execute discovered opportunity (varies)
|
|
1534
|
-
|
|
1535
|
-
**Examples:**
|
|
1536
|
-
|
|
1537
|
-
```bash
|
|
1538
|
-
httpcat opps arbitrage --min-profit 10
|
|
1539
|
-
httpcat opps funding --min-rate 0.01
|
|
1540
|
-
httpcat opps yield --min-apy 5
|
|
1541
|
-
httpcat opps liquidations
|
|
1542
|
-
httpcat opps execute opp-123
|
|
1543
|
-
```
|
|
1544
|
-
|
|
1545
|
-
### Automation (`automation`)
|
|
1546
|
-
|
|
1547
|
-
Automation and monitoring tools.
|
|
1548
|
-
|
|
1549
|
-
**Subcommands:**
|
|
1550
|
-
|
|
1551
|
-
- `automation alerts [--wallet <address>] [--create <json>] [--delete <alertId>]` - Manage alerts ($0.001)
|
|
1552
|
-
- `automation webhooks [--wallet <address>] [--register <url>]` - Manage webhooks ($0.001)
|
|
1553
|
-
- `automation jobs [--create <json>] [--status <jobId>]` - Manage automation jobs ($0.01)
|
|
1554
|
-
|
|
1555
|
-
**Examples:**
|
|
1556
|
-
|
|
1557
|
-
```bash
|
|
1558
|
-
httpcat automation alerts --wallet 0x...
|
|
1559
|
-
httpcat automation alerts --create '{"type":"price","condition":"above","value":"100"}'
|
|
1560
|
-
httpcat automation webhooks --register https://example.com/webhook
|
|
1561
|
-
httpcat automation jobs --create '{"type":"rebalance","schedule":"daily"}'
|
|
1562
|
-
```
|
|
1563
|
-
|
|
1564
|
-
### Send (`send`)
|
|
1565
|
-
|
|
1566
|
-
Send native currency, tokens, or batch transactions.
|
|
1567
|
-
|
|
1568
|
-
**Subcommands:**
|
|
1569
|
-
|
|
1570
|
-
- `send eth <to> <amount>` - Send native ETH
|
|
1571
|
-
- `send token <token> <to> <amount>` - Send ERC20 token
|
|
1572
|
-
- `send batch <batch-json>` - Batch send multiple transactions
|
|
1573
|
-
- `send tx <tx-json>` - Send custom transaction
|
|
1574
|
-
|
|
1575
|
-
**Token Aliases:**
|
|
1576
|
-
|
|
1577
|
-
- `usdc` - USDC token
|
|
1578
|
-
- `sol` - Solana token (if on Solana network)
|
|
1579
|
-
- `wbtc` - Wrapped Bitcoin
|
|
1580
|
-
- `cbbtc` - Coinbase Bitcoin
|
|
1581
|
-
|
|
1582
|
-
**Examples:**
|
|
1583
|
-
|
|
1584
|
-
```bash
|
|
1585
|
-
httpcat send eth 0x... 0.1
|
|
1586
|
-
httpcat send token usdc 0x... 100
|
|
1587
|
-
httpcat send token 0x... 0x... 50
|
|
1588
|
-
httpcat send batch '{"native":[{"to":"0x...","amount":"0.1"}],"tokens":[]}'
|
|
1589
|
-
httpcat send tx '{"to":"0x...","value":"1000000000000000000","data":"0x..."}'
|
|
1590
|
-
```
|
|
1591
|
-
|
|
1592
|
-
### Approve (`approve`)
|
|
1593
|
-
|
|
1594
|
-
Token approval operations.
|
|
1595
|
-
|
|
1596
|
-
**Subcommands:**
|
|
1597
|
-
|
|
1598
|
-
- `approve token <token> <spender> <amount>` - Approve ERC20 token
|
|
1599
|
-
- `approve check <token> <spender>` - Check current allowance
|
|
1600
|
-
|
|
1601
|
-
**Options:**
|
|
1602
|
-
|
|
1603
|
-
- `--permit2` - Use Permit2 instead of direct ERC20 approval
|
|
1604
|
-
- `--max` - Approve maximum amount (2^256 - 1)
|
|
1605
|
-
|
|
1606
|
-
**Examples:**
|
|
1607
|
-
|
|
1608
|
-
```bash
|
|
1609
|
-
httpcat approve token usdc 0x... 1000
|
|
1610
|
-
httpcat approve token 0x... 0x... max --permit2
|
|
1611
|
-
httpcat approve check usdc 0x...
|
|
1612
|
-
```
|
|
1613
|
-
|
|
1614
|
-
### RPC (`rpc`)
|
|
1615
|
-
|
|
1616
|
-
JSON-RPC proxy for blockchain calls.
|
|
1617
|
-
|
|
1618
|
-
**Usage:**
|
|
1619
|
-
|
|
1620
|
-
```bash
|
|
1621
|
-
httpcat rpc --method <method> --params <json-array>
|
|
1622
|
-
```
|
|
1623
|
-
|
|
1624
|
-
**Examples:**
|
|
1625
|
-
|
|
1626
|
-
```bash
|
|
1627
|
-
httpcat rpc --method eth_getBalance --params '["0x...","latest"]'
|
|
1628
|
-
httpcat rpc --method eth_blockNumber --params '[]'
|
|
1629
|
-
httpcat rpc --method eth_call --params '[{"to":"0x...","data":"0x..."},"latest"]'
|
|
1630
|
-
```
|
|
1631
|
-
|
|
1632
|
-
**Cost:** $0.05 USDC per request
|
|
1633
|
-
|
|
1634
|
-
### MCP Server
|
|
1635
|
-
|
|
1636
|
-
Start the Model Context Protocol server for AI assistant integration.
|
|
1637
|
-
|
|
1638
|
-
**CLI:**
|
|
1639
|
-
|
|
1640
|
-
```bash
|
|
1641
|
-
httpcat mcp start
|
|
1642
|
-
```
|
|
1643
|
-
|
|
1644
|
-
**Description:**
|
|
1645
|
-
|
|
1646
|
-
Starts an MCP server that exposes all httpcat CLI commands as MCP tools. The server communicates via stdio and can be used with MCP clients like Cursor or Claude Desktop.
|
|
1647
|
-
|
|
1648
|
-
**Configuration:**
|
|
1649
|
-
|
|
1650
|
-
Add to your MCP client config:
|
|
1651
|
-
|
|
1652
|
-
```json
|
|
1653
|
-
{
|
|
1654
|
-
"mcpServers": {
|
|
1655
|
-
"httpcat": {
|
|
1656
|
-
"command": "npx",
|
|
1657
|
-
"args": ["-y", "httpcat-cli", "mcp", "start"],
|
|
1658
|
-
"env": {
|
|
1659
|
-
"HTTPCAT_PRIVATE_KEY": "0x..." // Optional
|
|
1660
|
-
}
|
|
1661
|
-
}
|
|
1662
|
-
}
|
|
1663
|
-
}
|
|
1664
|
-
```
|
|
1665
|
-
|
|
1666
|
-
See the [MCP Server section](#mcp-server-model-context-protocol) for detailed documentation.
|
|
1667
|
-
|
|
1668
|
-
## Headless Mode (JSON Output)
|
|
1669
|
-
|
|
1670
|
-
Perfect for scripting, automation, or LLM/agent integration.
|
|
1671
|
-
|
|
1672
|
-
### JSON Output
|
|
1673
|
-
|
|
1674
|
-
Add `-j, --json` flag to any command:
|
|
1675
|
-
|
|
1676
|
-
```bash
|
|
1677
|
-
$ httpcat -j create "Test Token" "TEST"
|
|
1678
|
-
{
|
|
1679
|
-
"success": true,
|
|
1680
|
-
"operation": "create_token",
|
|
1681
|
-
"data": {
|
|
1682
|
-
"tokenId": "abc123-4567-89ab-cdef-0123456789ab",
|
|
1683
|
-
"tokenAddress": "0x789abcdef123...",
|
|
1684
|
-
"name": "Test Token",
|
|
1685
|
-
"symbol": "TEST",
|
|
1686
|
-
"totalSupply": "1000000000000000000000000000",
|
|
1687
|
-
"status": "active",
|
|
1688
|
-
"createdAt": "2025-11-22T10:30:00.000Z",
|
|
1689
|
-
"entrypointKey": "create_token_..."
|
|
1690
|
-
},
|
|
1691
|
-
"payment": {
|
|
1692
|
-
"txHash": "0x1234567890abcdef..."
|
|
1693
|
-
}
|
|
1694
|
-
}
|
|
1695
|
-
```
|
|
1696
|
-
|
|
1697
|
-
### JSON Output Schema
|
|
1698
|
-
|
|
1699
|
-
All commands with `--json` flag return structured JSON responses. The output follows a consistent schema:
|
|
1700
|
-
|
|
1701
|
-
#### Success Response
|
|
1702
|
-
|
|
1703
|
-
```json
|
|
1704
|
-
{
|
|
1705
|
-
"success": true,
|
|
1706
|
-
"operation": "operation_name",
|
|
1707
|
-
"data": {
|
|
1708
|
-
// Operation-specific data (see below)
|
|
1709
|
-
},
|
|
1710
|
-
"payment": {
|
|
1711
|
-
"txHash": "0x...", // Optional: transaction hash if payment was made
|
|
1712
|
-
"amount": "0.01" // Optional: payment amount
|
|
1713
|
-
}
|
|
1714
|
-
}
|
|
1715
|
-
```
|
|
1716
|
-
|
|
1717
|
-
#### Error Response
|
|
1718
|
-
|
|
1719
|
-
```json
|
|
1720
|
-
{
|
|
1721
|
-
"success": false,
|
|
1722
|
-
"operation": "operation_name",
|
|
1723
|
-
"error": {
|
|
1724
|
-
"message": "Human-readable error message",
|
|
1725
|
-
"code": 1, // Exit code (see Exit Codes section)
|
|
1726
|
-
"details": {
|
|
1727
|
-
// Optional: Additional error details
|
|
1728
|
-
// May contain nested error objects from the API
|
|
1729
|
-
}
|
|
1730
|
-
}
|
|
1731
|
-
}
|
|
1732
|
-
```
|
|
1733
|
-
|
|
1734
|
-
#### Operation-Specific Data Structures
|
|
1735
|
-
|
|
1736
|
-
**Create Token (`create_token`)**
|
|
1737
|
-
|
|
1738
|
-
```json
|
|
1739
|
-
{
|
|
1740
|
-
"tokenId": "uuid-string",
|
|
1741
|
-
"tokenAddress": "0x...",
|
|
1742
|
-
"name": "Token Name",
|
|
1743
|
-
"symbol": "SYMBOL",
|
|
1744
|
-
"totalSupply": "1000000000000000000000000000",
|
|
1745
|
-
"status": "active",
|
|
1746
|
-
"createdAt": "2025-11-22T10:30:00.000Z",
|
|
1747
|
-
"entrypointKey": "create_token_..."
|
|
1748
|
-
}
|
|
1749
|
-
```
|
|
1750
|
-
|
|
1751
|
-
**Buy Token (`token_buy`)**
|
|
1752
|
-
|
|
1753
|
-
```json
|
|
1754
|
-
{
|
|
1755
|
-
"tokenId": "uuid-string",
|
|
1756
|
-
"tokensReceived": "50000",
|
|
1757
|
-
"amountSpent": "5.00",
|
|
1758
|
-
"fee": "0.05",
|
|
1759
|
-
"newPrice": "0.0002",
|
|
1760
|
-
"newMarketCap": "200000",
|
|
1761
|
-
"graduationProgress": 0.15,
|
|
1762
|
-
"txHash": "0x..."
|
|
1763
|
-
}
|
|
1764
|
-
```
|
|
1765
|
-
|
|
1766
|
-
**Sell Token (`token_sell`)**
|
|
1767
|
-
|
|
1768
|
-
```json
|
|
1769
|
-
{
|
|
1770
|
-
"tokenId": "uuid-string",
|
|
1771
|
-
"tokensSold": "1000",
|
|
1772
|
-
"usdcReceived": "0.20",
|
|
1773
|
-
"fee": "0.002",
|
|
1774
|
-
"newPrice": "0.00018",
|
|
1775
|
-
"newMarketCap": "180000",
|
|
1776
|
-
"txHash": "0x..."
|
|
1777
|
-
}
|
|
1778
|
-
```
|
|
1779
|
-
|
|
1780
|
-
**Token Info (`token_info`)**
|
|
1781
|
-
|
|
1782
|
-
```json
|
|
1783
|
-
{
|
|
1784
|
-
"tokenId": "uuid-string",
|
|
1785
|
-
"name": "Token Name",
|
|
1786
|
-
"symbol": "SYMBOL",
|
|
1787
|
-
"address": "0x...",
|
|
1788
|
-
"status": "active",
|
|
1789
|
-
"price": "0.0002",
|
|
1790
|
-
"mcap": "200000",
|
|
1791
|
-
"graduationProgress": 0.15,
|
|
1792
|
-
"totalSupply": "1000000000000000000000000000",
|
|
1793
|
-
"createdAt": "2025-11-22T10:30:00.000Z",
|
|
1794
|
-
"userPosition": {
|
|
1795
|
-
// Optional: only if you own tokens
|
|
1796
|
-
"tokensOwned": "50000",
|
|
1797
|
-
"usdcInvested": "5.00",
|
|
1798
|
-
"currentValue": "10.00",
|
|
1799
|
-
"pnl": "5.00"
|
|
1800
|
-
}
|
|
1801
|
-
}
|
|
1802
|
-
```
|
|
1803
|
-
|
|
1804
|
-
**List Tokens (`list_tokens`)**
|
|
1805
|
-
|
|
1806
|
-
```json
|
|
1807
|
-
{
|
|
1808
|
-
"tokens": [
|
|
1809
|
-
{
|
|
1810
|
-
"tokenId": "uuid-string",
|
|
1811
|
-
"name": "Token Name",
|
|
1812
|
-
"symbol": "SYMBOL",
|
|
1813
|
-
"address": "0x...",
|
|
1814
|
-
"status": "active",
|
|
1815
|
-
"mcap": "200000",
|
|
1816
|
-
"price": "0.0002",
|
|
1817
|
-
"graduationProgress": 0.15,
|
|
1818
|
-
"createdAt": "2025-11-22T10:30:00.000Z",
|
|
1819
|
-
"entrypointKey": "..."
|
|
1820
|
-
}
|
|
1821
|
-
],
|
|
1822
|
-
"total": 100,
|
|
1823
|
-
"page": 1,
|
|
1824
|
-
"limit": 20,
|
|
1825
|
-
"pages": 5
|
|
1826
|
-
}
|
|
1827
|
-
```
|
|
1828
|
-
|
|
1829
|
-
**Positions (`positions`)**
|
|
1830
|
-
|
|
1831
|
-
```json
|
|
1832
|
-
{
|
|
1833
|
-
"positions": [
|
|
1834
|
-
{
|
|
1835
|
-
"tokenId": "uuid-string",
|
|
1836
|
-
"tokensOwned": "50000",
|
|
1837
|
-
"usdcInvested": "5000000",
|
|
1838
|
-
"currentValue": "10000000",
|
|
1839
|
-
"pnl": "5000000",
|
|
1840
|
-
"pnlPercentage": 100.0,
|
|
1841
|
-
"averageCostPerToken": "0.0001",
|
|
1842
|
-
"positionAge": {
|
|
1843
|
-
"days": 2,
|
|
1844
|
-
"hours": 5,
|
|
1845
|
-
"minutes": 30,
|
|
1846
|
-
"seconds": 15
|
|
1847
|
-
},
|
|
1848
|
-
"createdAt": "2025-11-22T10:30:00.000Z",
|
|
1849
|
-
"updatedAt": "2025-11-24T15:30:00.000Z",
|
|
1850
|
-
"lastTransactionDate": "2025-11-24T15:30:00.000Z",
|
|
1851
|
-
"transactionCount": 3,
|
|
1852
|
-
"token": {
|
|
1853
|
-
"name": "Token Name",
|
|
1854
|
-
"symbol": "SYMBOL",
|
|
1855
|
-
"address": "0x...",
|
|
1856
|
-
"status": "active",
|
|
1857
|
-
"price": "0.0002",
|
|
1858
|
-
"mcap": "200000",
|
|
1859
|
-
"graduationProgress": 0.15
|
|
1860
|
-
}
|
|
1861
|
-
}
|
|
1862
|
-
],
|
|
1863
|
-
"total": 1,
|
|
1864
|
-
"summary": {
|
|
1865
|
-
"totalPositions": 1,
|
|
1866
|
-
"totalValue": "10000000",
|
|
1867
|
-
"totalInvested": "5000000",
|
|
1868
|
-
"totalPnl": "5000000",
|
|
1869
|
-
"totalPnlPercentage": 100.0
|
|
1870
|
-
}
|
|
1871
|
-
}
|
|
1872
|
-
```
|
|
1873
|
-
|
|
1874
|
-
**Health Check (`health`)**
|
|
1875
|
-
|
|
1876
|
-
```json
|
|
1877
|
-
{
|
|
1878
|
-
"status": "ok",
|
|
1879
|
-
"timestamp": "2025-11-22T10:30:00.000Z",
|
|
1880
|
-
"agent": "https://agent-test.402.cat"
|
|
1881
|
-
}
|
|
1882
|
-
```
|
|
1883
|
-
|
|
1884
|
-
**Balances (`balances`)**
|
|
1885
|
-
|
|
1886
|
-
```json
|
|
1887
|
-
{
|
|
1888
|
-
"address": "0x...",
|
|
1889
|
-
"ethBalance": "1000000000000000000",
|
|
1890
|
-
"usdcBalance": "5000000",
|
|
1891
|
-
"ethFormatted": "1.0 ETH",
|
|
1892
|
-
"usdcFormatted": "5.00 USDC"
|
|
1893
|
-
}
|
|
1894
|
-
```
|
|
1895
|
-
|
|
1896
|
-
**Version (`--version --json`)**
|
|
1897
|
-
|
|
1898
|
-
```json
|
|
1899
|
-
{
|
|
1900
|
-
"name": "httpcat-cli",
|
|
1901
|
-
"version": "0.3.0"
|
|
1902
|
-
}
|
|
1903
|
-
```
|
|
1904
|
-
|
|
1905
|
-
### Quiet Mode
|
|
1906
|
-
|
|
1907
|
-
Minimal output, only exit codes:
|
|
1908
|
-
|
|
1909
|
-
```bash
|
|
1910
|
-
$ httpcat -q buy abc123-... 0.20
|
|
1911
|
-
$ echo $?
|
|
1912
|
-
0
|
|
1913
|
-
```
|
|
1914
|
-
|
|
1915
|
-
**Exit Codes:**
|
|
1916
|
-
|
|
1917
|
-
- `0` - Success
|
|
1918
|
-
- `1` - General error
|
|
1919
|
-
- `2` - Configuration error
|
|
1920
|
-
- `3` - Network error
|
|
1921
|
-
- `4` - Insufficient funds
|
|
1922
|
-
- `5` - Validation error
|
|
1923
|
-
|
|
1924
|
-
### Example: LLM/Agent Integration
|
|
1925
|
-
|
|
1926
|
-
```bash
|
|
1927
|
-
#!/bin/bash
|
|
1928
|
-
|
|
1929
|
-
# Create a token
|
|
1930
|
-
RESULT=$(httpcat -j create "AI Token" "AI")
|
|
1931
|
-
TOKEN_ADDRESS=$(echo $RESULT | jq -r '.data.tokenAddress')
|
|
1932
|
-
|
|
1933
|
-
# Buy some tokens
|
|
1934
|
-
httpcat -j buy $TOKEN_ADDRESS 5
|
|
1935
|
-
|
|
1936
|
-
# Get current info
|
|
1937
|
-
httpcat -j info $TOKEN_ADDRESS
|
|
1938
|
-
|
|
1939
|
-
# Sell 50% if profitable
|
|
1940
|
-
INFO=$(httpcat -j info $TOKEN_ADDRESS)
|
|
1941
|
-
PNL=$(echo $INFO | jq -r '.data.userPosition.pnl')
|
|
1942
|
-
|
|
1943
|
-
if (( $(echo "$PNL > 0" | bc -l) )); then
|
|
1944
|
-
httpcat -j sell $TOKEN_ADDRESS 50%
|
|
1945
|
-
fi
|
|
1946
|
-
```
|
|
1947
|
-
|
|
1948
|
-
### Example: Chat Streaming with Structured Input
|
|
1949
|
-
|
|
1950
|
-
For scripts that need raw streaming access:
|
|
1951
|
-
|
|
1952
|
-
```bash
|
|
1953
|
-
# Using stream-json input format
|
|
1954
|
-
echo '{"message": "Hello!"}' | httpcat -j -f stream-json chat MTK
|
|
1955
|
-
echo '{"command": "/renew"}' | httpcat -j -f stream-json chat MTK
|
|
1956
|
-
|
|
1957
|
-
# Or pipe multiple messages
|
|
1958
|
-
cat messages.ndjson | httpcat -j -f stream-json chat MTK
|
|
1959
|
-
```
|
|
1960
|
-
|
|
1961
|
-
**Note:** For AI agents, MCP tools are recommended over CLI streaming. See [MCP Chat Tools](#chat-tools-usage-example) section.
|
|
1962
|
-
|
|
1963
|
-
## MCP Server (Model Context Protocol)
|
|
1964
|
-
|
|
1965
|
-
httpcat includes a built-in MCP server that exposes all CLI commands as MCP tools, enabling seamless integration with AI assistants like Claude (via Claude Desktop) or Cursor.
|
|
1966
|
-
|
|
1967
|
-
### Quick Start
|
|
1968
|
-
|
|
1969
|
-
**Start the MCP server:**
|
|
1970
|
-
|
|
1971
|
-
```bash
|
|
1972
|
-
httpcat mcp start
|
|
1973
|
-
```
|
|
1974
|
-
|
|
1975
|
-
**Or use npx (no installation needed):**
|
|
1976
|
-
|
|
1977
|
-
```bash
|
|
1978
|
-
npx httpcat-cli mcp start
|
|
1979
|
-
```
|
|
1980
|
-
|
|
1981
|
-
### Quick Installation
|
|
1982
|
-
|
|
1983
|
-
Use the automated installer to set up httpcat MCP for your LLM CLI:
|
|
1984
|
-
|
|
1985
|
-
```bash
|
|
1986
|
-
# Interactive installation (select which LLMs to configure)
|
|
1987
|
-
httpcat mcp install
|
|
1988
|
-
|
|
1989
|
-
# Install for specific LLM
|
|
1990
|
-
httpcat mcp install claude-cli
|
|
1991
|
-
|
|
1992
|
-
# Install for Cursor IDE
|
|
1993
|
-
httpcat mcp install cursor
|
|
1994
|
-
|
|
1995
|
-
# Install for Claude Desktop
|
|
1996
|
-
httpcat mcp install claude-desktop
|
|
1997
|
-
|
|
1998
|
-
# Install for all detected LLMs
|
|
1999
|
-
httpcat mcp install --all
|
|
2000
|
-
```
|
|
2001
|
-
|
|
2002
|
-
The installer will:
|
|
2003
|
-
|
|
2004
|
-
1. Check if wallet is configured (runs onboarding if needed)
|
|
2005
|
-
2. Automatically configure your LLM CLI with MCP server
|
|
2006
|
-
3. Provide next steps and example system prompt
|
|
2007
|
-
|
|
2008
|
-
**Note**: Private key is NOT included in MCP config - the server reads from `~/.config/httpcat/config.json` automatically.
|
|
2009
|
-
|
|
2010
|
-
### Manual Configuration
|
|
2011
|
-
|
|
2012
|
-
If you prefer to configure manually, add to your MCP client config:
|
|
2013
|
-
|
|
2014
|
-
#### For Cursor
|
|
2015
|
-
|
|
2016
|
-
Add to your Cursor settings (`.cursor/mcp.json` or settings UI):
|
|
2017
|
-
|
|
2018
|
-
```json
|
|
2019
|
-
{
|
|
2020
|
-
"mcpServers": {
|
|
2021
|
-
"httpcat": {
|
|
2022
|
-
"command": "npx",
|
|
2023
|
-
"args": ["-y", "httpcat-cli", "mcp-server"]
|
|
2024
|
-
}
|
|
2025
|
-
}
|
|
2026
|
-
}
|
|
2027
|
-
```
|
|
2028
|
-
|
|
2029
|
-
#### For Claude Desktop
|
|
2030
|
-
|
|
2031
|
-
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
|
|
2032
|
-
|
|
2033
|
-
```json
|
|
2034
|
-
{
|
|
2035
|
-
"mcpServers": {
|
|
2036
|
-
"httpcat": {
|
|
2037
|
-
"command": "npx",
|
|
2038
|
-
"args": ["-y", "httpcat-cli", "mcp-server"]
|
|
2039
|
-
}
|
|
2040
|
-
}
|
|
2041
|
-
}
|
|
2042
|
-
```
|
|
2043
|
-
|
|
2044
|
-
#### Using Global Install
|
|
2045
|
-
|
|
2046
|
-
If you've installed httpcat globally:
|
|
2047
|
-
|
|
2048
|
-
```json
|
|
2049
|
-
{
|
|
2050
|
-
"mcpServers": {
|
|
2051
|
-
"httpcat": {
|
|
2052
|
-
"command": "httpcat",
|
|
2053
|
-
"args": ["mcp-server"]
|
|
2054
|
-
}
|
|
2055
|
-
}
|
|
2056
|
-
}
|
|
2057
|
-
```
|
|
2058
|
-
|
|
2059
|
-
**Important**: No `HTTPCAT_PRIVATE_KEY` in env - the MCP server automatically reads from `~/.config/httpcat/config.json`.
|
|
2060
|
-
|
|
2061
|
-
### Available MCP Tools
|
|
2062
|
-
|
|
2063
|
-
The MCP server exposes the following tools:
|
|
2064
|
-
|
|
2065
|
-
#### `create_token`
|
|
2066
|
-
|
|
2067
|
-
Create a new token on the bonding curve.
|
|
2068
|
-
|
|
2069
|
-
**Parameters:**
|
|
2070
|
-
|
|
2071
|
-
- `name` (string, required) - Token name (e.g., "My Token")
|
|
2072
|
-
- `symbol` (string, required) - Token symbol/ticker (3-10 characters)
|
|
2073
|
-
- `photoUrl` (string, optional) - Photo URL, file path, or base64 data URL for token logo
|
|
2074
|
-
- `websiteUrl` (string, optional) - Website URL
|
|
2075
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2076
|
-
|
|
2077
|
-
**Cost:** $0.01 USDC
|
|
2078
|
-
|
|
2079
|
-
#### `buy_token`
|
|
2080
|
-
|
|
2081
|
-
Buy tokens from the bonding curve.
|
|
2082
|
-
|
|
2083
|
-
**Parameters:**
|
|
2084
|
-
|
|
2085
|
-
- `identifier` (string, required) - Address, name, or symbol
|
|
2086
|
-
- `amount` (string, required) - Amount: "0.05", "0.10", or "0.20" (testnet) | "50", "100", or "200" (mainnet)
|
|
2087
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2088
|
-
|
|
2089
|
-
**Cost:** Amount + 1% fee
|
|
2090
|
-
|
|
2091
|
-
#### `sell_token`
|
|
2092
|
-
|
|
2093
|
-
Sell tokens back to the bonding curve.
|
|
2094
|
-
|
|
2095
|
-
**Parameters:**
|
|
2096
|
-
|
|
2097
|
-
- `identifier` (string, required) - Address, name, or symbol
|
|
2098
|
-
- `amount` (string, required) - Amount: number (e.g., "1000"), percentage (e.g., "50%"), or "all"
|
|
2099
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2100
|
-
|
|
2101
|
-
**Cost:** 1% fee deducted from proceeds
|
|
2102
|
-
|
|
2103
|
-
#### `token_info`
|
|
2104
|
-
|
|
2105
|
-
Get detailed information about a token.
|
|
2106
|
-
|
|
2107
|
-
**Parameters:**
|
|
2108
|
-
|
|
2109
|
-
- `identifier` (string, required) - Address, name, or symbol
|
|
2110
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2111
|
-
|
|
2112
|
-
**Returns:** Token details, price, market cap, graduation progress, and your position (if you own tokens)
|
|
2113
|
-
|
|
2114
|
-
**Cost:** $0.0001 USDC
|
|
2115
|
-
|
|
2116
|
-
#### `list_tokens`
|
|
2117
|
-
|
|
2118
|
-
List all tokens with pagination and sorting.
|
|
2119
|
-
|
|
2120
|
-
**Parameters:**
|
|
2121
|
-
|
|
2122
|
-
- `page` (number, optional) - Page number (default: 1)
|
|
2123
|
-
- `limit` (number, optional) - Items per page (default: 20, max: 100)
|
|
2124
|
-
- `sort` (string, optional) - Sort by: "mcap", "created", or "name" (default: "mcap")
|
|
2125
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2126
|
-
|
|
2127
|
-
**Cost:** $0.0001 USDC
|
|
2128
|
-
|
|
2129
|
-
#### `positions`
|
|
2130
|
-
|
|
2131
|
-
Get all your positions with comprehensive information including current value, profit/loss, ROI, transaction history, and portfolio summary.
|
|
2132
|
-
|
|
2133
|
-
**Parameters:**
|
|
2134
|
-
|
|
2135
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2136
|
-
|
|
2137
|
-
**Returns:** All positions for the requesting address with:
|
|
2138
|
-
|
|
2139
|
-
- Position details (tokens owned, USDC invested, current value, average cost)
|
|
2140
|
-
- Performance metrics (profit/loss, ROI percentage)
|
|
2141
|
-
- Position age and transaction history
|
|
2142
|
-
- Token information for each position
|
|
2143
|
-
- Portfolio summary (total value, total invested, total P/L, overall ROI)
|
|
2144
|
-
|
|
2145
|
-
**Cost:** $0.01 USDC
|
|
2146
|
-
|
|
2147
|
-
#### `check_balance`
|
|
2148
|
-
|
|
2149
|
-
Check wallet balance (ETH and USDC).
|
|
2150
|
-
|
|
2151
|
-
**Parameters:**
|
|
2152
|
-
|
|
2153
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2154
|
-
|
|
2155
|
-
**Cost:** Free (no payment required)
|
|
2156
|
-
|
|
2157
|
-
#### `health_check`
|
|
2158
|
-
|
|
2159
|
-
Check if the httpcat agent is running and healthy.
|
|
2160
|
-
|
|
2161
|
-
**Parameters:**
|
|
2162
|
-
|
|
2163
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2164
|
-
|
|
2165
|
-
**Cost:** $0.0001 USDC
|
|
2166
|
-
|
|
2167
|
-
#### `chat_join`
|
|
2168
|
-
|
|
2169
|
-
Join a chat room (general or token-specific). Establishes a WebSocket connection and returns a leaseId for subsequent chat operations.
|
|
2170
|
-
|
|
2171
|
-
**Parameters:**
|
|
2172
|
-
|
|
2173
|
-
- `tokenIdentifier` (string, optional) - Token symbol, name, or address (e.g., "FRIDA", "My Token", or "0x1234..."). If not provided, joins general chat.
|
|
2174
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2175
|
-
|
|
2176
|
-
**Returns:** `{ leaseId, leaseExpiresAt, wsUrl, lastMessages[] }`
|
|
2177
|
-
|
|
2178
|
-
**Cost:** $0.01 USDC to join, $0.0001 USDC per message, 10 minute lease
|
|
2179
|
-
|
|
2180
|
-
**Note:** The MCP server maintains the WebSocket connection in the background and caches messages. Use `chat_get_recent_messages` to poll for new messages.
|
|
2181
|
-
|
|
2182
|
-
#### `chat_send_message`
|
|
2183
|
-
|
|
2184
|
-
Send a message to the active chat.
|
|
2185
|
-
|
|
2186
|
-
**Parameters:**
|
|
2187
|
-
|
|
2188
|
-
- `message` (string, required) - Message text to send
|
|
2189
|
-
- `leaseId` (string, required) - Lease ID from `chat_join` result
|
|
2190
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2191
|
-
|
|
2192
|
-
**Returns:** `{ messageId, timestamp, message, author }`
|
|
2193
|
-
|
|
2194
|
-
**Cost:** $0.0001 USDC per message
|
|
2195
|
-
|
|
2196
|
-
#### `chat_renew_lease`
|
|
2197
|
-
|
|
2198
|
-
Renew an expiring or expired chat lease.
|
|
2199
|
-
|
|
2200
|
-
**Parameters:**
|
|
2201
|
-
|
|
2202
|
-
- `leaseId` (string, optional) - Lease ID to renew. If not provided, renews most recent lease for the private key.
|
|
2203
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2204
|
-
|
|
2205
|
-
**Returns:** `{ leaseId, leaseExpiresAt }`
|
|
2206
|
-
|
|
2207
|
-
**Cost:** $0.01 USDC
|
|
2208
|
-
|
|
2209
|
-
#### `chat_get_recent_messages`
|
|
2210
|
-
|
|
2211
|
-
Get recent messages from chat (polling mechanism). Returns cached messages from the active chat session.
|
|
2212
|
-
|
|
2213
|
-
**Parameters:**
|
|
2214
|
-
|
|
2215
|
-
- `leaseId` (string, required) - Lease ID from `chat_join` result
|
|
2216
|
-
- `limit` (number, optional) - Maximum number of messages to return (default: 50)
|
|
2217
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2218
|
-
|
|
2219
|
-
**Returns:** `{ messages[] }` with recent chat messages
|
|
2220
|
-
|
|
2221
|
-
**Cost:** Free (uses cached data)
|
|
2222
|
-
|
|
2223
|
-
**Note:** Messages are cached in memory as they arrive via WebSocket. Poll this tool periodically to check for new messages.
|
|
2224
|
-
|
|
2225
|
-
#### `view_fees`
|
|
2226
|
-
|
|
2227
|
-
View accumulated LP fees for a graduated token.
|
|
2228
|
-
|
|
2229
|
-
**Parameters:**
|
|
2230
|
-
|
|
2231
|
-
- `identifier` (string, required) - Token address, name, or symbol
|
|
2232
|
-
- `callerAddress` (string, optional) - Caller address (defaults to wallet address)
|
|
2233
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2234
|
-
|
|
2235
|
-
**Returns:** Fee information including accumulated tokens and USDC, creator/platform shares, and LP lock status
|
|
2236
|
-
|
|
2237
|
-
**Cost:** Free (view only)
|
|
2238
|
-
|
|
2239
|
-
#### `claim_fees`
|
|
2240
|
-
|
|
2241
|
-
Claim accumulated LP fees for a graduated token.
|
|
2242
|
-
|
|
2243
|
-
**Parameters:**
|
|
2244
|
-
|
|
2245
|
-
- `identifier` (string, required) - Token address, name, or symbol
|
|
2246
|
-
- `callerAddress` (string, optional) - Caller address (defaults to wallet address)
|
|
2247
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2248
|
-
|
|
2249
|
-
**Returns:** Transaction hash and claimed fee amounts
|
|
2250
|
-
|
|
2251
|
-
**Cost:** Gas fees for blockchain transaction
|
|
2252
|
-
|
|
2253
|
-
#### `get_transactions`
|
|
2254
|
-
|
|
2255
|
-
Get paginated transaction history with filtering options.
|
|
2256
|
-
|
|
2257
|
-
**Parameters:**
|
|
2258
|
-
|
|
2259
|
-
- `userAddress` (string, optional) - Filter by user address (defaults to wallet address)
|
|
2260
|
-
- `tokenId` (string, optional) - Filter by token ID
|
|
2261
|
-
- `type` (string, optional) - Filter by type: "buy", "sell", or "airdrop"
|
|
2262
|
-
- `limit` (number, optional) - Number of results (default: 50, max: 100)
|
|
2263
|
-
- `offset` (number, optional) - Pagination offset (default: 0)
|
|
2264
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2265
|
-
|
|
2266
|
-
**Returns:** Array of transactions with type, status, token info, amount, fee, and timestamp
|
|
2267
|
-
|
|
2268
|
-
**Cost:** Varies based on API call
|
|
2269
|
-
|
|
2270
|
-
#### `swap_tokens`
|
|
2271
|
-
|
|
2272
|
-
Swap tokens using universal swap with best route aggregation.
|
|
2273
|
-
|
|
2274
|
-
**Parameters:**
|
|
2275
|
-
|
|
2276
|
-
- `tokenIn` (string, required) - Token to swap from (address, name, or symbol)
|
|
2277
|
-
- `tokenOut` (string, required) - Token to swap to (address, name, or symbol)
|
|
2278
|
-
- `amount` (string, required) - Amount to swap (human-readable, e.g., '100' for 100 tokens)
|
|
2279
|
-
- `slippageBps` (number, optional) - Slippage tolerance in basis points (default: 50 = 0.5%)
|
|
2280
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2281
|
-
|
|
2282
|
-
**Returns:** Swap execution details including provider, amounts, gas estimate, and transaction hash
|
|
2283
|
-
|
|
2284
|
-
**Cost:** $0.10 USDC
|
|
2285
|
-
|
|
2286
|
-
#### `shielded_swap`
|
|
2287
|
-
|
|
2288
|
-
MEV-protected swap using UniswapX Dutch auction.
|
|
2289
|
-
|
|
2290
|
-
**Parameters:**
|
|
2291
|
-
|
|
2292
|
-
- `tokenIn` (string, required) - Token to swap from (address, name, or symbol)
|
|
2293
|
-
- `tokenOut` (string, required) - Token to swap to (address, name, or symbol)
|
|
2294
|
-
- `amount` (string, required) - Amount to swap (human-readable)
|
|
2295
|
-
- `slippageBps` (number, optional) - Slippage tolerance in basis points (default: 50 = 0.5%)
|
|
2296
|
-
- `privateKey` (string, required) - Private key for signing
|
|
2297
|
-
|
|
2298
|
-
**Returns:** Shielded swap order details and submission status
|
|
2299
|
-
|
|
2300
|
-
**Cost:** $1.00 USDC
|
|
2301
|
-
|
|
2302
|
-
#### `gasless_swap_quote`
|
|
2303
|
-
|
|
2304
|
-
Get gasless swap quotes from multiple providers without paying gas.
|
|
2305
|
-
|
|
2306
|
-
**Parameters:**
|
|
2307
|
-
|
|
2308
|
-
- `tokenIn` (string, required) - Token address to swap from
|
|
2309
|
-
- `tokenOut` (string, required) - Token address to swap to
|
|
2310
|
-
- `amount` (string, required) - Amount in smallest units
|
|
2311
|
-
- `taker` (string, required) - Taker address (wallet receiving tokens)
|
|
2312
|
-
- `slippageBps` (number, optional) - Slippage tolerance in basis points
|
|
2313
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2314
|
-
|
|
2315
|
-
**Returns:** Array of quotes from different providers with prices and routes
|
|
2316
|
-
|
|
2317
|
-
**Cost:** FREE
|
|
2318
|
-
|
|
2319
|
-
#### `gasless_swap_status`
|
|
2320
|
-
|
|
2321
|
-
Check the status of a 0x gasless swap.
|
|
2322
|
-
|
|
2323
|
-
**Parameters:**
|
|
2324
|
-
|
|
2325
|
-
- `tradeHash` (string, required) - Trade hash from gasless swap
|
|
2326
|
-
- `chainId` (number, optional) - Chain ID (defaults to configured network)
|
|
2327
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2328
|
-
|
|
2329
|
-
**Returns:** Swap status including confirmation status and transaction details
|
|
2330
|
-
|
|
2331
|
-
**Cost:** FREE
|
|
2332
|
-
|
|
2333
|
-
#### `gasless_swap_submit`
|
|
2334
|
-
|
|
2335
|
-
Submit a signed 0x gasless swap trade.
|
|
2336
|
-
|
|
2337
|
-
**Parameters:**
|
|
2338
|
-
|
|
2339
|
-
- `trade` (object, required) - Signed trade object from 0x API
|
|
2340
|
-
- `chainId` (number, optional) - Chain ID
|
|
2341
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2342
|
-
|
|
2343
|
-
**Returns:** Submission status and trade hash
|
|
2344
|
-
|
|
2345
|
-
**Cost:** $0.01 USDC
|
|
2346
|
-
|
|
2347
|
-
#### `gasless_swap_submit_our`
|
|
2348
|
-
|
|
2349
|
-
Submit gasless swap using our executor.
|
|
2350
|
-
|
|
2351
|
-
**Parameters:**
|
|
2352
|
-
|
|
2353
|
-
- `tokenIn` (string, required) - Input token address
|
|
2354
|
-
- `tokenOut` (string, required) - Output token address
|
|
2355
|
-
- `totalAmount` (string, required) - Total amount in smallest units
|
|
2356
|
-
- `feeAmount` (string, required) - Fee amount in smallest units
|
|
2357
|
-
- `taker` (string, required) - Taker address
|
|
2358
|
-
- `permit2Signature` (string, required) - Permit2 signature
|
|
2359
|
-
- `permitNonce` (number, required) - Permit nonce
|
|
2360
|
-
- `permitDeadline` (number, required) - Permit deadline timestamp
|
|
2361
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2362
|
-
|
|
2363
|
-
**Returns:** Execution status and transaction details
|
|
2364
|
-
|
|
2365
|
-
**Cost:** $0.01 USDC
|
|
2366
|
-
|
|
2367
|
-
#### `perps_markets`
|
|
2368
|
-
|
|
2369
|
-
Get available perpetual futures markets across multiple venues.
|
|
2370
|
-
|
|
2371
|
-
**Parameters:**
|
|
2372
|
-
|
|
2373
|
-
- `platform` (string, optional) - Filter by platform: "hyperliquid", "avantis", or "aster"
|
|
2374
|
-
- `symbol` (string, optional) - Filter by symbol substring (e.g., "BTC")
|
|
2375
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2376
|
-
|
|
2377
|
-
**Returns:** Array of markets with price, funding rate, open interest, and max leverage
|
|
2378
|
-
|
|
2379
|
-
**Cost:** $0.01 USDC
|
|
2380
|
-
|
|
2381
|
-
#### `perps_onboard`
|
|
2382
|
-
|
|
2383
|
-
One-time setup to connect wallet to perps trading venues.
|
|
2384
|
-
|
|
2385
|
-
**Parameters:**
|
|
2386
|
-
|
|
2387
|
-
- `wallet` (string, required) - Wallet address to onboard
|
|
2388
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2389
|
-
|
|
2390
|
-
**Returns:** Setup instructions for each venue including required signatures and transactions
|
|
2391
|
-
|
|
2392
|
-
**Cost:** FREE
|
|
2393
|
-
|
|
2394
|
-
#### `perps_deposit`
|
|
2395
|
-
|
|
2396
|
-
Get deposit options for USDC to perps trading venues.
|
|
2397
|
-
|
|
2398
|
-
**Parameters:**
|
|
2399
|
-
|
|
2400
|
-
- `amount` (string, required) - USDC amount to deposit (human-readable, e.g., "100")
|
|
2401
|
-
- `wallet` (string, required) - Wallet address
|
|
2402
|
-
- `venue` (string, optional) - Preferred venue
|
|
2403
|
-
- `chain` (string, optional) - Source chain (default: "base")
|
|
2404
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2405
|
-
|
|
2406
|
-
**Returns:** Deposit options for each venue with instructions and transaction data
|
|
2407
|
-
|
|
2408
|
-
**Cost:** FREE
|
|
2409
|
-
|
|
2410
|
-
#### `perps_trade`
|
|
2411
|
-
|
|
2412
|
-
Open or close perpetual positions with auto-routing to best venue.
|
|
2413
|
-
|
|
2414
|
-
**Parameters:**
|
|
2415
|
-
|
|
2416
|
-
- `market` (string, required) - Market to trade (e.g., "BTC", "ETH", "SOL")
|
|
2417
|
-
- `side` (string, required) - "long" or "short"
|
|
2418
|
-
- `sizeUsd` (string, required) - Position size in USD (minimum $10)
|
|
2419
|
-
- `leverage` (number, required) - Leverage multiplier (1-100x)
|
|
2420
|
-
- `wallet` (string, required) - Wallet address
|
|
2421
|
-
- `orderType` (string, optional) - "market" or "limit" (default: "market")
|
|
2422
|
-
- `price` (string, optional) - Limit price for limit orders
|
|
2423
|
-
- `takeProfit` (string, optional) - Take profit price
|
|
2424
|
-
- `stopLoss` (string, optional) - Stop loss price
|
|
2425
|
-
- `reduceOnly` (boolean, optional) - Close existing position only (default: false)
|
|
2426
|
-
- `venue` (string, optional) - Force specific venue
|
|
2427
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2428
|
-
|
|
2429
|
-
**Returns:** Trade execution details including venue, entry price, liquidation price, and fees
|
|
2430
|
-
|
|
2431
|
-
**Cost:** $0.05 USDC
|
|
2432
|
-
|
|
2433
|
-
#### `perps_positions`
|
|
2434
|
-
|
|
2435
|
-
View all open perpetual positions across venues.
|
|
2436
|
-
|
|
2437
|
-
**Parameters:**
|
|
2438
|
-
|
|
2439
|
-
- `wallet` (string, required) - Wallet address
|
|
2440
|
-
- `venue` (string, optional) - Filter by venue
|
|
2441
|
-
- `asterApiKey` (string, optional) - Aster API key (required for Aster positions)
|
|
2442
|
-
- `asterApiSecret` (string, optional) - Aster API secret (required for Aster positions)
|
|
2443
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2444
|
-
|
|
2445
|
-
**Returns:** Array of open positions with unrealized P&L, margin, and portfolio summary
|
|
2446
|
-
|
|
2447
|
-
**Cost:** $0.01 USDC
|
|
2448
|
-
|
|
2449
|
-
#### `predictions_markets`
|
|
2450
|
-
|
|
2451
|
-
Browse prediction markets from Polymarket and Azuro.
|
|
2452
|
-
|
|
2453
|
-
**Parameters:**
|
|
2454
|
-
|
|
2455
|
-
- `venue` (string, optional) - Filter by "polymarket" or "azuro"
|
|
2456
|
-
- `category` (string, optional) - Category like "politics", "crypto", "sports"
|
|
2457
|
-
- `limit` (number, optional) - Max results (default: 20, max: 100)
|
|
2458
|
-
- `sort` (string, optional) - Sort by "volume", "trending", or "ending_soon"
|
|
2459
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2460
|
-
|
|
2461
|
-
**Returns:** Array of markets with outcomes, volume, and liquidity
|
|
2462
|
-
|
|
2463
|
-
**Cost:** $0.01 USDC
|
|
2464
|
-
|
|
2465
|
-
#### `predictions_market`
|
|
2466
|
-
|
|
2467
|
-
Get detailed information about a specific prediction market.
|
|
2468
|
-
|
|
2469
|
-
**Parameters:**
|
|
2470
|
-
|
|
2471
|
-
- `marketId` (string, required) - Market ID in format "venue:id" (e.g., "polymarket:abc123")
|
|
2472
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2473
|
-
|
|
2474
|
-
**Returns:** Market details with outcomes, probabilities, volume, and trading info
|
|
2475
|
-
|
|
2476
|
-
**Cost:** $0.01 USDC
|
|
2477
|
-
|
|
2478
|
-
#### `predictions_search`
|
|
2479
|
-
|
|
2480
|
-
Search prediction markets by keyword.
|
|
2481
|
-
|
|
2482
|
-
**Parameters:**
|
|
2483
|
-
|
|
2484
|
-
- `query` (string, required) - Search keyword
|
|
2485
|
-
- `venue` (string, optional) - Filter by venue
|
|
2486
|
-
- `limit` (number, optional) - Max results (default: 20, max: 50)
|
|
2487
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2488
|
-
|
|
2489
|
-
**Returns:** Matching markets with relevance scores
|
|
2490
|
-
|
|
2491
|
-
**Cost:** $0.01 USDC
|
|
2492
|
-
|
|
2493
|
-
#### `predictions_bet`
|
|
2494
|
-
|
|
2495
|
-
Place a bet on a prediction market outcome.
|
|
2496
|
-
|
|
2497
|
-
**Parameters:**
|
|
2498
|
-
|
|
2499
|
-
- `marketId` (string, required) - Market ID in "venue:id" format
|
|
2500
|
-
- `outcomeId` (string, required) - Which outcome to bet on
|
|
2501
|
-
- `amountUsd` (number, required) - Bet amount in USD
|
|
2502
|
-
- `wallet` (string, required) - Wallet address
|
|
2503
|
-
- `polymarketApiKey` (string, optional) - Polymarket CLOB API key
|
|
2504
|
-
- `polymarketApiSecret` (string, optional) - Polymarket CLOB API secret
|
|
2505
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2506
|
-
|
|
2507
|
-
**Returns:** Bet details and transaction/order information
|
|
2508
|
-
|
|
2509
|
-
**Cost:** $0.05 USDC
|
|
2510
|
-
|
|
2511
|
-
#### `predictions_detect_arbs`
|
|
2512
|
-
|
|
2513
|
-
Scan for arbitrage opportunities across prediction venues.
|
|
2514
|
-
|
|
2515
|
-
**Parameters:**
|
|
2516
|
-
|
|
2517
|
-
- `minSpreadPct` (number, optional) - Minimum spread percentage (default: 1.0%)
|
|
2518
|
-
- `venues` (array, optional) - Specific venues to scan
|
|
2519
|
-
- `cryptoOnly` (boolean, optional) - Focus on crypto markets
|
|
2520
|
-
- `maxResults` (number, optional) - Max results (default: 20)
|
|
2521
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2522
|
-
|
|
2523
|
-
**Returns:** Array of arbitrage opportunities with expected profit and execution details
|
|
2524
|
-
|
|
2525
|
-
**Cost:** FREE
|
|
2526
|
-
|
|
2527
|
-
#### `predictions_calculate_hedge`
|
|
2528
|
-
|
|
2529
|
-
Calculate optimal perpetual hedge for a prediction market position.
|
|
2530
|
-
|
|
2531
|
-
**Parameters:**
|
|
2532
|
-
|
|
2533
|
-
- `marketA` (object, required) - First market details
|
|
2534
|
-
- `marketB` (object, required) - Second market details
|
|
2535
|
-
- `positionSizeUsd` (number, required) - Position size
|
|
2536
|
-
- `currentPrice` (number, required) - Current asset price
|
|
2537
|
-
- `fundingRate8h` (number, optional) - Funding rate (default: 0.01%)
|
|
2538
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2539
|
-
|
|
2540
|
-
**Returns:** Hedge strategy with direction, size, duration, costs, and expected profit
|
|
2541
|
-
|
|
2542
|
-
**Cost:** FREE
|
|
2543
|
-
|
|
2544
|
-
#### `predictions_execute_arb`
|
|
2545
|
-
|
|
2546
|
-
Execute complete arbitrage trade with optional perpetual hedge.
|
|
2547
|
-
|
|
2548
|
-
**Parameters:**
|
|
2549
|
-
|
|
2550
|
-
- `marketA` (object, required) - First market details
|
|
2551
|
-
- `marketB` (object, required) - Second market details
|
|
2552
|
-
- `positionSizeUsd` (number, required) - Position size for each leg
|
|
2553
|
-
- `autoHedge` (boolean, optional) - Enable automatic hedge (default: true)
|
|
2554
|
-
- `maxSlippagePct` (number, optional) - Max slippage (default: 2%)
|
|
2555
|
-
- `currentPrice` (number, optional) - For hedge calculation
|
|
2556
|
-
- `wallet` (string, required) - Wallet address
|
|
2557
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2558
|
-
|
|
2559
|
-
**Returns:** Execution details for both legs, hedge info, and profit summary
|
|
2560
|
-
|
|
2561
|
-
**Cost:** $0.20 USDC
|
|
2562
|
-
|
|
2563
|
-
#### `predictions_detect_insiders`
|
|
2564
|
-
|
|
2565
|
-
Detect sophisticated traders via wallet graph analysis.
|
|
2566
|
-
|
|
2567
|
-
**Parameters:**
|
|
2568
|
-
|
|
2569
|
-
- `timeWindowMinutes` (number, optional) - Analysis time window (default: 5)
|
|
2570
|
-
- `minTrades` (number, optional) - Minimum trades (default: 5)
|
|
2571
|
-
- `minSimilarity` (number, optional) - Min Jaccard similarity (default: 0.1)
|
|
2572
|
-
- `includeCommunities` (boolean, optional) - Include copytrade clusters (default: true)
|
|
2573
|
-
- `maxResults` (number, optional) - Max results (default: 50)
|
|
2574
|
-
- `assetFilter` (string, optional) - Filter by asset like "BTC"
|
|
2575
|
-
- `trades` (array, optional) - Historical trade data
|
|
2576
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2577
|
-
|
|
2578
|
-
**Returns:** Detected arbitrageurs, market leaders, and copytrade communities
|
|
2579
|
-
|
|
2580
|
-
**Cost:** $5.00 USDC
|
|
2581
|
-
|
|
2582
|
-
#### `rpc_proxy`
|
|
2583
|
-
|
|
2584
|
-
JSON-RPC proxy for Ethereum/Base blockchain calls.
|
|
2585
|
-
|
|
2586
|
-
**Parameters:**
|
|
2587
|
-
|
|
2588
|
-
- `jsonrpc` (string, required) - JSON-RPC version (typically "2.0")
|
|
2589
|
-
- `id` (number, required) - Request ID
|
|
2590
|
-
- `method` (string, required) - RPC method (e.g., 'eth_blockNumber', 'eth_getBalance')
|
|
2591
|
-
- `params` (array, required) - Method parameters
|
|
2592
|
-
- `privateKey` (string, optional) - Private key (overrides config/env)
|
|
2593
|
-
|
|
2594
|
-
**Returns:** Standard JSON-RPC response with result or error
|
|
2595
|
-
|
|
2596
|
-
**Cost:** $0.05 USDC per request
|
|
2597
|
-
|
|
2598
|
-
### Chat Tools Usage Example
|
|
2599
|
-
|
|
2600
|
-
Here's how an AI agent like Claude Code would use the chat tools:
|
|
2601
|
-
|
|
2602
|
-
```javascript
|
|
2603
|
-
// Step 1: Join the FRIDA token chat room
|
|
2604
|
-
const joinResult = await mcp.callTool("chat_join", {
|
|
2605
|
-
tokenIdentifier: "FRIDA",
|
|
2606
|
-
});
|
|
2607
|
-
// Returns: { leaseId: "abc123...", leaseExpiresAt: "...", lastMessages: [...] }
|
|
2608
|
-
|
|
2609
|
-
// Step 2: Send a message
|
|
2610
|
-
const sendResult = await mcp.callTool("chat_send_message", {
|
|
2611
|
-
message: "Hello FRIDA community!",
|
|
2612
|
-
leaseId: joinResult.leaseId,
|
|
2613
|
-
});
|
|
2614
|
-
// Returns: { messageId: "msg456...", timestamp: "...", message: "...", author: "0x..." }
|
|
2615
|
-
|
|
2616
|
-
// Step 3: Poll for new messages (agent does this periodically)
|
|
2617
|
-
const messages = await mcp.callTool("chat_get_recent_messages", {
|
|
2618
|
-
leaseId: joinResult.leaseId,
|
|
2619
|
-
limit: 20,
|
|
2620
|
-
});
|
|
2621
|
-
// Returns: { messages: [...] }
|
|
2622
|
-
|
|
2623
|
-
// Step 4: Renew lease when needed
|
|
2624
|
-
const renewal = await mcp.callTool("chat_renew_lease", {
|
|
2625
|
-
leaseId: joinResult.leaseId,
|
|
2626
|
-
});
|
|
2627
|
-
// Returns: { leaseId: "new-lease-id...", leaseExpiresAt: "..." }
|
|
2628
|
-
```
|
|
2629
|
-
|
|
2630
|
-
**Key Benefits:**
|
|
2631
|
-
|
|
2632
|
-
- No shell scripting or process management required
|
|
2633
|
-
- WebSocket connections maintained automatically by MCP server
|
|
2634
|
-
- Messages cached in memory for quick retrieval
|
|
2635
|
-
- Simple polling model for agents
|
|
2636
|
-
|
|
2637
|
-
### Private Key Configuration
|
|
2638
|
-
|
|
2639
|
-
Private keys are automatically read from the httpcat config file (`~/.config/httpcat/config.json`).
|
|
2640
|
-
|
|
2641
|
-
**Priority order** (if you need to override):
|
|
2642
|
-
|
|
2643
|
-
1. **Tool parameter** - Pass `privateKey` in each tool call (highest priority)
|
|
2644
|
-
2. **Environment variable** - Set `HTTPCAT_PRIVATE_KEY` (for backward compatibility)
|
|
2645
|
-
3. **Config file** - Default: `~/.config/httpcat/config.json` (recommended)
|
|
2646
|
-
|
|
2647
|
-
**Security Recommendation:** Use the config file (default). The MCP server automatically reads from it, so you don't need to pass private keys in MCP configs.
|
|
2648
|
-
|
|
2649
|
-
### Onboarding
|
|
2650
|
-
|
|
2651
|
-
If no wallet is configured when the MCP server starts, it will run an interactive onboarding flow:
|
|
2652
|
-
|
|
2653
|
-
1. **Generate new wallet** - Creates a seed phrase (recommended for new users)
|
|
2654
|
-
2. **Import seed phrase** - Import existing 12/24 word seed phrase
|
|
2655
|
-
3. **Import private key** - Import existing private key
|
|
2656
|
-
|
|
2657
|
-
The onboarding runs automatically via stdio, so it works seamlessly with LLM CLI tools.
|
|
2658
|
-
|
|
2659
|
-
See [MCP Onboarding Guide](docs/MCP_ONBOARDING.md) for detailed information.
|
|
2660
|
-
|
|
2661
|
-
### Example MCP Tool Usage
|
|
2662
|
-
|
|
2663
|
-
Once configured, AI assistants can use the tools like this:
|
|
2664
|
-
|
|
2665
|
-
```
|
|
2666
|
-
create_token(name="Moon Token", symbol="MOON", websiteUrl="https://moon.com")
|
|
2667
|
-
buy_token(identifier="0x1234...", amount="0.20")
|
|
2668
|
-
token_info(identifier="MOON")
|
|
2669
|
-
list_tokens(sort="mcap", limit=10)
|
|
2670
|
-
check_balance()
|
|
2671
|
-
```
|
|
2672
|
-
|
|
2673
|
-
### Response Format
|
|
2674
|
-
|
|
2675
|
-
All MCP tools return structured JSON responses matching the CLI's JSON output format:
|
|
2676
|
-
|
|
2677
|
-
**Success:**
|
|
2678
|
-
|
|
2679
|
-
```json
|
|
2680
|
-
{
|
|
2681
|
-
"success": true,
|
|
2682
|
-
"operation": "tool_name",
|
|
2683
|
-
"data": {
|
|
2684
|
-
// Tool-specific data
|
|
2685
|
-
}
|
|
2686
|
-
}
|
|
2687
|
-
```
|
|
2688
|
-
|
|
2689
|
-
**Error:**
|
|
2690
|
-
|
|
2691
|
-
```json
|
|
2692
|
-
{
|
|
2693
|
-
"success": false,
|
|
2694
|
-
"operation": "tool_name",
|
|
2695
|
-
"error": {
|
|
2696
|
-
"message": "Error message",
|
|
2697
|
-
"code": 1,
|
|
2698
|
-
"details": {}
|
|
2699
|
-
}
|
|
2700
|
-
}
|
|
2701
|
-
```
|
|
2702
|
-
|
|
2703
|
-
### MCP Resources
|
|
2704
|
-
|
|
2705
|
-
The MCP server provides resources for static data:
|
|
2706
|
-
|
|
2707
|
-
- `httpcat://tokens/list` - Cached token list with market data
|
|
2708
|
-
- `httpcat://network/status` - Network status and configuration
|
|
2709
|
-
- `httpcat://ecosystem/info` - Ecosystem information and token economics
|
|
2710
|
-
|
|
2711
|
-
Resources are cached (5 minute TTL) for faster access.
|
|
2712
|
-
|
|
2713
|
-
### MCP Prompts
|
|
2714
|
-
|
|
2715
|
-
System prompts available for LLM agents:
|
|
2716
|
-
|
|
2717
|
-
- `ecosystem_context` - Comprehensive ecosystem information
|
|
2718
|
-
- `system_prompt` - Suggested system prompt for configuring agents
|
|
2719
|
-
|
|
2720
|
-
### Enhanced Tool Descriptions
|
|
2721
|
-
|
|
2722
|
-
All tools include:
|
|
2723
|
-
|
|
2724
|
-
- 💰 Cost information
|
|
2725
|
-
- 📝 Usage examples
|
|
2726
|
-
- 💡 Tips and best practices
|
|
2727
|
-
- Detailed parameter descriptions
|
|
2728
|
-
|
|
2729
|
-
### Benefits
|
|
2730
|
-
|
|
2731
|
-
- **No Shell Access Required** - AI assistants can interact with httpcat without needing shell/terminal access
|
|
2732
|
-
- **Structured Responses** - Consistent JSON output format for reliable parsing
|
|
2733
|
-
- **Secure** - Private keys stored locally, never in LLM config files
|
|
2734
|
-
- **Automatic Onboarding** - Interactive setup when wallet not configured
|
|
2735
|
-
- **Always Up-to-Date** - Using `npx` ensures you always get the latest version
|
|
2736
|
-
- **Zero Configuration** - Automated installation with `mcp-install` command
|
|
2737
|
-
- **Rich Context** - Resources and prompts provide ecosystem information
|
|
2738
|
-
|
|
2739
|
-
## Advanced Usage
|
|
2740
|
-
|
|
2741
|
-
### Environment Management
|
|
2742
|
-
|
|
2743
|
-
httpcat supports multiple environments (local, base-sepolia, etc.) to easily switch between different agent deployments.
|
|
2744
|
-
|
|
2745
|
-
#### List Environments
|
|
2746
|
-
|
|
2747
|
-
```bash
|
|
2748
|
-
httpcat env list
|
|
2749
|
-
```
|
|
2750
|
-
|
|
2751
|
-
Shows all available environments with their agent URLs and networks.
|
|
2752
|
-
|
|
2753
|
-
#### Switch Environment
|
|
2754
|
-
|
|
2755
|
-
```bash
|
|
2756
|
-
# Switch to local environment
|
|
2757
|
-
httpcat env use local
|
|
2758
|
-
|
|
2759
|
-
# Switch to base-sepolia environment
|
|
2760
|
-
httpcat env use base-sepolia
|
|
2761
|
-
```
|
|
2762
|
-
|
|
2763
|
-
#### Show Current Environment
|
|
2764
|
-
|
|
2765
|
-
```bash
|
|
2766
|
-
httpcat env show
|
|
2767
|
-
```
|
|
2768
|
-
|
|
2769
|
-
#### Add Custom Environment
|
|
2770
|
-
|
|
2771
|
-
```bash
|
|
2772
|
-
# Add a custom environment
|
|
2773
|
-
httpcat env add production http://production-agent:8787 -n base
|
|
2774
|
-
|
|
2775
|
-
# Switch to it
|
|
2776
|
-
httpcat env use production
|
|
2777
|
-
```
|
|
2778
|
-
|
|
2779
|
-
#### Update Environment
|
|
2780
|
-
|
|
2781
|
-
```bash
|
|
2782
|
-
# Update existing environment URL
|
|
2783
|
-
httpcat env update local http://localhost:8788
|
|
2784
|
-
|
|
2785
|
-
# Update environment with different network
|
|
2786
|
-
httpcat env update production http://prod-agent:8787 -n base
|
|
2787
|
-
```
|
|
2788
|
-
|
|
2789
|
-
Updates an existing environment's agent URL and optionally its network.
|
|
2790
|
-
|
|
2791
|
-
#### Predefined Environments
|
|
2792
|
-
|
|
2793
|
-
- **local** - `http://localhost:8787` (eip155:84532)
|
|
2794
|
-
- **sepolia** - `https://agent-test.402.cat` (eip155:84532)
|
|
2795
|
-
|
|
2796
|
-
#### Environment Priority
|
|
2797
|
-
|
|
2798
|
-
Agent URL resolution priority:
|
|
2799
|
-
|
|
2800
|
-
1. `HTTPCAT_AGENT_URL` environment variable
|
|
2801
|
-
2. Current environment's agent URL
|
|
2802
|
-
3. Config file `agentUrl` setting
|
|
2803
|
-
4. Default value
|
|
2804
|
-
|
|
2805
|
-
### Environment Variables
|
|
2806
|
-
|
|
2807
|
-
Override config with environment variables:
|
|
2808
|
-
|
|
2809
|
-
```bash
|
|
2810
|
-
# Private key (most secure - doesn't save to config)
|
|
2811
|
-
export HTTPCAT_PRIVATE_KEY=0x1234567890abcdef...
|
|
2812
|
-
|
|
2813
|
-
# Agent URL (overrides environment)
|
|
2814
|
-
export HTTPCAT_AGENT_URL=http://custom-agent:8787
|
|
2815
|
-
|
|
2816
|
-
# Run commands
|
|
2817
|
-
httpcat create "My Token" "MTK"
|
|
2818
|
-
```
|
|
2819
|
-
|
|
2820
|
-
### Private Key Command-Line Option
|
|
2821
|
-
|
|
2822
|
-
You can also pass the private key directly via command-line flag (highest priority):
|
|
2823
|
-
|
|
2824
|
-
```bash
|
|
2825
|
-
# Private key priority: CLI flag > Environment variable > Config file
|
|
2826
|
-
httpcat -k 0x1234567890abcdef... create "My Token" "MTK"
|
|
2827
|
-
httpcat -k 0x1234567890abcdef... -j buy 0x1234... 0.20
|
|
2828
|
-
```
|
|
2829
|
-
|
|
2830
|
-
**Note:** The `--private-key` flag takes precedence over environment variables and config file settings.
|
|
2831
|
-
|
|
2832
|
-
### Custom Network Configuration
|
|
2833
|
-
|
|
2834
|
-
```bash
|
|
2835
|
-
# Switch to mainnet
|
|
2836
|
-
httpcat config -S network=base
|
|
2837
|
-
httpcat config -S agentUrl=http://production-url:8787
|
|
2838
|
-
|
|
2839
|
-
# Or in interactive mode
|
|
2840
|
-
httpcat> network base
|
|
2841
|
-
```
|
|
2842
|
-
|
|
2843
|
-
### Disable ASCII Art
|
|
2844
|
-
|
|
2845
|
-
```bash
|
|
2846
|
-
# Globally
|
|
2847
|
-
httpcat config --set preferences.enableAsciiArt=false
|
|
2848
|
-
|
|
2849
|
-
# Per session
|
|
2850
|
-
httpcat --no-art
|
|
2851
|
-
```
|
|
2852
|
-
|
|
2853
|
-
## Configuration File
|
|
2854
|
-
|
|
2855
|
-
Config is stored at `~/.config/httpcat/config.json`:
|
|
2856
|
-
|
|
2857
|
-
```json
|
|
2858
|
-
{
|
|
2859
|
-
"encryptedPrivateKey": "...",
|
|
2860
|
-
"encryptedSeedPhrase": "...",
|
|
2861
|
-
"password": "hashed_password",
|
|
2862
|
-
"passwordTimeoutMinutes": 15,
|
|
2863
|
-
"accounts": [
|
|
2864
|
-
{
|
|
2865
|
-
"index": 0,
|
|
2866
|
-
"type": "custom",
|
|
2867
|
-
"address": "0x...",
|
|
2868
|
-
"label": "Main Account"
|
|
2869
|
-
},
|
|
2870
|
-
{
|
|
2871
|
-
"index": 1,
|
|
2872
|
-
"type": "seed",
|
|
2873
|
-
"address": "0x..."
|
|
2874
|
-
}
|
|
2875
|
-
],
|
|
2876
|
-
"activeAccountIndex": 0,
|
|
2877
|
-
"network": "eip155:84532",
|
|
2878
|
-
"agentUrl": "https://agent-test.402.cat",
|
|
2879
|
-
"facilitatorUrl": "https://facilitators.x402scan.com",
|
|
2880
|
-
"defaultMaxPayment": "10.00",
|
|
2881
|
-
"environment": "base-sepolia",
|
|
2882
|
-
"environments": {
|
|
2883
|
-
"local": {
|
|
2884
|
-
"name": "local",
|
|
2885
|
-
"agentUrl": "http://localhost:8787",
|
|
2886
|
-
"network": "eip155:84532"
|
|
2887
|
-
},
|
|
2888
|
-
"base-sepolia": {
|
|
2889
|
-
"name": "base-sepolia",
|
|
2890
|
-
"agentUrl": "https://agent-test.402.cat",
|
|
2891
|
-
"network": "eip155:84532"
|
|
2892
|
-
}
|
|
2893
|
-
},
|
|
2894
|
-
"preferences": {
|
|
2895
|
-
"enableAsciiArt": true,
|
|
2896
|
-
"colorOutput": true,
|
|
2897
|
-
"verboseLogging": false
|
|
2898
|
-
},
|
|
2899
|
-
"aiAgent": {
|
|
2900
|
-
"provider": "openai",
|
|
2901
|
-
"apiKey": "encrypted_key_here",
|
|
2902
|
-
"model": "gpt-4"
|
|
2903
|
-
},
|
|
2904
|
-
"autonomousAgent": {
|
|
2905
|
-
"enabled": false,
|
|
2906
|
-
"maxTradeAmount": "10.00",
|
|
2907
|
-
"riskTolerance": "moderate",
|
|
2908
|
-
"tokenFilters": {
|
|
2909
|
-
"minHolders": 10,
|
|
2910
|
-
"maxWhalePercentage": 20,
|
|
2911
|
-
"minLiquidity": 1000
|
|
2912
|
-
},
|
|
2913
|
-
"stopLoss": 20,
|
|
2914
|
-
"takeProfit": 50,
|
|
2915
|
-
"eventStreamUrl": "wss://events.402.cat",
|
|
2916
|
-
"databasePath": "~/.config/httpcat/agent.db"
|
|
2917
|
-
}
|
|
2918
|
-
}
|
|
2919
|
-
```
|
|
2920
|
-
|
|
2921
|
-
**Security Features:**
|
|
2922
|
-
|
|
2923
|
-
- **Password Protection**: Set a password during setup to encrypt your private keys and seed phrase
|
|
2924
|
-
- **Session Management**: Configurable timeout (default: 15 minutes via `passwordTimeoutMinutes`)
|
|
2925
|
-
- After the timeout, you'll need to re-enter your password to unlock the wallet
|
|
2926
|
-
- Session tokens are managed automatically to keep your wallet secure
|
|
2927
|
-
- **Multi-Account Support**: Manage multiple accounts (seed-derived HD wallet accounts and custom imported accounts)
|
|
2928
|
-
- **Encrypted Storage**: Keys and seed phrases are encrypted when password is enabled
|
|
2929
|
-
- **Account Types**:
|
|
2930
|
-
- **Account 0 (Custom)**: Imported via private key during initial setup
|
|
2931
|
-
- **Account 1+ (Seed-Derived)**: Generated from your seed phrase using BIP-32/BIP-39 HD wallet derivation
|
|
2932
|
-
- You can add unlimited seed-derived accounts using `account add`
|
|
2933
|
-
- All accounts share the same password protection
|
|
2934
|
-
|
|
2935
|
-
**Security Notes:**
|
|
2936
|
-
|
|
2937
|
-
- **Without password**: Private key stored in plain text (legacy `privateKey` field, auto-migrated to encrypted format on first password setup)
|
|
2938
|
-
- **With password**: Private key, seed phrase, and AI API keys are AES-256 encrypted
|
|
2939
|
-
- **Session Timeout**: Wallet automatically locks after 15 minutes of inactivity (configurable)
|
|
2940
|
-
- **For production use**:
|
|
2941
|
-
- Enable password protection during setup for encryption
|
|
2942
|
-
- Use `HTTPCAT_PRIVATE_KEY` environment variable for additional security in scripts
|
|
2943
|
-
- Set restrictive file permissions: `chmod 600 ~/.config/httpcat/config.json`
|
|
2944
|
-
- Use a dedicated wallet with limited funds for trading operations
|
|
2945
|
-
|
|
2946
|
-
## How It Works
|
|
2947
|
-
|
|
2948
|
-
### x402 Payment Protocol
|
|
2949
|
-
|
|
2950
|
-
httpcat uses the [x402 protocol V2](https://x402.org) for micropayments:
|
|
2951
|
-
|
|
2952
|
-
1. **Request** - CLI makes a request to the agent
|
|
2953
|
-
2. **402 Response** - Agent returns payment requirements
|
|
2954
|
-
3. **Payment** - CLI automatically transfers USDC
|
|
2955
|
-
4. **Verification** - Agent verifies payment via facilitator
|
|
2956
|
-
5. **Response** - Agent processes request and returns result
|
|
2957
|
-
|
|
2958
|
-
All of this happens automatically - you just see the result!
|
|
2959
|
-
|
|
2960
|
-
### Bonding Curve
|
|
2961
|
-
|
|
2962
|
-
Tokens use a bonding curve pricing mechanism:
|
|
2963
|
-
|
|
2964
|
-
- Price increases as more tokens are bought
|
|
2965
|
-
- Price decreases as tokens are sold
|
|
2966
|
-
- 1% fee on all buy/sell operations
|
|
2967
|
-
- Automatic graduation at market cap threshold
|
|
2968
|
-
- Graduated tokens get Uniswap V2 liquidity
|
|
2969
|
-
|
|
2970
|
-
## Troubleshooting
|
|
2971
|
-
|
|
2972
|
-
### "No private key configured"
|
|
2973
|
-
|
|
2974
|
-
Run the setup wizard:
|
|
2975
|
-
|
|
2976
|
-
```bash
|
|
2977
|
-
httpcat config
|
|
2978
|
-
```
|
|
2979
|
-
|
|
2980
|
-
Or use environment variable:
|
|
2981
|
-
|
|
2982
|
-
```bash
|
|
2983
|
-
export HTTPCAT_PRIVATE_KEY=0x...
|
|
2984
|
-
```
|
|
2985
|
-
|
|
2986
|
-
### "Insufficient USDC balance"
|
|
2987
|
-
|
|
2988
|
-
Make sure you have enough USDC in your wallet:
|
|
2989
|
-
|
|
2990
|
-
- Test mode (Base Sepolia / eip155:84532): Get testnet USDC from faucets
|
|
2991
|
-
- Production (base): Bridge USDC to Base
|
|
2992
|
-
|
|
2993
|
-
You also need ETH for gas fees.
|
|
2994
|
-
|
|
2995
|
-
### "Request failed with status 402"
|
|
2996
|
-
|
|
2997
|
-
The payment verification failed. Check:
|
|
2998
|
-
|
|
2999
|
-
1. Wallet has sufficient USDC and ETH
|
|
3000
|
-
2. Network is correct (eip155:84532 for testnet vs eip155:8453 for mainnet)
|
|
3001
|
-
3. Agent URL is reachable
|
|
3002
|
-
4. Facilitator URL is correct
|
|
3003
|
-
|
|
3004
|
-
### Connection errors
|
|
3005
|
-
|
|
3006
|
-
Verify the agent is running:
|
|
3007
|
-
|
|
3008
|
-
```bash
|
|
3009
|
-
httpcat health
|
|
3010
|
-
```
|
|
3011
|
-
|
|
3012
|
-
Check your config:
|
|
3013
|
-
|
|
3014
|
-
```bash
|
|
3015
|
-
httpcat config --show
|
|
3016
|
-
```
|
|
3017
|
-
|
|
3018
|
-
## Examples
|
|
3019
|
-
|
|
3020
|
-
### Complete Workflow
|
|
3021
|
-
|
|
3022
|
-
```bash
|
|
3023
|
-
# Setup
|
|
3024
|
-
httpcat config
|
|
3025
|
-
|
|
3026
|
-
# Check your wallet balances
|
|
3027
|
-
httpcat balances
|
|
3028
|
-
|
|
3029
|
-
# Create a token
|
|
3030
|
-
httpcat create "Moon Cat" "MOON" -w --website https://mooncat.io
|
|
3031
|
-
|
|
3032
|
-
# Buy tokens
|
|
3033
|
-
httpcat buy 0x1234... 5
|
|
3034
|
-
|
|
3035
|
-
# Check your position
|
|
3036
|
-
httpcat info 0x1234...
|
|
3037
|
-
|
|
3038
|
-
# Get all your positions with comprehensive info
|
|
3039
|
-
httpcat positions
|
|
3040
|
-
|
|
3041
|
-
# Sell half when profitable
|
|
3042
|
-
httpcat sell 0x1234... 50%
|
|
3043
|
-
|
|
3044
|
-
# List all your tokens (shows positions)
|
|
3045
|
-
httpcat list
|
|
3046
|
-
```
|
|
3047
|
-
|
|
3048
|
-
### Scripted Trading Bot
|
|
3049
|
-
|
|
3050
|
-
```bash
|
|
3051
|
-
#!/bin/bash
|
|
3052
|
-
|
|
3053
|
-
TOKEN_ADDRESS="0x1234567890abcdef1234567890abcdef12345678"
|
|
3054
|
-
|
|
3055
|
-
# Monitor and trade
|
|
3056
|
-
while true; do
|
|
3057
|
-
INFO=$(httpcat -j info $TOKEN_ADDRESS)
|
|
3058
|
-
PROGRESS=$(echo $INFO | jq -r '.data.graduationProgress')
|
|
3059
|
-
|
|
3060
|
-
# Buy if close to graduation
|
|
3061
|
-
if (( $(echo "$PROGRESS > 90" | bc -l) )); then
|
|
3062
|
-
httpcat -q buy $TOKEN_ADDRESS 5
|
|
3063
|
-
fi
|
|
3064
|
-
|
|
3065
|
-
sleep 60
|
|
3066
|
-
done
|
|
3067
|
-
```
|
|
3068
|
-
|
|
3069
|
-
## Development
|
|
3070
|
-
|
|
3071
|
-
```bash
|
|
3072
|
-
# Install dependencies
|
|
3073
|
-
yarn install
|
|
3074
|
-
|
|
3075
|
-
# Build
|
|
3076
|
-
yarn build
|
|
3077
|
-
|
|
3078
|
-
# Watch mode
|
|
3079
|
-
yarn dev
|
|
3080
|
-
|
|
3081
|
-
# Link for local testing
|
|
3082
|
-
yarn link
|
|
3083
|
-
|
|
3084
|
-
# Test
|
|
3085
|
-
httpcat --version
|
|
3086
|
-
```
|
|
278
|
+
---
|
|
3087
279
|
|
|
3088
280
|
## License
|
|
3089
281
|
|
|
@@ -3091,6 +283,7 @@ MIT
|
|
|
3091
283
|
|
|
3092
284
|
## Support
|
|
3093
285
|
|
|
3094
|
-
-
|
|
3095
|
-
-
|
|
3096
|
-
-
|
|
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
|