Built at ETHGlobal Cannes 25
Event organizers and conferences face a fundamental challenge: inefficient lead collection in exchange for swag. The current process is slow and frustrating:
- β Attendees must scan Google Forms at every booth
- β Manual data entry leads to errors and delays
- β No pre-populated data or verification of authenticity
- β Long queues and poor user experience
- β Difficulty in verifying genuine engagement (e.g., social media interaction)
SwagMe revolutionizes event lead collection by combining Web3 technology with streamlined UX to create a fast, secure, and verifiable lead collection system.
β
World Chain Mini App: Pre-populated forms with MiniKit SDK integration
β
Smart Contract Verification: Immutable lead storage on World Chain
β
Social Media Proof: Twitter verification via Flare Data Connector
β
Cross-Chain Sync: LayerZero V2 for seamless data flow
β
Real-Time Dashboard: Event organizers can manage forms and view submissions
β
QR Code Integration: Instant form access via QR scanning
SwagMe leverages a multi-chain architecture to provide comprehensive lead collection and verification:
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β World Chain β β Flare β β Dashboard β
β β β β β β
β βββββββββββββ β β βββββββββββββ β β βββββββββββββ β
β β SwagForm β βββββΊβ βProofMgr β β β β React β β
β βContract β β β βContract β β β β Frontend β β
β βββββββββββββ β β βββββββββββββ β β βββββββββββββ β
β β β β β β
β βββββββββββββ β β βββββββββββββ β β βββββββββββββ β
β β World β β β β FDC β β β β World β β
β β MiniApp β β β βIntegrationβ β β β MiniApp β β
β βββββββββββββ β β βββββββββββββ β β βββββββββββββ β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β² β² β²
β β β
βββββββββββββββββββββββββΌββββββββββββββββββββββββ
β
βββββββββββββββββββ
β LayerZero V2 β
β Cross-Chain β
β Synchronization β
βββββββββββββββββββ
- Smart Contract:
SwagForm.sol
deployed on World Chain Sepolia - Address:
0xDD0a13b48dd11985Ca8d7562B9564232AB8719B8
- Functionality: Form creation, submission storage, proof requirements
- World MiniApp: QR code scanning and form completion with MiniKit SDK
- Smart Contract:
SwagFormProofManager.sol
on Flare Coston2 - FDC Integration: Verifies Twitter/X posts using Flare Data Connector
- Web2Json: Converts social media data to on-chain proofs
- API: FastAPI backend for web scraping and data validation
- V2 Integration: Synchronizes verification status between chains
- Proof Bridging: Transfers verified social media proofs from Flare to World Chain
- Real-Time Updates: Ensures consistent state across all chains
- React Frontend: Form creation and management dashboard
- TypeScript: Type-safe development with Web3 integration
- UI/UX: Modern interface built with shadcn/ui components
- World Chain: Primary deployment for forms and submissions
- Flare Network: FDC integration for Web2 data verification
- LayerZero V2: Cross-chain message passing
- Solidity: Smart contract development
- React: Dashboard application
- TypeScript: Type-safe development
- FastAPI: Web scraping and API backend
- MiniKit SDK: World app integration
- Hardhat: Smart contract development and testing
- Foundry: Advanced smart contract tooling
- Bun: Fast JavaScript runtime and package manager
- Form Creation: Event organizers create forms via dashboard
- QR Generation: Unique QR codes generated for each form
- User Interaction: Attendees scan QR codes with World app
- Form Completion: Pre-populated data from World ID
- Social Proof: Optional Twitter verification via Flare FDC
- Cross-Chain Sync: LayerZero bridges verification status
- Submission Storage: Final submission stored on World Chain
- β Mini App: Built with MiniKit SDK for QR scanning and form completion
- β SDK Integration: Implements MiniKit commands for user interaction
- β On-Chain Activity: Smart contracts deployed to World Chain Sepolia
- β Non-Gambling: Lead collection platform with real utility
- β Proof Validation: Smart contract validation for all submissions
- β V2 Contract: Developed LayerZero V2 cross-chain messaging
- β Public Repository: Open source on GitHub
- Working Demo: Live transaction hashes not yet available
- β Submission Form: Completed feedback form
- β Data Protocols: Utilizes Flare Data Connector (FDC) [NB: not 100%, still some issues yet deployed on coston2 0x6179C436b56154124307e92Ed6f38B46a0c16A6c]
- β Real-World Problem: Addresses inefficient event lead collection
- β Impactful Use Case: Streamlines conference and event operations
node >= 18.0.0
bun >= 1.0.0
# Clone repository
git clone https://github.com/your-username/swagme.git
cd swagme
# Install dependencies
bun install
# Set up environment variables
cp .env.example .env
# Configure your API keys and contract addresses
# Start dashboard
cd dashboard/form-dash-world-view
bun dev
# Deploy contracts
cd contracts/hello-world-chain
forge build
forge deploy --network world-sepolia
# Start API backend
cd contracts/flare-coston2/twitter-api
python main.py
swagme/
βββ contracts/
β βββ hello-world-chain/ # World Chain contracts
β β βββ src/SwagForm.sol # Main form contract
β β βββ test/SwagForm.t.sol # Contract tests
β βββ flare-swagme/ # Flare integration
β β βββ contracts/ # Proof verification contracts
β β βββ scripts/ # Deployment scripts
β βββ layerzero-bridge/ # Cross-chain messaging
βββ dashboard/
β βββ form-dash-world-view/ # React management dashboard
βββ world-miniapp/ # World MiniApp
βββ README.md
- Multi-Chain Architecture: Successfully integrated 3 different blockchain networks
- FDC Integration: First-of-its-kind social media verification for event lead collection
- MiniKit SDK: Seamless World app integration with pre-populated forms
- Cross-Chain Messaging: Real-time synchronization between Flare and World Chain
- 10x Faster: Reduced lead collection time from minutes to seconds
- Verified Engagement: Proof of social media interaction increases lead quality
- Scalable Solution: Can handle hundreds of concurrent form submissions
- Better UX: Pre-populated forms eliminate repetitive data entry
Our Flare integration leverages the Flare Data Connector (FDC) to bring Web2 social media data on-chain, specifically Twitter/X post verification for event lead collection. This creates a bridge between social engagement and verified lead generation.
- FDC Web2Json: Converts Twitter API responses into verifiable on-chain data
- Smart Contract Integration:
SwagFormProofManager.sol
handles proof verification - Cross-Chain Bridge: LayerZero V2 syncs verification status to World Chain
- Real-Time Verification: FastAPI backend scrapes social media for immediate validation
- Comprehensive Documentation: Flare's FDC documentation was detailed and included practical examples
- Testnet Accessibility: Coston2 testnet was reliable and fast for development iterations
- Flexible Data Sources: FDC's ability to handle arbitrary Web2 APIs opened up creative possibilities
- Built-in Verification: The cryptographic proof system provided immediate trust and security
- Community Support: Active developer community and responsive support channels
-
ABI Signature Format: Initially struggled with JSON escaping in
abiSignature
field- Solution: Learned that requestBody must be a JSON string, not an object
- Impact: Once corrected, the integration became seamless
-
JQ Filter Complexity: Crafting the right postProcessJq filter for our API response
- Solution: Iterative testing with different filter patterns
- Learning: Simple filters work best for initial implementation
-
Error Handling: Understanding FDC error responses and debugging 400 errors
- Solution: Created comprehensive debug scripts to trace payload structure
- Outcome: Better understanding of the FDC request format
The Flare integration enables verifiable social engagement as part of lead collection, ensuring that leads represent genuine interest rather than random form submissions. This increases lead quality for event organizers and creates accountability in the lead generation process.
SwagMe represents the intersection of Web3 technology and real-world utility, demonstrating how blockchain can solve everyday problems while providing enhanced security and verification capabilities.
Made with β€οΈ by the SwagMe Team