x/fraud — Fraud module
The x/fraud module stores marketplace fraud reports, routes them for
moderator review, and records report status and resolution. The current
on-chain submission path accepts registered provider reporters; it does not
provide a consumer report transaction. It is distinct from settlement and
account-state controls, and a recorded report resolution does not by itself
suspend or terminate an account.
The current report record includes public chain fields such as reporter and reported-party addresses, category, description, order references, status, and moderator notes. Evidence attachments are encrypted for their listed recipients. Do not put identity documents or sensitive personal information in plaintext report fields.
What it does
Section titled “What it does”- Reports are recorded on-chain. The provider report transaction files an
allegation with supporting evidence. Public report fields are visible to
network observers; attachments use the encrypted-evidence structure
(
FraudReport,FraudReports). - Adjudication is rule-bound. Cases escalate
(
MsgEscalateFraudReport), moderators get assigned (MsgAssignModerator,ModeratorQueue), and each report is resolved or rejected with its status tracked (MsgResolveFraudReport,MsgRejectFraudReport,MsgUpdateReportStatus) — leaving an auditable trail (AuditLog). - Financial cases remain separate. Where a report links to an active canonical financial case, settlement owns the financial outcome. A report resolution is not itself a payment instruction or account-state change.
Why it exists
Section titled “Why it exists”The module provides an auditable report and moderator-status record. Its current role checks and report fields have important limits: on-chain reports are not private, consumers cannot submit through this transaction, and report resolution does not provide an appeal process or automatically enact a global sanction. These limits should not be represented as broader protections than the current implementation supplies.
Primary objects
Section titled “Primary objects”| Concept | Definition |
|---|---|
| Fraud report | An on-chain allegation of misconduct with supporting evidence, subject to adjudication. |
| Encrypted evidence | An attachment encrypted for listed reviewer recipients; other report fields remain public chain data. |
Core flow
Section titled “Core flow”- Allege — A provider files a report. The current on-chain route checks that the reporter is a registered provider.
- Review — A moderator handles the report. Status changes are role-gated and recorded in the audit trail.
- Resolve — A decision is recorded. Resolution text and notes are stored on-chain; related financial cases are handled through settlement.
Messages
Section titled “Messages”| Message | Purpose |
|---|---|
MsgSubmitFraudReport | Files a fraud report with supporting evidence. |
MsgEscalateFraudReport | Escalates a filed report for deeper adjudication. |
MsgResolveFraudReport | Resolves a report with a finding. |
MsgRejectFraudReport | Rejects a report that does not stand up. |
MsgAssignModerator | Assigns a moderator to work a report. |
MsgUpdateReportStatus | Updates the status of a report under review. |
MsgUpdateParams | Governance-only update of module parameters. |
Queries
Section titled “Queries”| Query | Purpose |
|---|---|
FraudReport / FraudReports | A single report and the full report list. |
FraudReportsByReporter / FraudReportsByReportedParty | Reports filtered by who filed them or who they name. |
ModeratorQueue | Reports awaiting moderator attention. |
AuditLog | The module’s auditable record of adjudication activity. |
Params | Current module parameters. |
Module interactions
Section titled “Module interactions”| Module | How they interact |
|---|---|
| x/veid | VEID status is separate from a fraud report; the report does not itself lock an identity. |
| x/market | Reports may reference marketplace orders; a report does not itself apply a universal market gate. |
| x/settlement | Active canonical financial cases control financial resolution. |
| x/support | Support is a separate service channel; the current fraud transaction itself is provider-only. |
Related documentation
Section titled “Related documentation”- Fraud, Audit & Oracles — where fraud handling sits in the wider trust fabric.
- Slashing — the consensus-layer counterpart for validator misbehavior.
- Escrow & Settlement — where fraudulent usage is intercepted before payout.
- On-Chain Module Map — all 27 modules at a glance.
What counts as marketplace fraud?
Section titled “What counts as marketplace fraud?”Falsified usage, identity abuse, malicious workloads — conduct enforced at the marketplace layer rather than the consensus layer.
How is this different from slashing?
Section titled “How is this different from slashing?”Slashing punishes validator protocol violations like double-signing. The fraud module records marketplace allegations and moderator decisions. A fraud report resolution is not itself a settlement instruction or account-state change. See Slashing.
Does a fraud report automatically stop payment or lock an account?
Section titled “Does a fraud report automatically stop payment or lock an account?”No. A report is an allegation and its status or resolution is recorded separately. Financial cases and escrow outcomes use the settlement module; account-wide role-state changes are a separate administrative operation. See the x/settlement module and x/roles.