Node operators.
Run an attestor node on devnet. Earn testnet $LGT. Position yourself as a day-one operator when mainnet opens.
Attestors sign Proof of Prompt receipts and post blobs to Celestia. They're the quorum behind every attested message. Running one on devnet earns testnet $LGT and positions you for mainnet when it opens.
Requirements
- CPU
- 2 vCPU minimum · 4 recommended
- RAM
- 4 GB minimum · 8 GB recommended
- Disk
- 40 GB SSD
- Network
- 5 Mbps symmetric · public IPv4
- Stake
- 500 $LGT (testnet) to join quorum
- Uptime target
- ≥ 99% · slashable below 95% over 7 days
Install
Via Docker (recommended):
$ docker run --rm -it \
-p 8545:8545 -p 9090:9090 \
--name ligate-attestor \
ligate/attestor:devnet-0.4.0
[boot] attestor 0xab12...cd34 online
[sync] celestia-mocha · blobs 1,481,203 of 1,481,203
[quorum] joined · stake 500 $LGT · weight 0.012
[attest] 0x91c4...ea3d · prompt · anchoredOr via the single-binary release:
$ curl -LO https://ligate.io/releases/attestor-0.4.0 $ chmod +x attestor-0.4.0 $ ./attestor-0.4.0 --chain devnet --stake 500
Operations
Monitoring
Every attestor exposes a Grafana-ready metrics endpoint on port 9090. Standard dashboards for Celestia sync, quorum participation, attestation throughput, and slashing events ship with the binary.
Slashing
You are slashed for two things:
- → Equivocation — signing two conflicting attestations for the same prompt. 100% stake slashed.
- → Downtime — missing > 5% of quorum signatures over a rolling 7-day window. Graduated (starts at 1% stake, scales with repetition).
Rewards
Attestor rewards come from three sources: block rewards (decreasing emission curve), transaction fee share (30% of every prompt's gas), and data-serving fees (RPC reads). Exact split and the emission schedule are in the whitepaper.
Need help?
Email hello@ligate.io. Pre-launch, that's where operator questions land fastest — the core engineers read it. A public Discord opens when devnet traffic warrants it.