The contract pizza_drop::airdrop
is designed to randomly assign each registered pizza lover between 100–500 APT as per the project documentation and inline comments.
However, in the implementation of get_random_slice
, the code calculates the reward without converting to Octas (the base unit of Aptos, where 1 APT = 10^8 Octas).
This means that instead of receiving 100–500 APT, users actually only receive 100–500 Octas (≈ 0.000001–0.000005 APT).
Likelihood:
Certain (the bug is present in all executions of get_random_slice).
Impact:
Severe underpayment: Users expect 100–500 APT but receive only micro-APT fractions.
Loss of trust: Creates a material discrepancy between the system’s advertised functionality and its actual behavior.
Financial Loss: If undetected, users may claim negligible amounts, leaving the majority of the funded APT unclaimed as there is no function to withdraw the unclaimed rewards to contract owner.
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.