npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@basememe/ai

v0.3.5

Published

CLI, OpenClaw plugin, and agent skill for Basememe meme tokens on Base — V4 standard tokens and tax tokens (transfer/trade tax + 4-channel processor split + Vault strategies: split, snowball, burn-dividend, gift)

Readme

@basememe/ai — Basememe AI CLI & Agent Skill

⚠️ This tool operates on Base mainnet with real funds. Never share your private key or seed phrase. Use a dedicated low-balance wallet for trading. Always verify token addresses, amounts, and chain before executing write commands.

@basememe/ai is the Basememe CLI, OpenClaw plugin, and agent skill for creating and trading meme tokens on Basememe on the Base chain.

Official publish repo: https://github.com/base-meme/agentic

The package ships three layers:

  • basememe CLI for terminal use
  • openclaw.plugin.json and plugin.js for OpenClaw installation
  • skills/basememe-integration for agent-guided Basememe workflows

All basememe commands return JSON. The basememe CLI loads .env from the current working directory before executing a basememe command.

Requirements: Node.js 18+.

Install

Option 1: Global CLI

npm install -g @basememe/ai@latest
basememe --help

Option 2: Clone and run locally

git clone https://github.com/base-meme/agentic.git
cd agentic
npm install
npx basememe --help

Option 3: OpenClaw plugin + skill

See Install as OpenClaw Plugin below.

Environment Variables (without OpenClaw)

When you do not use OpenClaw, the CLI reads PRIVATE_KEY and BASE_RPC_URL from the process environment. Set them in one of these ways:

Option 1: .env file in the working directory

Create a file named .env in the directory where you run basememe commands:

# .env (do not commit this file)
PRIVATE_KEY=your_hex_private_key_with_or_without_0x_prefix
BASE_RPC_URL=https://mainnet.base.org

The CLI automatically loads .env from the current working directory via dotenv.

Option 2: export in the shell

export PRIVATE_KEY=your_hex_private_key
export BASE_RPC_URL=https://mainnet.base.org
basememe verify
  • PRIVATE_KEY: Required for any command that signs or sends a transaction (buy, sell, send, create, 8004-register, dividend-claim, vault-claim, vault-burn, vault-claim-reward, gift-proof-submit). Hex string; 0x prefix optional.
  • BASE_RPC_URL: Optional. Base RPC endpoint; if unset, the CLI uses https://mainnet.base.org.
  • BASEMEME_RECEIPT_TIMEOUT_MS: Optional integer (ms). Override viem's default waitForTransactionReceipt timeout (≈180s on Base). On timeout, the CLI throws a structured error with {code: 'RECEIPT_TIMEOUT', txHash, txLabel} so a wrapper can poll the in-flight hash with its own deadline instead of resubmitting.
  • Security: Do not commit .env or share your private key. Add .env to .gitignore if you use a .env file.

Install as OpenClaw Plugin

This repo is an OpenClaw-compatible plugin. Install so the skill is loaded and PRIVATE_KEY / BASE_RPC_URL are only injected for this skill (via skills.entries):

openclaw plugins install @basememe/ai

Then in ~/.openclaw/openclaw.json set:

{
  "skills": {
    "entries": {
      "basememe-ai": {
        "enabled": true,
        "env": {
          "PRIVATE_KEY": "0x...",
          "BASE_RPC_URL": "https://mainnet.base.org"
        }
      }
    }
  }
}

After modifying ~/.openclaw/openclaw.json, restart OpenClaw for changes to take effect.

Quick Start

  1. Verify your Basememe setup and Base connectivity:
basememe verify
  1. Discover recent Basememe launches:
basememe token-list --sort newest --limit 5
  1. Quote a Basememe buy before trading:
basememe quote-buy 0xTokenAddress 0.01

Useful follow-ups:

basememe token-info 0xTokenAddress
basememe buy 0xTokenAddress 0.01 --slippage 500
basememe sell 0xTokenAddress 1000000 --slippage 500
basememe create --name "My Token" --symbol "MTK" --image ./logo.png --pair ETH

Command Reference

Read-only commands

| Command | Purpose | |---------|---------| | basememe config | Show active chain, RPC, API URL, and contract addresses | | basememe verify | Check Basememe RPC, API, contracts, and optional wallet connectivity | | basememe token-info <tokenAddress> | Read on-chain Basememe token state and phase (tax-aware) | | basememe token-get <tokenAddress> | Fetch Basememe API token detail and trade data | | basememe token-list [--sort <sort>] [--kw <keyword>] [--offset <n>] [--limit <n>] | List Basememe tokens from the API | | basememe rankings <orderBy> [--limit <n>] | Fetch Basememe leaderboard slices | | basememe quote-buy <tokenAddress> <ethAmount> [--slippage <bps>] | Quote ETH-to-token output (tax-aware) | | basememe quote-sell <tokenAddress> <tokenAmount> [--slippage <bps>] | Quote token-to-ETH output (tax-aware) | | basememe events [fromBlock] [--toBlock <block>] [--chunk <n>] | Read Basememe factory events | | basememe tax-info <tokenAddress> | Tax token metadata: tax rate, processor splits, mainPool, dividendContract, pool state | | basememe dividend-info <tokenAddress> [--user <address>] | Per-user dividend balance (withdrawable + withdrawn) for a tax token | | basememe vault-info <tokenAddress> | Detect vault type (split / snowball / burn-dividend / gift) attached to a tax token + per-user share |

Write commands

| Command | Purpose | |---------|---------| | basememe buy <tokenAddress> <ethAmount> [--slippage <bps>] | Buy a Basememe token with ETH (tax-aware routing) | | basememe sell <tokenAddress> <tokenAmount> [--slippage <bps>] | Sell a Basememe token for ETH (tax-aware routing) | | basememe send <toAddress> <amount> [--token <tokenAddress>] | Send ETH or ERC20 tokens on Base | | basememe create --name <name> --symbol <symbol> --image <path> [options] | Create a Basememe token (V4 standard or tax token via --tax-rate) | | basememe dividend-claim <tokenAddress> | Claim accrued dividends from a tax token's dividend contract | | basememe vault-claim <tokenAddress> | Claim split-vault share for the caller | | basememe vault-burn <tokenAddress> <amount> | Burn tokens to register a stake in a burn-dividend vault | | basememe vault-claim-reward <tokenAddress> [--to <address>] | Claim snowball / burn-dividend / gift vault reward | | basememe gift-proof-submit <tokenAddress> <tweetId> | Submit an X (Twitter) tweet ID as a gift-vault Merkle proof |

Utility commands

| Command | Purpose | |---------|---------| | basememe 8004-register <name> [--image <url>] [--description <text>] | Mint an ERC-8004 identity NFT | | basememe 8004-balance [address] | Check ERC-8004 identity NFT balance |

Create Command Notes

The basememe create command always requires:

  • --name <name>
  • --symbol <symbol>
  • --image <path>

Supported collateral pairs:

| Pair | Type | Notes | |------|------|-------| | ETH | Native | Default Basememe pair on Base | | USDC | ERC20 | Uses the Base native USDC collateral template | | SOL | ERC20 | Uses the Basememe SOL collateral template |

Common optional flags:

  • --description <text>
  • --website <url>
  • --twitter <handle>
  • --telegram <handle>
  • --pair <ETH|USDC|SOL>
  • --target-raise <amount>
  • --bonding-curve-pct <pct>
  • --vesting-pct <pct>
  • --vesting-duration <value>
  • --cliff-duration <value>
  • --vesting-recipient <address>
  • --buy-amount <amount>

Tax token flags (route to the tax factory; standard create otherwise):

  • --tax-rate <1|2|3|5> — transfer tax percent. Presence of this flag opts the create into the tax factory (coin_version >= 11.2.0).
  • --funds-bps <bps> — bps share of collected tax routed to the funds recipient (or vault if attached). Sum of all four *-bps flags must equal 10000.
  • --burn-bps <bps> — bps share routed to deflation (buyback & burn).
  • --dividend-bps <bps> — bps share routed to the per-token dividend contract for holder distribution.
  • --liquidity-bps <bps> — bps share routed to LP top-up on the graduated Uniswap V2 pool.
  • --market-mode <evm|vault>evm sends the funds-recipient share to a wallet; vault deploys a vault contract.
  • --market-recipient <address> — required when --market-mode evm.
  • --vault-type <split|snowball|burn-dividend|gift> — required when --market-mode vault. See Tax Tokens below.
  • --split-recipients <addr1,bps1;addr2,bps2;...> — required for --vault-type split. Up to 10 recipients, sum of bps = 10000.
  • --gift-x-handle <handle> — required for --vault-type gift. The X (Twitter) handle that controls the vault.

Tax Tokens

Tax tokens (coin_version >= 11.2.0) are a separate factory deployment that supports a creator-defined transfer/trade tax on top of the standard 1% platform fee. They graduate to Uniswap V2 instead of V4.

When a tax is collected, the on-chain TaxProcessor distributes it across up to four channels based on the bps split fixed at creation:

| Channel | What it does | |---------|--------------| | Funds Recipient | Sent directly to a wallet, or to an attached Vault strategy contract. | | Holder Dividend | Proportional distribution to all holders via the per-token Dividend contract. Claim with basememe dividend-claim. | | Token Burn | Buyback on Uniswap V2 and burn to the dead address. | | Add to Liquidity | Routed back into the Uniswap V2 pool. |

Vault strategies

Attaching a vault to the Funds Recipient channel automates how that share is used:

| Vault | Strategy | Inspect with | Claim with | |-------|----------|--------------|------------| | Split | Distributes among up to 10 recipients by configured bps | vault-info | vault-claim | | SnowBall | All revenue used for continuous buyback & burn | vault-info | vault-claim-reward | | BurnDividend | First phase = buyback & burn. After the first user burn, switches to a dividend model where burners earn proportional share of future tax | vault-info | vault-burn then vault-claim-reward | | Gift | A designated X (Twitter) handle directs the revenue to any wallet via tweet. Falls back to SnowBall if the handle goes 7 days without a valid tweet. | vault-info | gift-proof-submit then vault-claim-reward |

Tax read commands

basememe tax-info 0xTaxToken             # tax rate / 4-channel split / processor / dividend contract
basememe dividend-info 0xTaxToken --user 0xWallet   # withdrawable + withdrawn for a holder
basememe vault-info 0xTaxToken           # vault type + per-user share / shares

Tax write commands

basememe dividend-claim 0xTaxToken                  # claim my dividends
basememe vault-claim 0xTaxToken                     # split-vault claim
basememe vault-burn 0xTaxToken 1000                 # burn 1000 tokens to stake in burn-dividend vault
basememe vault-claim-reward 0xTaxToken              # claim snowball/burn-dividend/gift reward
basememe gift-proof-submit 0xTaxToken 1234567890123 # submit a tweet ID as gift-vault X-proof

Tax create example

basememe create \
  --name "Coin" --symbol "CON" --image ./logo.png \
  --pair ETH \
  --tax-rate 5 \
  --funds-bps 4000 --burn-bps 2000 --dividend-bps 2000 --liquidity-bps 2000 \
  --market-mode evm --market-recipient 0xCreator

Or with a vault attached to the funds recipient channel:

basememe create \
  --name "SnowBall Coin" --symbol "SNOW" --image ./logo.png \
  --pair ETH --tax-rate 3 \
  --funds-bps 4000 --burn-bps 2000 --dividend-bps 2000 --liquidity-bps 2000 \
  --market-mode vault --vault-type snowball

Vault selection requires ETH as the payment token. Tax token parameters are immutable after creation.

For a deeper end-to-end walkthrough see the SKILL.md and the references under skills/basememe-integration/references/.

Basememe Workflow

Recommended Basememe flow:

  1. basememe verify
  2. basememe token-list --sort newest
  3. basememe token-info 0xTokenAddress
  4. basememe quote-buy 0xTokenAddress 0.01
  5. basememe buy 0xTokenAddress 0.01 --slippage 500

For agent usage, see skills/basememe-integration/SKILL.md.

Troubleshooting

Common Basememe issues:

  • PRIVATE_KEY environment variable is required for this command.: set PRIVATE_KEY in .env or your shell
  • Unsupported pair: use ETH, USDC, or SOL
  • Token is in graduated state: re-check later with basememe token-info
  • Token is in bonding curve phase — transfers are restricted until graduation: use basememe sell instead of basememe send
  • RPC failures: set BASE_RPC_URL explicitly and rerun basememe verify
  • API failures: check Basememe service availability and rerun basememe verify

Detailed error guidance lives in skills/basememe-integration/references/errors.md.