Web App Guide
The web app at thesis-lock.vercel.app is where documents are anchored and verified. Every page hashes files in your browser; the file itself never leaves your device.
Connecting a wallet
Anchoring writes to the chain, so it needs a Stacks wallet and a small amount of STX for the fee. Click Connect and approve through Stacks Connect (Leather, Xverse, or Asigna). Verification, search, and the public feed need no wallet at all.
Anchor a single file
- Open the anchor page and connect your wallet.
- Drop a file onto the page or pick one. It is hashed in place.
- Add an optional label (up to 64 ASCII characters).
- Sign the transaction. The app polls Hiro and slides in a toast when the anchor lands on chain, with a link to its verify page.
The single-file anchor writes to the thesislock contract and, in the same flow, registers the anchor in your per-wallet history.
Batch anchoring
Need to anchor several files at once? The batch flow anchors up to ten hashes in a single transaction against thesislock-batch, which is cheaper than ten separate anchors. Duplicate hashes you have already batched are skipped silently, so overlapping batches still succeed.
Batch anchors are keyed by both hash and owner. When you share a batch-anchored hash, include your principal in the verify link: /v/<hash>?owner=<principal>. The batch success screen and the My Anchors page generate links that already include it.
Groups
Groups let several wallets anchor under a shared, on-chain history, useful for thesis committees, legal teams, or research labs collecting submissions. On the groups page:
- An admin creates a named group.
- The admin adds or removes members. Non-admin attempts are rejected on chain.
- Any member anchors documents to the group, appending to a history keyed by group and index.
Verifying
Single verification
Visit /v/<hash>, or re-upload the file on the verify page to compute its hash and check it against the chain. A match shows when it was anchored, by which wallet, and the label. For batch anchors, append ?owner=<principal>.
Bulk verification
The bulk verify page accepts multiple files at once, checks them all against the chain in a single pass, and exports the results as CSV.
Finding anchors
- Search finds anchored documents across every contract by hash, wallet address, or label, auto-detecting the query type.
- The feed shows recent on-chain anchor activity across all wallets, refreshing every minute.
- My Anchors lists your wallet's history, populated automatically when you anchor, with export.
- Stats summarizes protocol-wide totals and recent activity.
Proof NFTs
Optionally mint a soulbound proof token (SIP-009): a non-transferable NFT that stays in your wallet as permanent evidence of an anchor. Transfers always fail by design, and each unique hash can mint only one proof.
Embeddable badges
Once a document is anchored, the embed page generates a shields-style "Verified on Stacks" SVG badge and a social sharing card for any hash, with copy-paste Markdown and HTML snippets. See the API Reference for the badge and card endpoints.