Autonomous ETH/USDC spot bot on Base using Uniswap v3. Designed for dedicated-wallet micro-accounts (≤ $12) with mean-reversion bands, QuoterV2 slippage protection, and strict per-session trade + loss caps.
- Honest scope: tiny account, tiny risk, hard capital cap — no hype.
- Safe wallet pattern: never uses your main MetaMask; bot trades from a
dedicated, low-balance address whose key lives in
.envonly. - Uniswap v3 done right: QuoterV2 +
amountOutMinimumwith slippage buffer, cooldowns between trades, single-position constraint. - Contracts documented: WETH / USDC / pool / QuoterV2 / SwapRouter02 / Factory addresses included for auditability.
Charm is the on-chain sibling of BrokeBot (CEX funding-rate). Both can be wired to the ARC-Core event spine for receipts + replay:
- ARC-Core
- omnibinary-runtime + Arc-RAR — any-OS portability.
- Portfolio — full project index.
uniswap v3 bot · base chain bot · defi trading bot · ethers.js bot ·
mean reversion · slippage protection · dedicated bot wallet ·
on-chain trading · micro-account · metamask · nodejs
Also available under docs/official/ in-tree, and through the Pages landing at https://garebear99.github.io/Charm/.
This package runs an autonomous ETH<->USDC spot bot on Base using Uniswap v3. It is designed for small accounts and enforces a hard capital cap (default: $12).
MetaMask is best used to fund a dedicated bot wallet (new address) with ≤ $12. The bot then trades from that wallet using an RPC provider. This is the normal way to run autonomous bots without fragile browser-extension automation.
- Samples the Uniswap v3 WETH/USDC 0.05% pool price on Base.
- Computes rolling mean + stdev bands.
- Buys WETH with USDC when price is low (below lower band) and cooldown allows.
- Sells WETH back to USDC when price is high (above upper band) and cooldown allows.
- Uses Uniswap QuoterV2 to compute
amountOutMinimumwith a slippage buffer. - Enforces strict safety limits:
- single position at a time
- max trades per session
- stop after consecutive losses
- halts if total value exceeds cap
- Node.js 18+
- A Base RPC URL (default Base public RPC works)
- A dedicated bot wallet private key funded on Base
cd charm-extension-bot
npm install
cp .env.example .env
# edit .env with your BOT_PRIVATE_KEY and optional params
npm run startnpm run dryrun- In MetaMask, add Base network.
- Bridge USDC to Base.
- Send ≤ $12 USDC to your bot wallet address.
- This is probabilistic. There is no guarantee to double $10 in 48h.
- Do not run this with your main wallet.
- Start with DRY_RUN to confirm pricing + signals.
- WETH: 0x4200000000000000000000000000000000000006
- USDC: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
- Uniswap v3 WETH/USDC 0.05% pool: 0xd0b53D9277642d899DF5C87A3966A349A798F224
- Uniswap QuoterV2: 0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a
- Uniswap SwapRouter02: 0x2626664c2603336E57B271c5C0b26F421741e481
- Uniswap V3 Factory: 0x33128a8fC17869897dcE68Ed026d694621f6FDfD
Six sibling repositories. Same ARC event-and-receipt doctrine. Each has its own live GitHub Pages docs site, source, and README.
| Repo | One-liner | Source | Docs site |
|---|---|---|---|
| BrokeBot | TRON Funding-Rate Arbitrage (CEX, Python) | source | https://garebear99.github.io/BrokeBot/ |
| Charm (you are here) | Uniswap v3 Spot Bot on Base (Node.js) | source | https://garebear99.github.io/Charm/ |
| Harvest | Multi-Timeframe Crypto Research Platform (Python) | source | https://garebear99.github.io/Harvest/ |
| One-Shot-Multi-Shot | Binary-Options 3-Hearts Engine (JS) | source | https://garebear99.github.io/One-Shot-Multi-Shot/ |
| DecaGrid | Capital-Ladder Grid Trading Docs Pack | source | https://garebear99.github.io/DecaGrid/ |
| EdgeStack Currency | Event-Sourced Multi-Currency Execution Spec | source | https://garebear99.github.io/EdgeStack_Currency/ |
- ARC-Core — governed event + receipt spine the fleet plugs into.
- omnibinary-runtime + Arc-RAR — any-OS portability for deployment.
- Portfolio — full project index (audio plugins, games, simulators, AI runtimes, robotics, trading).
If this repo helps you, the maintainer runs the entire ARC ecosystem solo. Any of the following keep the lights on:
- GitHub Sponsors: https://github.com/sponsors/GareBear99
- Buy Me a Coffee: https://www.buymeacoffee.com/garebear99
- Ko-fi: https://ko-fi.com/garebear99
Every dollar funds hardening across ARC-Core + the 15 consumer repos + the four roadmap repos. One author, one funding pool.