On-chain document hash attestation on Base L2. Part of the MiOffice AI Office Suite.
Register SHA-256 document hashes on the Base blockchain for immutable, timestamped proof of existence. Documents are hashed entirely in the browser — files never leave your device.
Live at: mioffice.ai/verify
- User drops a file on MiOffice Document Verification
- SHA-256 hash is computed client-side using Web Crypto API
- Hash is registered on-chain via the
DocumentAttestationcontract - Anyone can verify the hash exists and check the timestamp
| Network | Address | Explorer |
|---|---|---|
| Base Mainnet | TBD |
BaseScan |
| Base Sepolia | TBD |
BaseScan Sepolia |
- Frontend: MiOffice — Next.js, TypeScript, Tailwind CSS
- Hashing: Web Crypto API (SHA-256) — runs in browser, zero uploads
- Contract: Solidity 0.8.24, deployed on Base L2 (Coinbase)
- Integration: ethers.js v6 for wallet connection and transaction signing
// Register a document hash
function attest(bytes32 hash) external;
// Verify a hash exists
function verify(bytes32 hash) external view returns (address attester, uint256 timestamp);
// Get all attestations by an address
function getAttestations(address attester) external view returns (bytes32[] memory);npm install
npx hardhat compile
npx hardhat test
npx hardhat deploy --network base-sepolia| Operation | Gas | Cost (Base L2) |
|---|---|---|
| attest() | ~45,000 | < $0.01 |
| verify() | 0 (view) | Complimentary |
All file processing happens in the browser. Only the SHA-256 hash (32 bytes) is sent on-chain — never the file content, filename, or any metadata. Privacy Policy
- MiOffice AI Office Suite — 66+ browser-based applications
- PDF Suite — Merge, split, compress, convert PDFs
- Image Suite — Compress, resize, convert images
- Scanner Suite — Document, receipt, QR scanning
- Document Verification — Hash and verify documents
- @mioffice/doc-verify — NPM package for SHA-256 hashing
MIT — JSVV SOLS LLC