{
  "markdown": "<p align=\"center\">\n  <img src=\"https://mint.club/logo.png\" alt=\"Mint Club\" width=\"80\" />\n</p>\n\n<h1 align=\"center\">Mint Club V2 — AI Tools</h1>\n\n<p align=\"center\">\n  Trade, create, and manage <a href=\"https://github.com/Steemhunt/mint.club-v2-contract#design-choices-\">bonding curve tokens</a> across supported Uniswap chains — from the terminal, AI assistants, or autonomous agents.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@mint.club/v2-cli\"><img src=\"https://badgen.net/npm/v/@mint.club/v2-cli?label=CLI&color=0ea5e9\" alt=\"CLI npm\" /></a>\n  <a href=\"https://www.npmjs.com/package/@mint.club/v2-cli\"><img src=\"https://badgen.net/npm/dm/@mint.club/v2-cli?label=downloads&color=14b8a6\" alt=\"CLI downloads\" /></a>\n  <a href=\"https://packagephobia.com/result?p=%40mint.club%2Fv2-cli\"><img src=\"https://badgen.net/packagephobia/install/@mint.club/v2-cli?color=8b5cf6\" alt=\"CLI install size\" /></a>\n  <br />\n  <a href=\"https://www.npmjs.com/package/@mint.club/v2-mcp\"><img src=\"https://badgen.net/npm/v/@mint.club/v2-mcp?label=MCP&color=0ea5e9\" alt=\"MCP npm\" /></a>\n  <a href=\"https://www.npmjs.com/package/@mint.club/v2-mcp\"><img src=\"https://badgen.net/npm/dm/@mint.club/v2-mcp?label=downloads&color=14b8a6\" alt=\"MCP downloads\" /></a>\n  <a href=\"https://packagephobia.com/result?p=%40mint.club%2Fv2-mcp\"><img src=\"https://badgen.net/packagephobia/install/@mint.club/v2-mcp?color=8b5cf6\" alt=\"MCP install size\" /></a>\n  <br />\n  <a href=\"https://www.npmjs.com/package/@mint.club/v2-eliza-plugin\"><img src=\"https://badgen.net/npm/v/@mint.club/v2-eliza-plugin?label=Eliza&color=0ea5e9\" alt=\"Eliza plugin npm\" /></a>\n  <a href=\"https://www.npmjs.com/package/@mint.club/v2-eliza-plugin\"><img src=\"https://badgen.net/npm/dm/@mint.club/v2-eliza-plugin?label=downloads&color=14b8a6\" alt=\"Eliza plugin downloads\" /></a>\n  <br />\n  <a href=\"https://github.com/Steemhunt/mint.club-v2-ai\"><img src=\"https://badgen.net/github/stars/Steemhunt/mint.club-v2-ai?icon=github&label=stars&color=3b82f6\" alt=\"GitHub stars\" /></a>\n  <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://badgen.net/badge/license/MIT/3b82f6\" alt=\"MIT\" /></a>\n</p>\n\n---\n\nProtocol-native [Mint Club V2](https://mint.club) tooling for humans and agents. Reads and direct Bond operations use the configured Mint Club contracts; routed trades use local RPC quotes and `MCV2_ZapV2`.\n\n## Tooling\n\n| Package | Purpose |\n|---|---|\n| [`@mint.club/v2-cli`](./cli) | Direct CLI for Bond, bounded local Uniswap routing, ZapV2, token creation, transfers, prices, and balances |\n| [`@mint.club/v2-mcp`](./mcp) | MCP tools backed by the CLI |\n| [`@mint.club/v2-eliza-plugin`](./eliza-plugin) | ElizaOS actions backed by the CLI |\n| [`SKILL.md`](./SKILL.md) | Agent instructions for using `mc` safely |\n\nAll three adapters consume the published [`chain-registry.json`](./cli/chain-registry.json) from `@mint.club/v2-cli`. The registry is the shared source for chain keys, aliases, IDs, and capability flags; the CLI validates it against its full contract/token/RPC configuration at startup.\n\nFor application development, use the separate [`@mint.club/v2-sdk`](https://www.npmjs.com/package/@mint.club/v2-sdk) package and [SDK documentation](https://sdk.mint.club).\n\n## Package migration\n\nVersion 2.0 consolidates the public packages under the `@mint.club` npm organization:\n\n| Previous package | 2.0 package |\n|---|---|\n| `mint.club-v2-sdk` | `@mint.club/v2-sdk` |\n| `mint.club-cli` | `@mint.club/v2-cli` |\n| `mintclub-mcp` | `@mint.club/v2-mcp` |\n\nThe scoped names supersede the legacy SDK, CLI, and MCP package names. Existing users should migrate their install and configuration commands; package binaries remain `mc` and `mintclub-mcp`. `@mint.club/v2-eliza-plugin` is new—the earlier `@elizaos/plugin-mintclub` name was never published.\n\n## Quick start\n\n```bash\nnpm install -g @mint.club/v2-cli\nmc wallet --generate\n\nmc --chain base info SIGNET\nmc --chain arbitrum price 0xTOKEN\nmc --chain robinhood wallet\n```\n\nThe CLI and MCP server require Node.js 18 or later. The ElizaOS plugin and repository development require Node.js 22.13 or later. Generate a dedicated wallet with limited funds, or provide `PRIVATE_KEY` through a trusted secret manager; never paste a key into an agent conversation.\n\nFinancial writes are fail-closed: CLI writes require `--yes` (while `create` keeps its interactive prompt), MCP write tools require explicit chain/assets plus `confirm: true` and must remain behind the host's destructive-tool approval, and Eliza writes require one affirmative original-user `Confirm:` statement with exactly one explicit chain and all effective limits, slippage, assets, and royalties.\n\n## Protocol operations\n\n| Operation | Contract path |\n|---|---|\n| Buy with the configured reserve ERC-20 | `MCV2_Bond.mint` |\n| Sell for the configured reserve ERC-20 | `MCV2_Bond.burn` |\n| Buy from a routed native/ERC-20 asset | local Uniswap quote + `MCV2_ZapV2.zapMint` |\n| Sell into a routed native/ERC-20 asset | `MCV2_ZapV2.zapBurn` + local Uniswap quote |\n| Create an ERC-20 bonding curve token | `MCV2_Bond.createToken` |\n\nExample ZapV2 syntax:\n\n```bash\nmc --chain arbitrum zap-buy 0xMINT_CLUB_TOKEN \\\n  --input-token USDT \\\n  --input-amount 10 \\\n  --slippage 1 \\\n  --yes\n\nmc --chain unichain zap-sell 0xMINT_CLUB_TOKEN \\\n  --amount 100 \\\n  --output-token USDC \\\n  --slippage 1 \\\n  --yes\n```\n\nBoth ERC-20 and ERC-1155 Mint Club tokens can be direct Bond or Zap targets. Routed input and output assets must be native currency or ERC-20 tokens. ZapV2 is deployed on every supported chain listed below. Blast is intentionally unsupported because it is outside the official Uniswap deployment set used by this integration.\n\n## Local routing model\n\nRouting does not call the Uniswap Trading API, Smart Order Router, Mint Club route services, or any API-key quote service. It uses chain RPC calls only:\n\n1. Enumerate direct paths and paths with one configured wrapped-native or stablecoin intermediary.\n2. Quote homogeneous Uniswap V2, V3, and V4 candidates where configured for the selected chain.\n3. Isolate expected missing-pool reverts while surfacing transport failures.\n4. Choose the highest exact-input output with deterministic tie-breaking.\n5. Encode only the selected path with `@uniswap/universal-router-sdk`.\n\nThe encoder uses Universal Router V2.0 commands with router-balance payment (`payerIsUser = false`) and the ZapV2 contract as recipient. It rejects Permit2 ingress commands and settles any unused routed input directly back to the caller.\n\nDeliberate limits: no split routes, mixed-protocol paths, arbitrary-length graph search, dynamic-fee V4 pools, or hooked V4 pools. V4 discovery checks only canonical hookless fee/tick-spacing pairs. This repository does not expose a general-purpose swap command.\n\n## MCP tools\n\nThe MCP server exposes nine tools:\n\n`token_info` · `token_price` · `wallet_balance` · `buy_token` · `sell_token` · `zap_buy` · `zap_sell` · `send_token` · `create_token`\n\nRead tools accept an optional canonical `chain` key and default to Base. Write tools require an explicit chain. See the [MCP reference](./mcp/README.md) for schemas and safe client configuration.\n\n## Architecture\n\n```text\nAI agent / user\n      │\n      ├── mc CLI\n      ├── MCP server ────── argv ──┐\n      ├── ElizaOS plugin ── argv ──┤\n      └── Agent skill ─────────────┤\n                                   ▼\n                          @mint.club/v2-cli\n                                   │\n                  ┌────────────────┼─────────────────┐\n                  ▼                ▼                 ▼\n             MCV2_Bond        local RPC quotes   DefiLlama API\n            mint/burn/create   V2 / V3 / V4       USD pricing\n                                   │\n                                   ▼\n                        Universal Router encoding\n                                   │\n                                   ▼\n                              MCV2_ZapV2\n```\n\nMCP and Eliza invoke the CLI with argument arrays rather than shell-interpolated commands.\n\n## Supported chains\n\n| Chain | CLI key | Chain ID |\n|---|---|---:|\n| Ethereum | `ethereum` | 1 |\n| Optimism | `optimism` | 10 |\n| Arbitrum One | `arbitrum` | 42161 |\n| Avalanche C-Chain | `avalanche` | 43114 |\n| Base | `base` | 8453 |\n| Polygon PoS | `polygon` | 137 |\n| BNB Smart Chain | `bsc` | 56 |\n| Zora | `zora` | 7777777 |\n| Unichain | `unichain` | 130 |\n| Robinhood Chain | `robinhood` | 4663 |\n| Sepolia | `sepolia` | 11155111 |\n| Base Sepolia | `base-sepolia` | 84532 |\n\nSee the [CLI reference](./cli/README.md) for command options, routing details, and contract configuration.\n\n## Development\n\nThe three publishable packages share one npm workspace lockfile:\n\n```bash\nnpm ci\nnpm run check\nnpm test\nnpm run test:integration\nnpm run test:fork\nnpm run build\nnpm run audit:production\nnpm run audit:full\nnpm run test:release\n```\n\nRepository development requires Node.js 22.13 or later. CI separately verifies the published CLI and MCP runtime paths on Node.js 18. The default tests are deterministic and offline. `test:integration` performs read-only deployment and immutable checks across all supported networks plus live route quotes where a stable intermediary is configured. `test:fork` runs write flows against a pinned local Base fork and requires Anvil.\n\nFor releases, update all three package versions, the CLI dependency ranges, and `mcp/server.json`, then commit and push the changes to `main`. After the main CI run passes, use the repository release command:\n\n```bash\nnpm run release\n```\n\nThe command requires authenticated `npm` and `git` sessions. It runs the release gates, publishes the CLI first, waits for npm availability, publishes MCP and ElizaOS, verifies that every package records the current commit as its `gitHead`, and pushes the matching `vX.Y.Z` tag. The tag-triggered GitHub workflow then creates the GitHub Release automatically. Already-published packages from the same commit are skipped safely, so a partially completed npm release can be resumed. If npm publishing and the tag push succeed but the GitHub workflow fails, rerun that workflow from GitHub Actions.\n\n## License\n\nMIT. Published packages include the project `LICENSE`; bundled CLI and MCP dependencies are covered by generated `THIRD_PARTY_NOTICES.md` files. The CLI build keeps only the ABIs from imported Uniswap contract artifacts and excludes their bytecode. See [SECURITY.md](./SECURITY.md) for the dependency audit policy.\n",
  "bytes": 10486,
  "sha": "40588a08e9337185897a1b70ffa9f9e0bb5d180f2d2f99c8c67304d7d81d4edf",
  "repo_slug": "steemhunt/mint.club-v2-ai",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_h1_hunt_mintclub_c5c209f2/readme"
}