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 4It 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_status | epoch, rigs online, hashrate, pool budget |
mine | mine for N seconds on spare CPU, submit the shares, return what was accepted |
my_shares | the address's weight in the open epoch |
epoch | a closed epoch: amounts and proofs for an address |
SDK
curl -sO https://www.chameleonmining.app/sdk/chameleon.mjsimport { 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());