Project Story — Memento
Inspiration
The internet is entering a new era where AI can generate text, images, music, and code in seconds. While this unlocks incredible creativity, it also introduces a critical problem:
How do we prove a human created something first?
Traditional systems like copyright registration, patents, or timestamps are:
- slow
- expensive
- centralized
- difficult to verify globally
We wanted to build a system where authorship proof is instant, trustless, and permanent— something that works at the speed of the internet.
That vision became Memento.
What Memento Does
Memento is a Web3 application that creates permanent, verifiable proof of authorship for any digital file.
It combines:
- SHA-256 cryptographic hashing to fingerprint files
- wallet signatures to prove human intent
- blockchain timestamps for immutable global proof
- off-chain metadata storage for rich context
- public verification certificates for trustless sharing
Mathematically, each file is reduced to a unique digest:
[ H = \text{SHA256}(\text{file}) ]
This hash is then sealed on-chain with:
- creator identity
- timestamp
- metadata reference
Creating an unchangeable origin record.
How We Built It
Memento was designed as a full-stack Web3 product, not just a smart contract demo.
Frontend
- Next.js + React for fast, modern UI
- Neo-brutalist black-and-white design for clarity and identity
- Multi-step creation flow:
- Select creation type
- Add metadata
- Upload file → generate hash
- Sign & seal proof
Web3 Layer
- Wagmi + RainbowKit for wallet connection and signing
Solidity smart contract to store:
- file hash
- creator address
- timestamp
- metadata hash
Deployed on Ethereum Sepolia for public verification
Database & Dashboard
Supabase (PostgreSQL) stores:
- metadata
- transaction hash
- user history
This enables a personal dashboard of proofs—bridging on-chain permanence with off-chain usability.
Challenges We Faced
1. Wallet Signature Flow
Browsers and wallets restrict when popups can appear. We had to redesign the UX so that:
- one user action → one wallet interaction
to ensure reliable signing and transactions.
2. Bytes32 & Hash Formatting
Smart contracts require strict hex-encoded 32-byte values.
A missing 0x prefix caused transaction failures, which required:
- precise encoding
- validation
- defensive frontend logic
3. On-Chain vs Off-Chain Balance
Blockchains are immutable but not suited for rich data. We solved this by:
- storing proof on-chain
- storing context off-chain
creating a hybrid architecture that is both trustless and usable.
What We Learned
Through Memento, we learned:
- UX is the hardest part of Web3, not smart contracts
- Trust emerges from cryptography + transparency, not authority
- Real products require full-stack thinking, not isolated components
Most importantly:
Authenticity will become one of the most valuable signals on the internet.
Impact & Vision
Memento is more than a file timestamping tool. It is a step toward a future where:
- creators instantly prove originality
- researchers protect discoveries
- designers secure ownership
- the web regains trust in human creativity
Our long-term vision is to build:
The authenticity layer of the internet.
A world where every digital creation can carry verifiable proof of human origin.
Closing Thought
In the age of infinite AI generation, the rarest and most valuable thing becomes:
Proof that a human created something first.
Memento exists to preserve that proof—forever.
Built With
- express.js
- metamask
- next
- rainbowkit
- react
- solidity
- tailwindcss
- typescript
- wagmi


Log in or sign up for Devpost to join the conversation.