Skip to main content

🛡️ Aztec Slasher Node

Node briefing

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.

NetworkMainnet
Setup time15-20 minutes
Difficulty🟡 Medium

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
Best Entry Point

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:

  1. Monitor sequencer behavior for protocol violations
  2. Detect misbehavior like double-signing or invalid blocks
  3. Submit slash proofs to the network
  4. Earn rewards when violations are confirmed

Why Run a Slasher?

BenefitDescription
Zero gasNo L1 transactions = no ETH spent
Low hardwareRuns on minimal VPS
Passive incomeSet and forget
ColocatableRun alongside other nodes
Network securityHelp keep Aztec safe

📊 Economics

Cost Structure

ItemCost
VPS (if dedicated)~$5-10/month
L1 Gas$0
StakingNone 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

RoleMonthly CostPotential RewardROI
Slasher$5-10VariableHighest
Prover$20-50MediumMedium
Sequencer$50-100HigherLower

🛠️ Step 1: Prepare Your Environment

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

  1. Low latency connection to Aztec network
  2. High uptime - violations can happen anytime
  3. 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


⚠️ 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:

AspectValue
Monthly cost~$5-10
HardwareMinimal
Gas costs$0
Technical skillBeginner
Time commitmentMinutes/month
RiskVery low

Your slasher is now protecting the Aztec network! 🛡️

This guide is maintained by TokioStack - Always verify on official sources.

© 2026 TokioStack. All rights reserved.
DMCA.com Protection Status