web3ads.wtf
Web3 Ads that rewards you
Created on 14th March 2026
•
web3ads.wtf
Web3 Ads that rewards you
The problem web3ads.wtf solves
The Broken Ad Economy
Traditional online advertising is fundamentally broken:
- Publishers get pennies while platforms take 70%+ of ad revenue
- Viewers see thousands of ads yearly and earn exactly $0
- Advertisers pay middlemen, not the people actually seeing their ads
- Privacy is sacrificed — every click, scroll, and view is tracked and sold
Web3Ads Fixes This
Fair Revenue Distribution:
| Stakeholder | Traditional Ads | Web3Ads |
|---|---|---|
| Publishers | ~30% | 50% |
| Viewers | 0% | 20% |
| Platform | ~70% | 30% |
For Viewers — Get Paid to Browse:
- Install the Chrome extension, link your wallet once
- Earn ETH automatically every time you see an ad
- Withdraw anytime with $0 gas fees — we pay the gas
- Your data stays private via zkProof identity (Semaphore)
For Publishers — Better Revenue, Zero Friction:
- One React component:
<Web3Ad publisherId="0x..." slot="banner" />
- 50% of ad spend goes directly to you
- Gasless withdrawals to any wallet
- Real-time analytics on impressions and earnings
For Advertisers — Pay For Real Engagement:
- Funds go to actual viewers and publishers, not middlemen
- Smart contract transparency — see exactly where your budget goes
- Target by category (DeFi, NFT, Gaming) with CPM pricing
Unique Innovations
-
AI Agent Payments (x402 Protocol): Users can spend their ad earnings through AI agents. Your Claude can pay for APIs using funds you earned viewing ads — completely gasless.
-
Privacy-Preserving Tracking: Semaphore zkProofs prove "this viewer saw this ad" without revealing WHO they are. No cookies, no fingerprinting, no surveillance.
-
True Gasless UX: Viewers never need ETH to withdraw. Backend signs EIP-712 messages and pays all gas fees. Web3 without the friction.
-
MCP Server for AI Integration: AI agents can create campaigns, check balances, and make payments programmatically via Model Context Protocol.
Challenges we ran into
Challenges I Ran Into
1. Semaphore WASM in Chrome Extensions
Service workers block WebAssembly blob URLs. Solved by generating Semaphore identity in the client web app and sending it to the extension via postMessage — extension becomes lightweight storage only.
2. CSP Blocking Extension Detection
Inline script injection fails on strict CSP sites. Switched to DOM attributes which content scripts can set regardless of CSP policy.
3. Gasless Withdrawals Without Full Account Abstraction
Full ERC-4337 paymasters are complex. Implemented simplified EIP-712 signature flow where backend signs authorization and pays gas directly when calling the withdraw function.
4. USDC Faucet Reliability
Base Sepolia USDC faucets were unreliable. Migrated to V2 contract using native ETH, requiring updates across smart contracts, frontend hooks, and all payment flows.
5. Ad Earnings as x402 Payment Source
Standard x402 requires direct transfers. Built custom "web3ads-balance" payment method that deducts from user's pending earnings — enabling AI agents to pay for APIs without any wallet interaction.
Tracks Applied (5)
Privacy
AI × Onchain
Base
DeFi 2.0 - New Primitives
Base
Best Use of Elsa x402 and Elsa OpenClaw skills
HeyElsa
BEST Overall Project
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
