Inspiration

Fake and altered receipts are a quiet but serious problem, from expense fraud to refund abuse and even insurance claims. In smart cities, digital trust matters. We wanted a way to verify receipts instantly, without relying on manual checks or centralized authorities.

What it does

Analyzes a receipt and determines whether it’s likely legitimate or tampered with. It checks arithmetic consistency, detects anomalies like future dates or missing fields, assigns a fraud score with clear reasons, and allows verified receipts to be cryptographically certified and later verified.

How we built it

Frontend: Flutter UI Backend: Javascript (Node.js) handling API calls, verification logic and receipt processing. APIs and Services: Gemini: for structured output and clear reasoning of why a receipt was detected as fraudulent. Solana: for storing a cryptographic fingerprint (hash) of verified receipts on-chain, enabling tamper-proof verification without storing sensitive data

Challenges we ran into

Getting Solana CLI set up as we weren't familiar with the process. Integrated backend with frontend

Accomplishments that we're proud of

Reliable structured output from Gemini

What we learned

Learned how to integrate backend with frontend Using gemini to make a web app

What's next for Receipt-Identifier

Visually scanning receipts

Built With

Share this project:

Updates