Behavior:
mintNft() and buy() should only transfer USDC and mint/transfer NFTs, without accepting or holding ETH.
Issue:
Both functions are marked payable, but the contract never uses msg.value and provides no ETH withdrawal path, so any ETH sent is permanently locked.
Likelihood:
Reaon 1: Occurs when users or integrators send ETH alongside mintNft() or buy() by mistake, since the functions are payable and accept value.
Reason 2: Occurs during UI or script usage that forwards a default value amount, causing ETH to be sent even though the contract never handles it
Impact:
Impact 1: Users permanntly lose any ETH accidentally sent to mintNft() or buy().
Impact 2: The protocol can’t recover or refund those funds because there is no ETH withdrawal path.
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.
The contest is complete and the rewards are being distributed.