Root Cause: The get_random_slice function assigns amounts as raw integers (100–500), but APT uses octas (10^8 per APT). This results in payouts of 100–500 octas (0.000001–0.000005 APT) instead of the intended 100–500 APT.
Intended Behavior: Users should receive 100–500 APT (10^10–5×10^10 octas) as advertised in the protocol’s rules.
Actual Behavior: Users receive 100–500 octas, 10^8 times smaller than intended, rendering payouts negligible and breaking the protocol’s economic model.
Likelihood: Guaranteed
Every registration and claim uses raw integers, not scaled to octas.
Affects all users consistently.
Impact: High
Users receive negligible payouts, causing dissatisfaction and financial disputes.
Undermines trust and the protocol’s promise of substantial rewards.
Attack Flow
The owner funds the contract with sufficient APT (e.g., 10,000 APT).
A user is registered via register_pizza_lover or get_random_slice, assigned 100–500 units.
The user claims their slice, receiving only 100–500 octas (0.000001–0.000005 APT).
Users complain, as the payout is far below the advertised 100–500 APT.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.