VeritasChain Docs
VeritasChain alpha GitHub
Proof of existence on Ethereum

Prove a file is real, forever.

VeritasChain turns any file into a tamper-proof record on Ethereum. It stores the file on IPFS, writes the file's fingerprint to the blockchain with your wallet and the exact time, and gives you a proof anyone can check.

  • Stamp a photo, document or dataset in one upload
  • Prove who published it and when, down to the block
  • Detect any edit: change one pixel and the proof fails
FastAPI Python 3.10+React 19Solidity TruffleIPFS KuboMIT licence
01 · your file You upload a file

A photo, a contract, a dataset. Any bytes you want to prove.

The problem

Proving a file is real usually means trusting somebody.

Metadata can be rewritten and timestamps forged. The usual fix is a platform, a notary or a vendor who vouches for the bytes. That works until the vendor shuts down, gets acquired, or stops agreeing with you.

step 1 · pinContent becomes its own ID

The file goes to IPFS. Its CID is a hash of the bytes, so change one pixel and the CID changes completely.

step 2 · anchorThe chain records who and when

uploadFile(cid, name) stores the hash with msg.sender and block.timestamp.

step 3 · proveAnyone can check it

Share the CID and transaction ID. Verification is a read: no sign-up, no wallet, no API key.

⬢

The proof outlives the platform. If every server in this project goes dark, the record still stands on chain, readable by any Ethereum client.

What you get

Stamp from a browser or a pipeline.

A wallet is the only account. The same backend serves the web app and a keyed developer API.

Compared

No issuer to disappear.

You pay for permanence and independence in gas fees and disclosure. Pinned content is public.

VeritasChainPlatform badgesNotary / timestamp SaaS
Proof survives the vendor shutting downYes, on chainNoNo
Verify without an accountYesPartialNo
Publisher identity is cryptographicWalletNoNo
Anyone can audit the full recordYesNoPartial
No per-verification feeYesNoNo
Works with only the CIDYesNoYes
What you get back

A certificate anyone can check.

Every stamp returns a CID and a transaction ID. Together they make one precise claim, and the blockchain backs it for as long as Ethereum exists.

cid

The file's fingerprint. Same bytes, same CID. Different bytes, different CID.

publisher

The wallet that sent the transaction. No usernames, no passwords.

anchored

The block's timestamp. The file existed no later than this moment.

Run the whole stack locally.

One script starts Ganache, IPFS, the contract, the API and the web app.

← parthkomalwad.dev