Support
Need help with OPCam? Email hi@ms.co.th and we'll get back to you.
How does OPCam prove a photo?
Each photo is stamped with the time, GPS coordinates and address, and fingerprinted with SHA-256. For captures since v1.3, the fingerprint is the SHA-256 of the exact JPEG file you share — the same value printed in the watermark and shown in the receipt. If you enable on-chain proof, that fingerprint is recorded on the Optimism blockchain with a timestamp, so anyone can confirm the photo existed at that moment.
What is a proof package?
From the receipt, tap Share proof to send one named ZIP file, proof-<recordNo>.zip, containing:
<recordNo>.jpg— the watermarked photo as delivered by OPCam.<recordNo>.json— a sidecar with the fingerprint, capture time, location, task, device, operator, and on-chain anchor details.
The two entries are stored at the ZIP root. The sidecar's verifyURL points to opcam.ms.co.th/verify, where a recipient can check the package without installing the app. The verifier also accepts the two loose files for older exports.
How do I verify a proof package?
- Open the verifier on the device that received the files (or any browser).
- Drop the
proof-<recordNo>.zip, or drop the loose.jpgand.jsonone at a time. - The page shows the record details from the sidecar and compares the photo's SHA-256 to the fingerprint in the JSON.
- Press Verify on-chain to check whether the fingerprint has been anchored on Optimism.
Hashing happens entirely in your browser — the photo is never uploaded. You can also paste a fingerprint manually or drop a photo alone to compute its hash.
What does a failed match mean?
If the verifier says the photo does not match the sidecar fingerprint, the JPEG you have is not the same file OPCam exported — it may have been edited, re-compressed, cropped, or replaced. That is what the product is designed to detect.
If the sidecar says not verifiable (hashScheme: legacy), the capture predates v1.3. The sidecar still records the receipt fingerprint, but it was not computed from the delivered photo, so a browser comparison would not be meaningful and a mismatch would not prove tampering.
If on-chain verification says not anchored, the fingerprint was never recorded on the blockchain — that is normal for captures where on-chain proof was off or still pending. It does not by itself mean the photo was altered.
How do I back up my records?
Settings → Backup exports a ZIP archive of your records and their available photos, and restores it on a new device. If any photo is missing or unreadable, OPCam names the affected records and labels the export as partial. Anchors already written to the chain are public and survive device loss; a complete archive keeps the photos and metadata together.
What are on-chain credits?
Anchoring a fingerprint on-chain costs a small network fee, so OPCam sells credits in packs (1 credit = 1 anchor). Capturing photos and writing the time/location watermark is always free; only the optional on-chain anchor uses a credit. Purchased credits are tied to a random account identifier stored in your Keychain and synced with our server.
Do my photos or location leave my phone?
No. Photos stay in your library and your location is used only on-device for the watermark. When you anchor a photo, only an anonymous fingerprint, record number, capture timestamp, and account identifier are sent — never the image or your coordinates. See the Privacy Policy.
I changed devices / reinstalled
Records are stored on-device unless you back them up. Restore from a backup archive in Settings, or verify individual proof packages on the web. Anchored fingerprints remain on the blockchain forever and can always be checked with the fingerprint from the sidecar or receipt.
Which languages are supported?
24, with an in-app switcher under Settings → Language, including right-to-left layouts.