Inspiration Recycling creates public value, but the people doing it rarely see a direct reward. We built LoopMint to connect verified recycling with transparent, government-funded incentives—making everyday environmental action measurable and rewarding. What it does LoopMint helps users find nearby recycling centers through Google Maps and create drop-off tickets at participating locations. Staff assigned to that center confirm the materials received, and users earn LOOP in their platform balance. Government funding partners deposit funds into a separate pool. LOOP’s conversion value follows a simple rule: Available released funding ÷ earned LOOP that hasn’t been redeemed Users can connect a Solana wallet, withdraw LOOP, or convert their balance into supported assets and withdraw those. They can also share a generated recycling achievement post on X or Reddit. The current prototype runs on Solana Devnet and uses clearly labeled Mock USD for funding tests. How we built it We built the interface with Next.js and the backend with Python and FastAPI. Tiger Data PostgreSQL stores accounts, center assignments, tickets, confirmations, funding records, and balances. Google Maps supports location search and nearby center discovery. Solana handles token transfers, while wallet signatures verify wallet ownership. A background worker processes rewards and withdrawals, with transaction records designed to prevent duplicate payouts. We separated the platform’s LOOP inventory from government funding: LOOP supplies rewards, while released funding backs conversions. Challenges we ran into Browser location permissions and inconsistent GPS readings made nearby-center discovery challenging. We added address search and explicit center selection to give users another way to find a location. Another challenge was keeping token inventory, released funding, and user balances distinct. Having Mock USD available does not mean the treasury has enough LOOP to issue rewards. We also needed to exclude setup inventory from released funding and calculate value using earned, unredeemed LOOP. Network interruptions required careful retry handling so temporary failures would not create duplicate rewards or withdrawals. Accomplishments that we're proud of We connected the complete recycling journey: finding a center, creating a ticket, confirming physical intake, earning rewards, and withdrawing to a wallet. We implemented separate recycler, recycling-worker, and government funding roles, with workers restricted to their assigned centers. We also made rewards shareable without hosting a social feed or using AI to verify recycling. What we learned A transparent rewards system needs clear accounting as much as it needs blockchain transactions. Token supply, available inventory, released funding, and redeemable balances each represent something different. We also learned that reliable recovery and understandable status messages are essential. Users need to know whether a ticket is awaiting confirmation, treasury inventory, or transaction completion. What's next for LoopMint We plan to onboard real recycling partners, improve treasury monitoring, and make funding and withdrawal flows easier to understand. Before moving beyond Devnet, we’ll focus on security review, operational controls, and testing with multiple centers and users. Our longer-term goal is to help communities connect recycling participation with measurable impact and accountable public funding.

Built With

  • fastapi
  • google-maps-javascript-api
  • google-places
  • lucide-react
  • next.js
  • playwright
  • postgresql
  • psycopg
  • pydantic
  • python
  • qrcode.react
  • react
  • recharts
  • solana
  • solana-devnet
  • solana-kit
  • solana-py
  • solana-wallet-standard
  • solders
  • spl-tokens
  • tailwind-css
  • tiger-data
  • typescript
  • uvicorn
Share this project:

Updates

Submission history