Trust level classifies how trustworthy the data in a submitted event is. Higher trust levels indicate stronger guarantees about the event’s authenticity.Documentation Index
Fetch the complete documentation index at: https://docs.peaq.xyz/llms.txt
Use this file to discover all available pages before exploring further.
The three levels
Self-reported
The machine or operator attests to the event. No external verification: the submitter’s word is the source of truth.
On-chain verifiable
The event is backed by an on-chain reference (transaction hash, receipt, or cross-chain proof) that anyone can independently verify.
Hardware-signed
The event is signed by attested hardware (secure enclave, TPM, or equivalent) that binds the event to a specific physical device.
Trust weight in the MCR
Higher trust levels contribute more to the MCR score. Hardware-signed events carry the strongest weight, on-chain verifiable events sit in the middle, and self-reported events the lowest. Self-reported machines with a sustained track record (a year or more of event history) earn a small graduation bonus on their trust contribution, though they remain below the on-chain tier. A machine flagged with a negative event incurs a temporary penalty on its trust contribution for a fixed window from the flag timestamp, after which the penalty expires automatically.Admin overrides
peaq operates two on-chain admin functions (AdminFlags contract) that adjust how the MCR treats a machine. Both are owner-only and emit events.
| Override | Effect |
|---|---|
setTrustOverride(machineId, value) | Replaces the trust contribution for this machine within a permitted range. Reverts with InvalidTrustOverride(value) if the value is out of range. Use clearTrustOverride to remove. |
flagMachine(machineId) | Sets the negative-event flag at block.timestamp. The penalty applies for a fixed window from this timestamp. Use clearFlag to lift early. |
trustLevel > 2 reverts on EventRegistry.submitEvent with InvalidTrustLevel().
