Understand the end-to-end flow from job submission to payment.
Inference Flow
A complete inference cycle follows these steps:
- User submits a job via the API or dashboard, sending ETH as payment to the JobRegistry contract
- The backend selects the best available node based on GPU tier, reputation, and model availability
- The node receives the inference request, runs the compressed model, and returns the result
- The node calls completeJob() on-chain, and the contract releases 95% of the ETH payment to the operator
- 5% of the fee is burned permanently, making the economy deflationary
TurboQuant Compression Pipeline
TurboQuant is CompressNode's branded name for GGUF Q4_K_M quantization - an industry-proven compression format. A 48GB full-precision model becomes ~8GB after compression, fitting comfortably in consumer GPU VRAM. The compression uses a deterministic polar coordinate transform that preserves model behavior with mathematical guarantees.
Verification Flow
The VerificationEngine contract ensures nodes are running authentic models:
- Challenge sets are pre-computed: verified input/output hash pairs for each model
- The backend periodically issues challenges to random nodes on-chain
- When challenged, the node daemon automatically runs inference on the challenge input (temperature=0 for deterministic output)
- The daemon submits the output hash on-chain via respondToChallenge()
- The contract compares the hash to the expected output - match = +reputation, mismatch = deactivation
Timeout Handling
If a node fails to respond to a challenge within the timeout window (default: 5 minutes), it is automatically deactivated and loses reputation. Expired jobs can also be reclaimed by the requester if no node picks them up within 24 hours.