Inspiration

As a kid in the late 2000s, Pokémon was everything to me. I would beg my mom to take me to Target so I could rip another pack and maybe, finally, pull my favorite, Charizard. I never really put that feeling away. The cards did. They ended up in a drawer with the rest of the junk you swear you will sort later, and honestly I barely open it now. That is the weird part. The cards are still there. The kid who cared about them is too. So we started asking a simple question. What if that drawer was not the end of the story, but the start of one you could actually use again, from your wallet, without the hobby dying in a box that nobody will open for years on end.

What it does

Solédex is an app built for Pokemon collectors. You can browse a real catalog of items with up-to-date statistics based off our application activity, pricing framed in SOL, open any card like a product page, and when you are ready; you connect a Solana wallet. No email. No password. Your wallet is your Pokemon account.

From there, you get a backpack tied to that address. You now have two choices: A) Mail your Pokemon cards to us and we will mint an NFT to your wallet B) Buy a card from the Marketplace with Solana. (You can withdraw this, as every card is backed up with a physical card)

Then you can hold your Pokemon card, and watch it sky-rocket in price over the years, or trade it with your friends with a few clicks here.

At the moment, the signing is message based intent and not a finished on chain settlement rail. The point of the build is honest. You can use the product now, and we are pointing the roadmap at one NFT tied to one physical card, including deposits and mints to your wallet when that layer is ready.

How we built it

We split it clean. The frontend is React and TypeScript on Vite, with React Router for pages and Solana wallet adapter so Phantom, Solflare, and other wallets can connect. The UI calls our FastAPI service over HTTPS.

The backend is Python FastAPI. Catalog routes pull live Pokémon TCG data from TCGdex (free, no key), normalize it for our UI, and cache HTTP responses in SQLite so search and repeat hits stay quick. Anything that is ours, inventory, listings, trade records, card snapshots we keep in MongoDB.

Solana side today is wallet connect plus sign message for listing and trade style actions. We store the intent and signature with the rest of the payload. We are on mainnet in the wallet layer. We did not ship a custom on chain program in this pass. That is the next stack of work, not a secret.

Challenges we ran into

Solana itself was a learning curve. We spent real time figuring out what “using Solana on a website” even means in practice. The wallet adapter in particular was confusing at first. Which provider wraps what, how Connection relates to mainnet vs what the user has selected, when to use signMessage vs a real transaction, and how any of that talks to our FastAPI backend

CORS when the site and API are on different domains. The API reaching TCGdex from a container and timing out in ways that look like “the site is broken” in the browser. Mongo wiring for marketplace routes vs mostly cached catalog routes.

Accomplishments that we're proud of

We shipped a full project and got it hosted that you can actually click through: catalog search, card pages, backpack, marketplace listings, and trade style flows, all backed by a real API and database. Solana is not decoration. Wallet connect and signing are part of the core UX.

What we learned

Artificial Intelligence is a powerful tool that we can use to our advantage, not replace us. 95% of this code was written by AI models like Composer & GPT on Cursor but we definitely learned that, AI cannot take over and we encountered so many issues that required operator fixes.

What's next for Solédex

We want to make this work on the main-net so we will wire a real settlement next by verifying signed intents n the server, then move to actual transactions and RPC confirmation instead of trusting the client alone. This is obviously a huge vulnerability, but these things take time. We will most likely be moving forward on this project based off the audiences' reactions

Built With

Share this project:

Updates