SOURCE_URL: https://majikah.solutions/products/majik-signature/docs/ms-notarizing-sealed-files --- title: "Notarizing Sealed Files" id: "ms-notarizing-sealed-files" group: "majik-signature" type: "products" version: "1.0.0" lastUpdated: "2026-09-04T00:00:00.000Z" difficulty: "Intermediate" time: "10 minutes" tags: [notary, notarization, solana, blockchain, anchor, chain-anchor, sha3-512, proof-of-existence, chain-agnostic, memo, spl-memo-program, qr-ph, philippines, revision-chain, file-versioning, chain-verification, sealing] --- # Notarizing Sealed Files > How to notarize a sealed file by anchoring its seal hash on-chain — no crypto wallet needed, PHP 50/file via QR Ph, with email backup and independent verification ## Overview A complete guide to notarizing a sealed Majik Signature file — anchoring its seal hash to a public blockchain for an independent, tamper-evident proof of existence. Covers what notarization actually anchors (and what it doesn't), the no-wallet-required payment flow via QR Ph, what arrives by email as a backup, how to attach an anchor you already have, and how anyone can independently verify an anchor without trusting Majikah's servers. ### What Notarization Adds Sealing a file (see Signing Files and Text) locks in its final set of signers and computes a SHA3-512 hash over that sealed state. Notarization takes that seal hash and writes it to a public blockchain — currently Solana — as an independent, third-party timestamp that nobody, including Majikah, can quietly alter afterward. It doesn't replace your Ed25519 + ML-DSA-87 signature or the seal itself; it adds an extra, independently checkable layer on top of a decision you've already made by sealing. A file must be sealed before it can be notarized, since notarization anchors the seal hash specifically — but sealing a file doesn't notarize it automatically. Notarization is a separate, optional, per-file action you choose to take afterward. > **NOTE:** Sealing and notarizing are independent steps. Not every sealed file is notarized — notarization is optional and has a small fee. But every notarized file is a sealed Majik Signature file, since the seal hash is the thing being anchored. You can't notarize an unsealed file. ### How This Fits Together Notarization is handled by a separate layer, Majik Notary, rather than being built into the signing engine itself. Majik Signature is responsible for signing, sealing, and verifying signatures; Majik Notary is responsible only for producing and checking blockchain proof for an already-sealed file. This split means the blockchain used for anchoring can change or expand over time without changing how signing or sealing works, and without changing the sealed file format. Solana is the chain used today, but nothing about a sealed file or its seal hash is Solana-specific. > **NOTE:** Internally, an anchor's chain and network fields are plain strings, not fixed to Solana — this is what allows additional blockchain adapters to be added later without requiring changes to sealed files created today. Everything else in this guide describes the current, live implementation: Solana, via the SPL Memo Program. ### Starting a Notarization 1. **1. Seal the File First** *Notarization requires a sealed file* - Sign and seal your file as normal — see Signing Files and Text or How to Sign a PDF - Once sealing completes, a Notarize option becomes available in the results panel 2. **2. Open the Notarize Dialog** *Two paths are offered* - Click Notarize to open the notarization dialog - Choose Start New Anchor to pay and anchor this file's seal hash right now - Or choose I Have an Anchor File if you already have a previously paid-for anchor .json — for example, one you exported earlier or received by email — and just want to attach it to this file ### No Crypto Wallet Required You do not need a Solana wallet, any crypto holdings, or any prior blockchain experience to notarize a file. Payment is handled entirely through familiar, everyday methods, and the actual on-chain transaction is submitted and paid for on your behalf by Majikah's internal fee-payer account. From your side, notarizing a file feels like completing a normal online payment — not a crypto transaction. ### Paying for a New Anchor 1. **1. Review the Cost** *Flat per-file pricing* - Notarizing a file costs ₱50.00 per file, exclusive of VAT and any processing fees - This is a one-time cost per file — there's no subscription or recurring charge 2. **2. Pay via QR Ph** *Currently available in the Philippines only* - A QR code appears — scan it with your banking or e-wallet app to pay via QR Ph - If your device can't display or scan a QR code directly, a checkout page opens in a new tab instead — complete payment there and return - The QR code and checkout link both expire after a short window; if it expires, you can generate a fresh one without losing your place 3. **3. Confirm Payment** *Tell the app you've paid* - Once you've paid, click I've paid - The app checks your payment — if it hasn't been received yet, you'll see a brief waiting state and can tap Check again once it clears; this is common if you just completed payment and it hasn't settled yet 4. **4. Wait for On-Chain Confirmation** *Majikah submits and pays for the transaction* - Once payment is confirmed, Majikah's fee-payer account submits the anchoring transaction to Solana and covers the network's gas fee — you never pay gas directly, and no separate wallet interaction is needed on your end - The app polls the network until the transaction reaches a confirmed state — this is usually a matter of seconds - It's safe to close the dialog and check back later; the transaction continues processing on-chain regardless 5. **5. Anchor Complete** *Automatically attached to your file* - Once confirmed, the anchor is embedded directly into your current file automatically — no extra step needed - A link to view the transaction on a Solana block explorer is shown > **NOTE:** You'll also receive an email containing the anchor as a downloadable .json file, along with the block explorer transaction URL. This is a backup, not the primary copy — the anchor is already attached to your file automatically once confirmed. If something goes wrong locally (the app crashes, the file gets misplaced, you're working from a different device), you can always come back to I Have an Anchor File and attach the emailed .json to reproduce the same result. ### What Actually Gets Anchored Only your file's SHA3-512 seal hash — a 128-character hex digest — is ever transmitted or written on-chain. Your file's contents are never uploaded anywhere as part of notarization. The hash is embedded in a short, deterministic memo string written via Solana's Memo Program, in the exact form: ```text majik-notary-v-1:{sealHash} ``` This format is fixed and deterministic — the same seal hash always produces the exact same memo string, regardless of which device, account, or session generated it. That determinism is what makes independent verification possible: anyone can recompute a file's seal hash themselves and check whether a matching memo exists on-chain, without needing to trust Majikah's records at all. ### Anchor Object Reference | Field | Description | | --- | --- | | version | Anchor object format version (currently 1) | | id | Internal UUID identifying this anchor | | payload.chain | Which blockchain this anchor lives on — currently always "solana" | | payload.network | Which network — e.g. "mainnet" for live notarizations | | payload.digest.algorithm | Always "SHA3-512" — the hash algorithm used for the seal hash | | payload.digest.value | The 128-character hex seal hash that was anchored, taken as-is from the file's seal | | memo | The exact memo string written on-chain: "majik-notary-v-1:{sealHash}" | | txSignature | The Solana transaction signature (base58) | | slot | The Solana slot the transaction landed in — null until confirmed | | blockTime | Unix timestamp of the block — null until confirmed | | confirmedAt | ISO 8601 timestamp of when this anchor first reached confirmed status — null until then | | status | One of: pending, confirmed, finalized, or failed | *Caption: Fields in the anchor.json you can download, embedded in your file, or attach manually* ### Independent Verification Anyone — not just Majikah, and not just you — can verify a notarized file without trusting any Majikah server. Verification recomputes the SHA3-512 seal hash from the file's own seal, derives the expected memo string from that hash, fetches the actual transaction from the Solana blockchain using the anchor's transaction signature, and checks that the on-chain memo matches exactly and that the transaction reached a confirmed or finalized state. If any of those checks fail — a mismatched memo, a transaction that can't be found, or one still stuck pending — the anchor doesn't verify. You can also open the transaction directly in a Solana block explorer (a link is provided both in the app and in the confirmation email) to inspect the memo on-chain yourself. > **NOTE:** On a block explorer, the anchored proof shows up as a Memo Program instruction — its logged data is the exact majik-notary-v-1:{sealHash} string. This is the entirety of what's public on-chain: a version tag and a hash, nothing else identifying the file, its contents, or you. ### Notarization and the Revision Chain Multi-signer files that go through additional stamping or drawing passes build up an append-only revision chain (see Signing Files and Text) so that every earlier signer's signature stays valid. When you load a file that carries this chain, the Verify tab detects it automatically and offers a Verify full revision history toggle. Turning it on lets you drag in every earlier revision of the file — signed by the issuer and by every other signatory — so each one can be checked against its own recorded signature and against its place in the chain, in any order and regardless of filename. This gives you the strongest possible guarantee: not just that the latest version's signatures are valid, but that every version along the way is exactly what it was signed as. Notarization and revision-chain verification are independent features that can both apply to the same file — a file can carry a full revision chain, a blockchain anchor, or both. ### What Notarization Does Not Do > ⚠️ **WARNING:** Notarization proves that a specific seal hash existed at or before a specific point in time, independently of Majikah. It does not replace, strengthen, or substitute for the underlying Ed25519 + ML-DSA-87 signature — a file's signatures are valid or invalid on their own regardless of whether it's ever notarized. Likewise, notarizing a file doesn't affect sealing: a sealed file remains permanently closed to further signatures whether or not it's notarized. ### Quick Reference | Task | Where to Find It | Notes | | --- | --- | --- | | Notarize a file | Results panel, after sealing | Requires a sealed file | | Pay for a new anchor | Notarize dialog — Start New Anchor | ₱50.00/file excl. VAT and processing fees, via QR Ph | | Attach an anchor you already have | Notarize dialog — I Have an Anchor File | No payment required; loads a previously issued anchor.json | | Find your anchor backup | Email inbox | Sent automatically on confirmation; includes anchor.json and explorer link | | View the on-chain transaction | Explorer link in-app or in the confirmation email | Shows the raw memo instruction | | Check a file's full revision history | Verify tab — Verify full revision history toggle | Appears automatically when a file's fileVersions chain is detected | *Caption: Where to find each notarization-related feature* > **NOTE:** For signing and sealing a file before notarizing it, see Signing Files and Text. For PDF-specific signing and stamping, see How to Sign a PDF. For checking a signature or a full revision chain, see Verifying Signatures.