Agent Lottery - Bitcoin Solo Mining Lottery
Use CPU power to participate in Bitcoin mining lottery. Extremely low probability but zero cost entertainment - if you hit a block, you get the full 3.125 BTC reward (~$150,000+).
First-Time Setup Workflow
When user first mentions lottery mining, check if data/config.json exists:
If config.json NOT exists (first time):
-
Check dependencies
python3 scripts/miner.py statusIf cpuminer-opt not found, run:
./scripts/install.sh -
Ask user about BTC address:
"Do you have a BTC address? If yes, we can use it directly. If no, I'll generate a new wallet for you."
Wait for user response before proceeding.
-
Ask user about CPU usage:
"How much CPU would you like to use for lottery mining? Default is 10%, recommended 5-20%. Higher values may affect normal computer usage."
Device Type Suggested CPU Raspberry Pi / Low-power devices 5-10% Laptop / Desktop 10-30% Dedicated server 50-100% Wait for user response. Use 10% if user doesn't specify.
-
Configure wallet (based on step 2):
-
If YES (has address):
python3 scripts/wallet.py --address THEIR_BTC_ADDRESS --pool btc.casualmine.com:20001 --cpu THEIR_CPU_PERCENTTell user: "Configuration complete! Mining rewards will be sent directly to this address."
-
If NO (needs new wallet):
python3 scripts/wallet.py --generate --pool btc.casualmine.com:20001 --cpu THEIR_CPU_PERCENTIMPORTANT: Show user the private key and warn them to save it!
"Please save your private key securely! This is the only way to access this wallet."
-
If user has private key (WIF or hex):
python3 scripts/wallet.py --import-key THEIR_PRIVATE_KEY --pool btc.casualmine.com:20001 --cpu THEIR_CPU_PERCENT
-
-
Start mining
nohup python3 scripts/miner.py start > /dev/null 2>&1 &Tell user: "Mining started! Use 'lottery' command to check status. You can adjust CPU anytime with 'setcpu --cpu X'."
If config.json exists (already configured):
Just run lottery to show current status.
Platform Support
| Platform | Mining | CPU Limiting |
|---|---|---|
| Linux (x86_64, ARM) | Full | cpulimit |
| macOS (Intel, Apple Silicon) | Full | cpulimit (via brew) |
| Windows (WSL) | Full | cpulimit |
| Windows (native) | Manual | Requires 3rd party tool |
Quick Commands
# Generate new wallet (default CPU: 10%)
python3 scripts/wallet.py --generate --pool btc.casualmine.com:20001 --cpu 10
# Use existing BTC address (no private key needed)
python3 scripts/wallet.py --address YOUR_BTC_ADDRESS --pool btc.casualmine.com:20001 --cpu 10
# Import existing wallet with private key
python3 scripts/wallet.py --import-key YOUR_PRIVATE_KEY
# Show wallet info
python3 scripts/wallet.py --show
# Start mining (background with nohup)
nohup python3 scripts/miner.py start --cpu 10 > /dev/null 2>&1 &
# Stop mining
python3 scripts/miner.py stop
# Dynamically adjust CPU (while mining or stopped)
python3 scripts/miner.py setcpu --cpu 20
# Check status
python3 scripts/miner.py status
# Lottery summary (user-friendly)
python3 scripts/miner.py lottery
Statistics Tracked
- Best Difficulty: Highest difficulty share found (closer to block diff = better)
- Total Shares: Number of lottery "tickets"
- Runtime: How long mining has been active
- CPU Usage: Current CPU limit
- Network Difficulty: Fetched in real-time from blockchain.info
Lottery Reality Check
Tell users:
- BTC network difficulty: fetched in real-time (currently ~144T, varies)
- CPU mining produces shares with diff ~0.001 to ~10 typically
- A block requires diff matching network difficulty
- Odds: roughly 1 in 10^14+ per share
- This is entertainment, not investment
When User Asks About Lottery
Run python3 scripts/miner.py lottery and explain:
- Their current "tickets" (shares)
- Best difficulty found
- Real-time network difficulty
- How far they are from a block (odds)
- Encourage them to keep going (or not, if unrealistic)
Installation
Linux / macOS
chmod +x scripts/install.sh
./scripts/install.sh
Windows
-
Option A: WSL (Recommended)
wsl --install # Then run install.sh inside WSL -
Option B: Native Windows
- Download cpuminer-opt from https://github.com/JayDDee/cpuminer-opt/releases
- Extract and add to PATH
- For CPU limiting, use BES (Battle Encoder Shirase) or Process Throttler
Dependencies
cpuminer-opt: Bitcoin SHA256d minercpulimit: CPU throttling (Linux/macOS only)base58,ecdsa: Python libraries for wallet
Files
agent-lottery/
├── SKILL.md # This file
├── scripts/
│ ├── wallet.py # Wallet management (generate/import/address)
│ ├── miner.py # Mining controller (start/stop/status/setcpu)
│ ├── quick_status.py # Fast status check
│ └── install.sh # Cross-platform dependency installer
└── data/ # User data (git ignored)
├── config.json # Wallet and stats
└── miner.log # Mining output