🛡️ Aztec Slasher Node
Aztec Slasher
Monitor the network for misbehaving sequencers and earn rewards when you detect and report violations. The slasher is the most cost-effective role in the Aztec ecosystem - zero gas costs and minimal hardware requirements.
System checklist
- CPU
- 2 cores minimum
- RAM
- 4 GB minimum
- Storage
- 50 GB SSD
- Network
- Stable internet connection
Launch prerequisites
- Docker installed
- Connection to Aztec network
- Can colocate with existing sequencer testnet
Key features
- Zero L1 gas costs - slashers don't publish to L1
- Minimal hardware requirements
- Earn rewards for detecting violations
- Best ROI for small operators
The slasher is the best role for operators with limited resources. Zero gas costs, minimal hardware, and you can run it alongside your testnet sequencer on the same VPS.
🎯 What Does a Slasher Do?
Slashers are the "police" of the Aztec network. They:
- Monitor sequencer behavior for protocol violations
- Detect misbehavior like double-signing or invalid blocks
- Submit slash proofs to the network
- Earn rewards when violations are confirmed
Why Run a Slasher?
| Benefit | Description |
|---|---|
| Zero gas | No L1 transactions = no ETH spent |
| Low hardware | Runs on minimal VPS |
| Passive income | Set and forget |
| Colocatable | Run alongside other nodes |
| Network security | Help keep Aztec safe |
📊 Economics
Cost Structure
| Item | Cost |
|---|---|
| VPS (if dedicated) | ~$5-10/month |
| L1 Gas | $0 |
| Staking | None required |
| Total | ~$5-10/month |
Reward Structure
- Rewards come from slashed sequencers' stakes
- Amount depends on:
- Severity of violation
- Your speed in detecting it
- Network parameters
ROI Comparison
| Role | Monthly Cost | Potential Reward | ROI |
|---|---|---|---|
| Slasher | $5-10 | Variable | Highest |
| Prover | $20-50 | Medium | Medium |
| Sequencer | $50-100 | Higher | Lower |
🛠️ Step 1: Prepare Your Environment
Option A: Dedicated VPS (Recommended for beginners)
Any small VPS works:
- DigitalOcean $6/month droplet
- Contabo VPS S (~$5/month)
- Hetzner Cloud CX11 (~$4/month)
Option B: Colocate with Existing Node
If you already run an Aztec testnet sequencer, add the slasher on the same machine:
# Check available resources
free -h
df -h
You need ~2 GB RAM and ~20 GB disk free.
⚙️ Step 2: Install Docker
# Update system
sudo apt update && sudo apt upgrade -y
# Install Docker
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
# Log out and back in, then verify
docker --version
🔧 Step 3: Configure the Slasher
Create Working Directory
mkdir -p ~/aztec-slasher
cd ~/aztec-slasher
Create Environment File
nano .env
# === Slasher Configuration ===
SLASHER_ID=my-slasher-001
# === Network Connection ===
# Connect to Aztec network node
AZTEC_NODE_URL=http://YOUR_AZTEC_NODE:8080
# Or if running alongside local sequencer:
# AZTEC_NODE_URL=http://localhost:8080
# === Monitoring Settings ===
# How often to check for violations (seconds)
CHECK_INTERVAL=10
# === Logging ===
LOG_LEVEL=info
Create Docker Compose File
nano docker-compose.yml
services:
aztec-slasher:
container_name: aztec-slasher
image: aztecprotocol/aztec:latest
restart: unless-stopped
env_file: .env
volumes:
- ./data:/data
command: >
start --slasher
--node-url ${AZTEC_NODE_URL}
logging:
driver: "json-file"
options:
max-size: "50m"
max-file: "3"
# Resource limits (optional, for colocated setups)
deploy:
resources:
limits:
cpus: '1'
memory: 2G
🚀 Step 4: Start the Slasher
# Start slasher
docker compose up -d
# Check status
docker ps
# View logs
docker compose logs -f aztec-slasher
Verify It's Running
Look for log messages like:
[INFO] Slasher connected to network
[INFO] Monitoring sequencer activity...
[INFO] Checked block #12345 - no violations
When a violation is detected:
[ALERT] Violation detected! Sequencer 0x... double-signed
[INFO] Submitting slash proof...
[SUCCESS] Slash proof accepted - reward pending
📊 Step 5: Monitor Your Slasher
Quick Status Check
# Container running?
docker ps | grep aztec-slasher
# Recent logs
docker logs aztec-slasher --tail 20
# Resource usage
docker stats aztec-slasher --no-stream
Create Monitoring Script
nano ~/slasher-status.sh
#!/bin/bash
echo "=== Aztec Slasher Status ==="
echo ""
# Check if running
if docker ps | grep -q aztec-slasher; then
echo "✅ Slasher is running"
else
echo "❌ Slasher is NOT running"
exit 1
fi
echo ""
echo "Resource Usage:"
docker stats aztec-slasher --no-stream
echo ""
echo "Recent Activity:"
docker logs aztec-slasher 2>&1 | grep -i "violation\|slash\|reward" | tail -10
echo ""
echo "Last 5 log entries:"
docker logs aztec-slasher --tail 5
chmod +x ~/slasher-status.sh
Add to Crontab (Health Check)
# Check every hour and restart if needed
(crontab -l 2>/dev/null; echo "0 * * * * docker ps | grep -q aztec-slasher || docker compose -f ~/aztec-slasher/docker-compose.yml up -d") | crontab -
🔄 Colocating with Sequencer
If running alongside your Aztec testnet sequencer:
Shared docker-compose.yml
services:
aztec-sequencer:
container_name: aztec-sequencer
image: aztecprotocol/aztec:latest
# ... your existing sequencer config ...
ports:
- "8080:8080"
aztec-slasher:
container_name: aztec-slasher
image: aztecprotocol/aztec:latest
restart: unless-stopped
depends_on:
- aztec-sequencer
command: >
start --slasher
--node-url http://aztec-sequencer:8080
deploy:
resources:
limits:
cpus: '1'
memory: 2G
This way the slasher connects directly to your local sequencer.
🔧 Troubleshooting
Common Issues
"Connection refused":
# Check if node is reachable
curl -s http://YOUR_AZTEC_NODE:8080/status
# If colocated, check sequencer is running
docker ps | grep aztec-sequencer
High memory usage:
# Add memory limit in docker-compose.yml
deploy:
resources:
limits:
memory: 2G
No violations detected: This is normal! Violations are rare on a healthy network. Your slasher is still working - it's just that sequencers are behaving correctly.
Container keeps restarting:
# Check logs
docker logs aztec-slasher --tail 50
# Common fix: network connectivity issue
# Verify AZTEC_NODE_URL is correct
💡 Best Practices
Maximize Detection Rate
- Low latency connection to Aztec network
- High uptime - violations can happen anytime
- Multiple connections - connect to different nodes
Combine with Other Roles
Run the slasher alongside:
- Testnet sequencer - On same VPS
- Prover - Different resource profile, can coexist
- Delegator - Passive staking + slasher monitoring
🔗 Useful Resources
Official Documentation
Related Guides
⚠️ Important Notes
- Violations are rare - Don't expect daily rewards
- Passive operation - Set it and forget it
- Network benefit - You're helping keep Aztec secure
- Low risk - No staking means no slashing risk for you
🎯 Summary
The slasher is the most accessible way to participate in the Aztec network:
| Aspect | Value |
|---|---|
| Monthly cost | ~$5-10 |
| Hardware | Minimal |
| Gas costs | $0 |
| Technical skill | Beginner |
| Time commitment | Minutes/month |
| Risk | Very low |
Your slasher is now protecting the Aztec network! 🛡️
This guide is maintained by TokioStack - Always verify on official sources.
