Proof of authorship · integrity · time
Your work, fingerprinted.
Anchored on CKB.
AI makes it trivial to alter files, images and code. A SHA-256 hash proves a file is untampered — but not when it existed, who published it, or where to find the current version. VeriCell stores your project's hash manifest in a live cell on the Nervos CKB blockchain: immutable, timestamped, owned by your wallet, and updatable version by version.
Try it — hash a file locally
Drop any file here
Hashed in your browser. Nothing is uploaded.
Only fingerprints on-chain
Your files never leave your computer. The cell stores the project title, file paths and their SHA-256 hashes — nothing else. Private by design.
A cell that lives with your version
The proof is a live CKB cell. Release a new version and the old cell is consumed into a new one — an unbroken, verifiable version chain back to the original.
Verifiable by anyone
No account, no login. Anyone can drop a file, recompute its hash and check it against the chain — the block header proves the timestamp, the lock proves the owner.
Create a project proof
Connect your wallet to create proofs. Verifying never requires login.
← Cancel — back to new projectFiles are downloaded from raw.githubusercontent.com into your browser and hashed locally (public repos, up to 200 files).
Works when the server allows cross-origin requests (CORS). Otherwise download the file and use “Local files”.
0 entries · overall project hash:
Anchored manifests — title, file paths and hashes — are written to the blockchain publicly and irreversibly. Once anchored, they cannot be edited or deleted.
Search & verify
Open to everyone — no wallet needed.
…or drop a file to hash and verify it
Project proof
How it works
- Select your work. Files, a folder, a GitHub repository or a URL. Every file is hashed with SHA-256 locally in your browser — content never leaves your machine.
- Anchor it. VeriCell builds a manifest (title, paths, hashes, source URL, overall hash) and writes it into the data of a new live cell locked to your wallet address. The block header fixes the timestamp; the lock script fixes the owner.
- Verify forever. Anyone can recompute a file's hash and check it against the live cell. Ship a new version? Consume the old cell into a new one — the transaction chain is the version history.
On CKB, 1 CKB token = 1 byte of on-chain space. A compact Merkle-root proof needs ~200 CKB; a full manifest scales with the number of files. Capacity is locked, not spent — consume the cell and the CKB returns to you.
API & automation
Anchor and verify from CI/CD, scripts, or any HTTP client.
VeriCell exposes a REST API for automation, mirroring what this page does in the
browser. Get an API key from your VeriCell operator (POST /api/v1/keys,
admin-guarded), export it as VERICELL_API_KEY, then:
Non-custodial by design: the API only prepares the transaction — you sign it
locally (the vericell CLI or any CCC signer), so your key never leaves your
machine. Full reference, every endpoint and a try-it-out console:
interactive API docs.