WrldMap: Your Globe, Verified! zk-proven travel tracker for unique humans on WorldChain.
Prize Pool
WrldMap: Your Verifiable Digital Travel Atlas on WorldChain
WrldMap is an innovative mini-application designed to run within the World App ecosystem on WorldChain. At its core, WrldMap allows users to create a beautiful, interactive, and cryptographically verified 3D map of their global travels and experiences. It addresses the common issue of digital travel confirmations (like flight, hotel, or bus tickets) being scattered across email inboxes, often forgotten, and lacking a tangible, shareable, or verifiable format.
The Problem WrldMap Solves:
Most people's travel histories are a collection of disparate digital files and memories. While photos serve as personal mementos, there's no standardized or trustworthy way to consolidate and showcase a comprehensive travel journey, especially one that can be subtly "flexed" or shared with a degree of authenticity. Furthermore, existing travel tracking apps often rely on users manually inputting data or granting broad access to their email accounts, and the resulting data isn't owned by the user in a verifiable, decentralized way.
How WrldMap Works – The User Journey & Technology:
Unique Human Access (World ID): Access to WrldMap is exclusively for users verified as unique humans via World ID. This ensures that every travel map is tied to a real individual, preventing spam or bot activity and adding a layer of trust to the shared experiences.
Email Confirmation as Proof-Source: The user initiates the process by providing their travel confirmation emails. For the hackathon proof-of-concept, this involves the user downloading the relevant email (e.g., a flight e-ticket from MakeMyTrip, a hotel booking from Agoda, a bus ticket from FlixBus) as an .eml
file and uploading it directly into the WrldMap mini-app.
zk-Powered Verification (vLayer): This is where the "verified" aspect comes to life.
.eml
file.noreply@makemytrip.com
) and can also verify that specific content within the email body matches a predefined regex pattern.WrldMapProver.sol
, is deployed by the WrldMap team. This contract contains specific functions (e.g., proveFlightMakeMyTrip
, proveHotelAgoda
) with regex patterns tailored to parse data from the emails of supported providers.WorldMap.sol
contract (the storage contract) orchestrates a call to vLayer's vQuery
contract. This call instructs vQuery
to execute the relevant function on the WrldMapProver.sol
using the zk-proof parameters generated by the SDK.Data Extraction & On-Chain Storage (Smart Contracts):
vQuery
call is successful (meaning the zk-proof is valid and the WrldMapProver
function executed correctly), the WrldMapProver
function returns key extracted data (e.g., for a flight: origin, destination, date, airline) and a unique emailNullifier
.WorldMap.sol
contract receives this verified data and the emailNullifier
. It first checks that the emailNullifier
hasn't been used before (preventing the same email from being processed multiple times).TravelItem { type: Flight, from: "Chennai", to: "Taipei", date: <timestamp> }
) on WorldChain, linking it to the user's address.Interactive 3D Globe Visualization: The WrldMap mini-app frontend reads the user's verified travel data from the WorldMap.sol
contract. It then renders this information as interactive pins on a 3D globe (using Three.js). Users can spin the globe, zoom in, and click on pins to see details of their trips.
"Miles" Gamification (Blockscout Merits): To enhance engagement, WrldMap integrates with the Blockscout Merits system.
Shareable Verified Maps: A key social feature is the ability for users to generate a shareable link to a public view of their WrldMap globe (or a GIF animation of it), allowing them to "flex" their verified travel history.
Key Features and Benefits:
Target Audience:
Technical Stack Summary:
WorldMap.sol
for storage, WrldMapProver.sol
for vLayer logic).vQuery
contract.In essence, WrldMap aims to be more than just a travel tracker; it's a platform for creating a personal, verified, and shareable digital atlas of one's life experiences, starting with travel, and built on the principles of user ownership and cryptographic truth enabled by WorldChain and its ecosystem partners. For the hackathon, the project will demonstrate a core end-to-end flow with a limited set of supported email providers to showcase the concept's viability and innovation.
How WrldMap Was Built: Integrating for User Value & Verification
WrldMap was architected as a user-centric decentralized application, focusing on seamless integration with partner technologies to deliver a unique, verifiable travel mapping experience on WorldChain. Our development process prioritized leveraging the strengths of World App, vLayer, and Blockscout to create a platform where users not only own their travel data but can also derive future value from it, challenging existing restrictive models.
Becoming a World App Mini App (Targeting: 📲 Best Mini App Bounty)
Core Integration: WrldMap is fundamentally designed as a World App Mini App. We utilized the MiniKit SDK extensively. Key MiniKit commands were used for:
User Authentication & Context: Integrating World ID to authenticate users and retrieve their verified wallet address, ensuring every WrldMap belongs to a unique human.
Seamless User Experience: Building upon the MiniKit framework to ensure WrldMap operates smoothly within the World App, providing users with an integrated wallet and the benefit of abstracted transaction fees on WorldChain.
Benefit to WrldMap: This strategy offers WrldMap immediate potential access to World App's large user base. The integrated wallet and user-friendly transaction flow are critical for mainstream adoption, aligning with the bounty's goal of building "a real app reaching millions." Our frontend is built with Next.js and React, providing a modern UI, with Three.js rendering the interactive 3D globe.
Harnessing vLayer Email Proofs (Targeting: 📧 Best use of Email Proofs Bounty)
The Verification Engine: vLayer's Email Proofs are the bedrock of WrldMap's "verified" claim, transforming standard Web2 email data into trustless, on-chain Web3 assets. This cryptographic verification underpins the integrity and potential future value of the user's travel data.
Implementation Details:
Users upload .eml files. Our client-side JavaScript uses the vLayer SDK to process the email and generate ZK-proof parameters (including headerHash, emailNullifier, regexCommitment).
Our dedicated Solidity smart contract, WrldMapProver.sol, houses functions like proveFlightMakeMyTrip(UnverifiedEmail calldata). These use vLayer's RegexLib to parse key data from the verified email's content (subject, body) based on regex patterns specific to providers, and also verify the sender's email address.
Our main storage contract, WorldMap.sol, orchestrates calls to vLayer's vQuery contract. This call instructs vQuery to execute the relevant function on our WrldMapProver.sol, passing the ZK-proof parameters.
If the proof is valid, vQuery returns the emailNullifier and the extracted, structured travel data. WorldMap.sol then checks the nullifier for uniqueness and stores this cryptographically verified data on WorldChain.
Benefit to WrldMap: vLayer enabled us to build this complex verification layer entirely in Solidity, using familiar tools. It allows us to bring trusted email content on-chain as verifiable claims, ensuring privacy (only extracted data and proof are on-chain) and security. This directly showcases vLayer's power in making Web2 data usable and verifiable in Web3.
Leveraging Blockscout Merits & Explorer (Targeting: 🐹 Best Blockscout Merits Use Case & 💧 Big Blockscout Explorer Pool Prize)
"Merit Miles" – More Than Points, It's Potential Value: WrldMap integrates Blockscout Merits to create "Merit Miles."
While these "Miles" serve a gamification purpose (awarded for signup, adding trips, with bonuses), their strategic importance lies in representing the accumulated value of a user's verified, public travel data.
Our vision is that "Merit Miles" can eventually empower users to monetize their travel data by opting in to share anonymized or aggregated insights with travel companies for better, personalized offers. This directly competes with platforms like Flighty and FlightRadar, which charge users heavily for accessing and tracking their own extensive flight data. WrldMap aims to put the user in control and in a position to benefit.
Technically, our Next.js backend includes an API route (/api/award-merits) that securely calls the Blockscout Merits REST API (using an API key from environment variables) to distribute "Merit Miles" to users for completing tasks on WrldMap.
Explorer Integration:
Contract Verification: Our smart contracts (WorldMap.sol, WrldMapProver.sol) are verified on Blockscout for the WorldChain network.
Linking: All user-facing links to on-chain transactions or contract addresses in our app and documentation point to Blockscout.
Benefit to WrldMap: Blockscout Merits provides an easy-to-integrate API for our "Merit Miles" system, which is central to our user value proposition. Using Blockscout as our primary explorer enhances transparency and qualifies us for the pool prize.
Hacky Bits & Hackathon Realities:
Hyper-Specific Regex for Demo: The regex in WrldMapProver.sol is precisely tuned for the exact EML formats from our single chosen provider for each travel type (e.g., MakeMyTrip for flights). This ensures a smooth demo but isn't scalable to all email providers without significant expansion.
Client-Side Data Derivation: For simplicity and gas efficiency, critical data like the Unix timestamp for an event (derived from string dates like "01 April") is calculated client-side and passed to the smart contract, rather than attempting complex string parsing and date conversion on-chain. The prover validates the string date's presence, and the client provides the timestamp.
Simplified Prover Output Decoding: The abi.decode() in WorldMap.sol for the output of vQuery.query() assumes a streamlined return from the WrldMapProver (via vQuery), primarily focusing on the emailNullifier and the custom data struct (e.g., FlightData), rather than trying to decode the full complex vLayer Proof object on-chain within WorldMap.sol. This simplifies the storage contract.
Error Handling Focus: While the contracts have basic error handling, deep propagation of specific revert reasons from the WrldMapProver through vQuery back to the main WorldMap.sol contract is simplified for the demo. Client-side simulation (eth_call) was our primary tool for debugging prover logic during development.
By strategically combining these technologies, WrldMap aims to deliver a compelling demonstration of a verifiable, user-owned travel atlas that is deeply integrated into the WorldChain ecosystem, leveraging partner services not just for features, but to build a fundamentally different and more user-empowering model compared to existing travel apps.