Soluma is a Web3 event platform with a seamless Web2 user experience. We use Web3Auth for seedless logins and Solana Pay for secure, on-chain payments.
A decentralized event platform that combines a seamless Web2 user experience with the power of the Solana blockchain. No seed phrases, no complexity—just events.
Follow our Hackathon Journey for the #SocialMediaPrize! 🐦 https://x.com/SoLuma_X
Pitch Deck Video: here
Our backend is Deployed on Render if you use our soluma.vercel.app. it might take 50 sec to spin up
This project is a submission for the MetaMask Embedded Wallets & Solana Dev Cook-Off. Soluma is built from the ground up to reimagine Web3 UX by making decentralized technology invisible to the end-user, perfectly aligning with the hackathon's theme.
We are primarily competing for the following tracks where Soluma excels:
🥇 Solana Everyday Impact: Consumer & Community App
Why? Soluma is a practical consumer application that makes a common activity—event ticketing—more democratic, secure, and user-empowering on Solana. It's designed for mainstream adoption.
🥇 Best Use of Solana Pay
Why? Solana Pay is the core of our payment and ticketing mechanism. We use it not just for payments but as the foundation for generating verifiable, on-chain tickets via QR codes.
🥈 Best Social Media Presence
Why? We are actively documenting and sharing our progress. Follow us @SoLuma_X!
Event ticketing is centralized, expensive for organizers, and insecure for attendees. Traditional platforms control user data, charge high fees, and suffer from fraud. Existing Web3 solutions are often too complex for everyday users, requiring browser extensions and seed phrase management.
Soluma solves this by offering a hybrid Web2 + Web3 platform. We use MetaMask Embedded Wallets (via the Web3Auth SDK) to provide a frictionless, "seedless" onboarding experience. Users sign up with an email or social account and get a non-custodial Solana wallet without even knowing it.
For Organizers: Create events and receive payments directly to your wallet in seconds with near-zero fees.
For Attendees: Buy tickets with a simple QR scan using Solana Pay. Your ticket is a secure, on-chain asset you truly own.
Requirement | How Soluma Meets It |
|---|---|
MetaMask Embedded Wallet SDK | ✅ Integrated. We use the |
Deployed on Solana | ✅ Deployed. The entire ticketing and payment logic is built on the Solana Devnet, leveraging its speed and low transaction costs. |
Working Demo | ✅ Available. A live demo is linked above, showcasing the full user flow from event creation to ticket verification. |
Source Code Access | ✅ Public. The complete source code is available in this repository with clear setup instructions. |
Pitch & Documentation | ✅ Included. This README serves as our documentation and pitch, outlining the problem, solution, and technical execution. |
Soluma's hybrid architecture uses Firebase for non-critical metadata and the Solana blockchain as the single source of truth for payments and ticket ownership.
Onboarding (Web3Auth): A user signs up with their email. Web3Auth instantly generates a non-custodial Solana wallet in the background.
Event Creation (React/Firebase): An organizer creates an event. The details are stored in Firestore.
Payment URL (Node.js/Solana Pay): Our backend generates a unique Solana Pay URL for the ticket price, pointing to the organizer's wallet.
Purchase (Solana Pay): An attendee scans the QR code and approves the transaction from any Solana wallet.
Verification (Node.js/Solana): At the venue, an organizer scans the attendee's QR ticket. Our backend verifies the transaction signature on the Solana blockchain in real-time to grant entry. This prevents fraud and double-spending.
We configured the Web3Auth modal to create a Solana-native wallet and hide all complex/irrelevant options, ensuring a pure Web2-like experience.
// src/config/web3auth.ts
import { CHAIN_NAMESPACES, WEB3AUTH_NETWORK } from "@web3auth/base";
export const web3AuthContextConfig = {
web3AuthOptions: {
clientId: VITE_WEB3AUTH_CLIENT_ID,
chainConfig: {
chainNamespace: CHAIN_NAMESPACES.SOLANA,
chainId: "0x3", // Solana Devnet
rpcTarget: "[https://api.devnet.solana.com](https://api.devnet.solana.com)",
},
web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_DEVNET,
},
// Hide all external wallet options to create a seamless embedded experience
modalConfig: {
openlogin: { label: "email", showOnModal: true },
metamask: { showOnModal: false },
phantom: { showOnModal: false },
// ... other wallets hidden
},
};We create transaction requests on the fly, embedding event and payment details directly into the QR code. This is central to our "Best Use of Solana Pay" claim.
// src/lib/solanapay.ts (simplified)import { encodeURL } from "@solana/pay";import { PublicKey } from "@solana/web3.js";
import BigNumber from "bignumber.js";
function makePayURL({ recipient, amount, reference, splToken }) {
const recipientPk = new PublicKey(recipient);
const refPk = new PublicKey(reference); // Reference links the payment to the orderconst tokenPk = splToken ? new PublicKey(splToken) : undefined;
const url = encodeURL({
recipient: recipientPk,
amount: new BigNumber(amount),
splToken: tokenPk,
reference: refPk,
label: "Soluma Event Ticket",
});
return url;
}Dhruv Pancholi (dpancholi.pp123@gmail.com)
Nitin Jain
Over the past month, the Soluma team has built a decentralized event platform from the ground up. The journey began with foundational work, integrating Web3Auth for frictionless, seedless onboarding. The second week focused on core Web3 functionality, with the successful implementation of dynamic Solana Pay QR code generation for secure ticket payments. The third week was dedicated to developing the frontend, creating a clean and intuitive user experience with dedicated pages for event creation, dashboards, and ticket verification. The final week involved polishing the application, conducting bug testing, and finalizing documentation, resulting in a stable and fully functional prototype ready for presentation.
0