Inspiration

People in third world countries with little to no knowledge of crypto and oppressive governments that do not provide infrastructure for currency exchange are forcefully locked in to hold their store of value as their governmental currency. When that currency collapses — as seen in Lebanon, Venezuela, Ukraine, and Zimbabwe — ordinary people lose their life savings overnight with no recourse. Our app provides a gateway for them to escape this oppressive cycle and take control of their own financial future.

What it does

SolShield is a non-custodial Solana USDC wallet designed for people with no prior crypto experience. Users create a wallet in seconds, receive a shareable QR code to accept USDC from anyone in the world, and can send USDC to any Solana address. Because USDC is pegged to the US dollar, users are not speculating on crypto — they are simply holding digital dollars, protected from local currency devaluation. We attempt to both educate and increase accessibility by creating an onboarding chatbot powered by Google Gemini explains everything in plain language and supports multiple languages, so users never need to understand the underlying blockchain. Another unique feature is our physical NFC card that lets users access their wallet by tapping any phone so that tech illiterate people feel more secure and they never have to create an account in fear of getting hacked/ dislike relying on centralized infrastructure.

Our primary strategy is peer-to-peer: one person in a community receives USDC from a family member abroad or an NGO, then sends small amounts to neighbors and family directly through SolShield. This is how crypto adoption has organically spread in high-inflation countries like Venezuela and Lebanon, and our QR card makes it as simple as showing someone a card to scan. The blockchain is invisible — to the end user, someone they trust just sent them dollars.

How we built it

We built SolShield on Next.js using the App Router for both the frontend and API routes. Wallet functionality is handled entirely client-side via @solana/web3.js and @solana/spl-token — the server never touches a private key. User profiles and transaction history are stored in MongoDB Atlas using Mongoose for schema enforcement and upserts. Clerk handles authentication and protects API routes via middleware. The Gemini API powers the onboarding chatbot and per-transaction explainer. NFC card integration uses URL encoding and the browser History API so users can load their wallet by tapping a card. The entire app is deployed on Vercel with environment variable configuration and edge caching.

Challenges we ran into

One of the biggest challenges was simply understanding how all the pieces fit together before writing a single line of code. SolShield spans blockchain, authentication, database, AI, and deployment — each with its own mental model. Getting the whole team aligned on how a user's keypair flows from the browser through Clerk auth into MongoDB, while transaction signing stays entirely client-side and never touches the server, took real effort to map out and communicate clearly.

There was also a technical challenge of testing USDC onto Devnet — Solana's public Devnet RPC has strict rate limits, and the third-party USDC faucets we tried either had their own rate limits or simply did not fund our wallets successfully. Without test USDC in hand, we could not fully verify and complete the USDC balance fetching logic in time for submission. The core wallet infrastructure is built correctly — the associated token account derivation is in place — but this last step of switching the displayed balance from SOL to USDC is the clearest thing we would fix given one more hour.

Accomplishments that we're proud of

We are proud that SolShield is genuinely non-custodial — the private key never leaves the user's device, which is fundamental to the mission. Trusting a third party with funds defeats the purpose in regions where institutions are unreliable. We are also proud of the NFC card integration actually making it into the final build, giving the product a physical dimension that makes it tangible and accessible to users who are not comfortable with long crypto addresses. Building a working end-to-end wallet — from key generation to live USDC transactions on Solana — in a single hackathon was a meaningful milestone for the team.

What we learned

We learned how to reason about a full-stack application where trust boundaries matter — specifically, which logic must stay client-side (key signing) versus what can safely live on a server (caching, profiles). We gained hands-on experience with Solana's account model, SPL tokens, and associated token accounts, which are fundamentally different from EVM chains. We also learned how to coordinate across a multi-person team building across blockchain, auth, AI, and database layers simultaneously, and how to debug integration issues that only surface when all layers are connected.

What's next for SolShield

The immediate next step is replacing the URL-based NFC card with a true NFC smart card (using Tangem or JavaCard) that stores the private key on a secure chip — the user taps to sign transactions without the key ever being exposed, even if the phone is replaced. Beyond that, we want to specialize in providing support for countries that truly need such a product.

Built With

Share this project:

Updates