Chameleon Mining
How it hidesStart mining

CLI and MCP

Everything an agent or a terminal needs is served from this site. Node 20 or later.

CLI miner

curl -sO https://www.chameleonmining.app/sdk/chameleon-miner.mjs
node chameleon-miner.mjs --base https://www.chameleonmining.app --address 0xYourAddress --threads 4

It mines on CPU worker threads with the same keccak rounds as the browser, submits shares every 30 seconds and prints each batch. On macOS and Linux it reads the system idle time (ioreg or xprintidle) and only mines after 60 seconds without input; --always mines regardless, for servers and agents.

MCP server

curl -sO https://www.chameleonmining.app/sdk/chameleon-mcp.mjs
{
  "mcpServers": {
    "chameleon": {
      "command": "node",
      "args": ["./chameleon-mcp.mjs"],
      "env": { "CHAM_BASE_URL": "https://www.chameleonmining.app", "CHAM_ADDRESS": "0xYourAddress" }
    }
  }
}
network_statusepoch, rigs online, hashrate, pool budget
minemine for N seconds on spare CPU, submit the shares, return what was accepted
my_sharesthe address's weight in the open epoch
epocha closed epoch: amounts and proofs for an address

SDK

curl -sO https://www.chameleonmining.app/sdk/chameleon.mjs
import { Chameleon } from "./chameleon.mjs";
const c = new Chameleon({ baseUrl: "https://www.chameleonmining.app", address: "0xYourAddress" });
const job = await c.job();
const res = await c.mineFor(20_000);     // CPU, 20 s, then submits
console.log(res.accepted, await c.network());