One of the biggest barriers to web3 gaming adoption is gas fees. Players shouldn't have to pay to receive their earned rewards. Here's how we solved it.
The Challenge
Traditional blockchain reward systems require users to pay gas fees to claim tokens. This creates friction and confusion, especially for players new to web3.
Our Solution
We leverage Immutable zkEVM's native meta-transaction support combined with a secure relay infrastructure.
Architecture Overview
- Ad Completion: Player watches a rewarded ad
- Receipt Generation: Ad network provides cryptographic proof
- Server Verification: Our backend verifies the receipt authenticity
- Sponsored Transaction: We submit the mint transaction, paying gas on behalf of the user
- Token Credit: FNSTK appears in player's wallet instantly
Security Considerations
The receipt verification is crucial. We use a multi-step verification process:
// Simplified verification flow
const isValid = await verifyAdReceipt({
receiptId: receipt.id,
signature: receipt.signature,
adNetwork: receipt.network,
timestamp: receipt.timestamp
});
if (isValid && !isReplay(receipt.id)) {
await mintReward(player.address, REWARD_AMOUNT);
}
Results
Since implementing gasless rewards:
- Reward claim rate increased 340%
- User complaints about "fees" dropped to zero
- Average session length increased 28%
Gasless is the future. Learn more about integrating gasless rewards in your game in our SDK documentation.