Substrate Protocol for Encrypted Receipt Management - Spermbank

Yes, I’m aware the name might need some work. However, I was already too far into the build to be bothered to change it from its humorous start.


What is Spermbank?

Spermbank is a lightweight, mobile-first application that enables peer-to-peer payments with built-in support for issuing, storing, and verifying digital receipts.
It’s designed for small vendors, individuals, and anyone operating in informal or low-infrastructure environments where the traditional point-of-sale systems are overkill, unavaible or too costly.

The app works entirely on-device and uses blockchain-based payloads to anchor receipts in a secure, verifiable format. Wallet-to-wallet transactions with private embedded receipt logic.

Why use Spermbank?

Receipts are:

  • Immutable
  • Tamper-proof
  • Verifiable by both sender and receiver

It solves the annoying problem of lost, fake, or unverifiable receipts. Useful for things like:

  • Issuing refunds/returns
  • Tracking warranty claims (via block timestamp)
  • Providing transparent proof-of-purchase in informal economies

I’ve designed the payment flow to feel as intuitive as possible. Right now, it’s a two-step process (generate → scan buyer address→ pay), but I’m aiming to possibly reduce that to a single-tap experience down the line.

You scan a QR code, pay, and your receipt is instantly saved as it’s within the payload.

Built using React Native and Typescript.

It’s not production ready and hasn’t been audited. However it can be used whole or partially for hackathons if desired. If anyone wishes to add to it feel free. I was just frustrated by our current paper receipt infostructure and decided to solve it.

Here is the github: GitHub - MishoKanaria/Spermbank: A digital receipt protocol for real-world payments
And basic tutorial: https://x.com/MishoKanaria/status/1925789962558988720