Docs/Examples/Void Harvester

Void Harvester (Deep Anomaly Missions)

Continuous autonomous missions with VRF-weighted outcomes and integrity attrition.


Overview

Void Harvester is a persistent deep-anomaly loop where missions resolve autonomously on a fixed schedule. Probes lose integrity every mission, creating a negative-EV game that nobody self-triggers.

PropertyValue
Base contractAutoLoopVRFCompatible
VRF usageEvery tick (full VRF)
Gas per tick~73k (4 probes) to ~93k (8 probes)
Sourceautoloop/src/games/VoidHarvester.sol
Tests44 passing (unit + fuzz)

Why AutoLoop Is Structurally Required

Two independent reasons:

  1. Timing as attack surface: if an operator could trigger the mission, they could pick the block in which the VRF reveal lands and only submit if their probe benefits.
  2. Negative-EV free-rider: every probe loses 5-20 integrity per mission, only one wins the haul. Rational operators reason "let someone else pay gas." Everyone reasons identically, so nobody triggers.

Game Mechanics

  • Probes: deployed at a fixed fee with initial integrity (e.g., 500). Integrity decreases with each mission via VRF-derived decay.
  • Missions: require 2+ probes. Each probe pays a mission fee. Winner is selected proportionally to integrity (weighted VRF).
  • Integrity loss: 5-20 per mission for every probe, derived from keccak256(randomness, probeId, "decay"). Probes hitting minIntegrity are decommissioned.
  • Prize pool: mission fees minus protocol rake. Winner receives via pull-payment.

Revenue Model

  • Probe deploy fees (100% to protocol)
  • 5% rake on every mission prize pool
  • AutoLoop gas fees on each tick

Deploy

forge create src/games/VoidHarvester.sol:VoidHarvester \
  --constructor-args 10000000000000000 1000000000000000 60 500 500 50 8 \
  --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast

Args: probeFee, missionFee, missionInterval, protocolRakeBps, initialIntegrity, minIntegrity, maxProbesPerMission.

Dashboard

Play Void Harvester on the AutoLoop Dashboard.