Mint Up!
Events worth collecting
The problem Mint Up! solves
Web3 communities are building the future onchain, yet they're forced to manage their most vital gatherings (their events) using the disconnected, off-chain tools of the past. This creates a jarring philosophical conflict, a poor user experience, and a massive missed oportunity for true onchain community building.
Mint Up! solves this by bridging the gap, transforming events from simple calendar entries into ownable, interactive, and composable onchain experiences.
The Pain for Event Organizers
Organizers are the lifeblood of the ecosystem, but their current tools work against them:
-
A Broken Experience: Using platforms like Luma or Eventbrite to organize a web3 meetup feels like using a Google Form. The process is transactional and spiritually disconnected from the onchain world. For payments, organizers are forced into cumbersome setups like Stripe, instead of receiving funds directly and instantly to their own wallet.
-
Post-Event "Energy Death": The excitement and connection from a great event evaporates overnight. Organizers have no native tools to maintain momentum, leading to a frustratingly manual and often cringe-worthy process for rewarding attendees. We've all seen it (real case in Latam): the awkward "please send me your wallet address in WhatsApp to get your POAP" message. This is high-friction, insecure, and completely off-brand for a web3 community.
-
Manual, Tedious Workflows: The burden of verifying attendance and distributing onchain rewards like POAPs is a tedious, manual process that relies on trust, not cryptographic proof. This adds unnecessary operational overhead and detracts from what organizers should be doing: building their community.
The Problem for Attendees
For attendees, the current event experience is ephemeral and adds zero value to their onchain identity:
-
The Disposable Ticket: A ticket from a traditional platform is a dead-end. It's a QR code in an email, often not even scanned, that holds absolutely no value the moment the event is over. It doesn't contribute to your onchain history, it can't be shown off, and it offers no future utility. It's a digital receipt, not an asset.
-
No Tangible Memory: There is no verifiable artifact that proves you were there. The moment lived is lost, with no onchain record to anchor it. You can't prove you were an early supporter, and you can't build an onchain reputation based on your participation.
The Ecosystem & Social Graph Problem
In the context of The Base App and the Farcaster protocol, the problem becomes even more acute:
-
"Dead Links" on the Social Graph: Sharing a link to a traditional event platform in a cast is a dead-end interaction. It takes users out of the native ecosystem and into a walled garden.
-
Missed Native Integration: There is no way to leverage the powerful features of the onchain social graph. You can't mint a ticket from within the feed, you can't easily share your attendance proof, and event links don't generate the rich, dynamic metadata that makes the ecosystem so vibrant.
Mint Up! directly attacks these problems. We provide an onchain home for web3 events, automating the tedious workflows for organizers, turning tickets into valuable digital collectibles for attendees, and integrating natively with The Base App to create a seamless social experience. We make the entire event lifecycle—before, during, and after—feel like it belongs onchain, because now, it finally does.
Challenges we ran into
Our biggest challenge was building a robust, secure, and seamless authentication flow in a completely uncharted territory: integrating NextAuth session management with the Base minikit's Sign-In With Farcaster (SIWF) functionality.
While the minikit provides an instant wallet connection, this is not true authentication. We needed a way to create and manage user sessions in our database (Convex) securely. The problem was, there was zero documentation on how to bridge these two powerful but distinct systems.
This forced us to reverse-engineer the entire authentication flow and build a custom solution from the ground up:
-
Bridging the Gap: We configured NextAuth's Credentials provider to handle the raw message and signature returned by the SIWF modal. This was the crucial first step that allowed us to intercept the Farcaster login process.
-
Verifying Identity & Sourcing Trusted Data: A signed message alone doesn't tell us who the user is.
-
We used viem/siwe's parseSiweMessage function to extract the wallet address that signed the message.
-
We then used the Neynar API's verifySignInMessage to cryptographically verify the signature and, most importantly, get the user's trusted Farcaster FID.
-
With the FID, we made a final call to Neynar to fetch the user's canonical profile data (username, PFP, bio), ensuring we never have to trust user-provided information. This data was then synced to our Convex database.
-
-
The Final Integration: Generating a Convex JWT: The last piece of the puzzle was making our Convex backend aware of the NextAuth session. We solved this by creating a custom NextAuth session callback. Inside this callback, we generate a separate, short-lived JWT signed with our Convex private key. This token is then passed to the frontend and used to authenticate all subsequent Convex queries and mutations, allowing us to securely use ctx.auth.getUserIdentity() throughout our backend.
This complex, multi-step process resulted in a seamless user experience that combines the simplicity of SIWF with the security and power of a traditional session management system.
Beyond this core challenge, we also tackled:
-
A Mobile-First UI on the Web: To ensure our app felt truly native inside The Base App, we built our entire UI with Tamagui, a universal component library based on React Native. This allowed us to use mobile-native patterns like Sheets for all our modals and forms, creating a fluid, responsive experience that feels right at home on any device.
-
Crafting Viral Metadata: We didn't just want our shared links to work; we wanted them to be a core part of the product experience. The challenge was making every shared event and every user's ticket feel personal. We leveraged Next.js's generateMetadata and @vercel/og to dynamically generate unique, beautiful preview images for every shareable link**, turning a simple cast into a personalized showcase.
Smart Contract Address(es)
Main ERC 1155 contract address:
https://base.blockscout.com/token/0x5Bf66d335822BEAD0848AaA92A15fe842b554871
OpenSea:
Tracks Applied (1)
Top 5 New Consumer Apps
Technologies used
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.
