The attendPerformance function allows users to earn rewards such as 3x BEAT tokens when attending a performance with a BACKSTAGE_PASS However the contract only tracks attendance based on the wallet address not on the specific token ID of the pass
Since the BACKSTAGE_PASS is implemented using the ERC1155 standard it is inherently fungible and transferable An attacker can exploit this by transferring a single BACKSTAGE_PASS between multiple wallets Each new wallet can use the same pass to attend the same performance and claim rewards effectively allowing unlimited farming of BEAT tokens
This breaks the intended logic of a single pass per reward and introduces a significant vulnerability that can be economically exploited
Likelihood: High
This vulnerability allows infinite reward farming by transferring a single BACKSTAGE_PASS
(ERC-1155 token) across multiple wallets since the contract only tracks attendance by wallet address and not by token ID a malicious actor can:
Attend with Wallet A → get 3x rewards.
Transfer the same token to Wallet B → attend again → get 3x rewards.
Repeat across unlimited wallets
Impact:
Unlimited Reward Farming
Attackers can continuously transfer the same BACKSTAGE_PASS
between different wallets to claim 3x rewards multiple times, leading to excessive and unbounded distribution of reward tokens (BEAT
).
Token Supply Inflation
This loophole causes excessive minting of BEAT
tokens, which may devalue the token destabilize the in-app economy and undermine the integrity of the reward system
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.