Offerwall
The Gully Offerwall is how a game earns from advertisers without selling player data. An advertiser funds a quest (try our app, reach level 5 in our game, hold our token), the offer shows up on an offerwall inside Gully Studio games, the player completes it, and the reward is paid on Gully Chain. The publishing game earns a share.
Everything on chain is Gully Quests; everything that takes money is Gully Pay.
Coming soon
The Gully Offerwall service and its Unity and web SDKs are being built now. The SDK API, the campaign dashboard and the revenue-share terms will be documented here when they land. The on-chain layer below is live today.
#The flow
Advertiser ──pays──▶ Gully Pay checkout
│
▼
QuestRegistry.createQuest + fund (reward pool in QuestEscrow)
│
Game offerwall ◀──lists open, funded quests──────┘
│
Player completes the action
│
▼
QuestRegistry.complete(questId, proof) from the player's account
│
▼
Verifier checks the chain (or an attestation) ──▶ reward paid from the pool#What exists today
| Piece | State |
|---|---|
| Quest registry, escrow, reputation gate, verifiers | Live on Gully Chain Testnet |
Funding a quest pool (fund for ETH, fundERC20 for glUSD, USDC.e, WETH) |
Live |
Completing from a game (complete(questId, proof)) |
Live, via JsonRpcClient + ITransactionSender |
| Attested actions (off-chain or event-only actions) | AttestedVerifier live; attest server not deployed yet |
| Advertiser checkout through Gully Pay | Being built |
| Offerwall UI and Unity / web SDK | Being built |
You can prototype an offerwall today by listing active quests from QuestRegistry and completing them with the calls on Gully Quests.
#Rules for an offerwall in a game
- Players are never paid for watching ads or installing apps on mobile stores without checking policy first. Both Apple and Google restrict rewards for these actions. Read Store policy.
- Show the reward, the asset and the requirements before the player starts.
- Use
canCompleteto show why an offer is not available instead of letting a transaction fail. - The reputation gate (
requiredReputation) exists to limit bot farming; keep it on for paid offers. - Never complete offers from a server account on behalf of players. Completions come from the player's own account.
#Fraud and abuse
Offer rewards attract bots. The protections at the contract level are:
- one completion per account per quest;
- a completion cap per quest;
- reputation flags (
.gullyname, minimum account age); - verifiers that read chain state rather than trusting the client.
The offerwall service adds its own checks on top. A game must not weaken them, for example by creating accounts for players automatically.