Skip to content

P2E: add anti-abuse and Sybil controls #95

@ilyar

Description

@ilyar

Source PRD: tasks/prd-full-play-to-earn.md
Parent epic: #86
PRD section: US-009

Description

Reward farming, collusion, fake accounts, and scripted matches must not auto-convert into payouts.

Acceptance Criteria

  • Add abuse signals for repeated account pairs, abnormal win/loss patterns, match duration anomalies, device/account clustering where available, payment/refund anomalies, and high-volume automation.
  • Reward claims can be held for review when risk score exceeds a threshold.
  • Admin can mark a reward as rejected or claimable with an audit reason.
  • The system never auto-pays rewards under active abuse review.
  • Abuse logic is explainable enough for support, without exposing exact thresholds to users.
  • Tests cover repeated pair farming, self-match attempts, rapid forfeits, and duplicate device/account signals where feasible.

Constraints

  • Keep current paid PvP settlement as entry fee, not player-funded prize pool.
  • Do not make Season Points redeemable or refundable.
  • Keep payout/compliance/provider secrets backend-only.
  • Treat this as deferred future-phase work until mechanics/self-host production readiness is stable.

Notes

Do not expose exact risk thresholds to users or public bug reports.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: backendServer-side services, APIs, reducers, and data mutationsdomain: gameplayCore match mechanics, rules, energy, rounds, and player flowdomain: operationsRunbooks, observability, incident handling, migration, and support flowsdomain: securityAuth, secrets, trust boundaries, permissions, and abuse resistancepriority: criticalMust be done first, blocks other workstatus: deferredDeferred until the current active milestone is stabletype: featureNew capability or product improvement

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions