NOTARIAL
QUANTUMHARMONY NOTARIAL SERVICE
START
ATTEST
VERIFY
CONTRACTS
QCAD
TRUST
ACCOUNT
POST-QUANTUM SECURE
SETTINGS
PROOFS
BLOCKCHAIN
CONNECTING
Endpoint: -- | SPHINCS+ Signatures | SHA-256 Document Hashing
TIME (UTC)
00:00:00
Getting Started
Welcome to QuantumHarmony - Your journey to post-quantum secure notarial services

Welcome to QuantumHarmony

QuantumHarmony is the first post-quantum secure blockchain designed for notarial and legal applications. All transactions are protected by SPHINCS+ signatures, which are resistant to attacks from future quantum computers.

Quick Start Steps

  1. Step 1: Create your account below (or import existing key)
  2. Step 2: Fund your account with free testnet tokens
  3. Step 3: Attest documents, create contracts, use QCAD
STEP 1 Create Your Account
Your account is stored locally and secured with post-quantum cryptography

No Account Found

You need an account to use QuantumHarmony. Create one now - it only takes a few seconds!

Account Name
A friendly name to identify your account
Password
This encrypts your private key. Don't forget it!
Confirm Password
STEP 2 Fund Your Account
Get free testnet tokens to start using the network

What are QMHY Tokens?

QMHY tokens are needed to pay transaction fees. On testnet, they're free!

Your Account Address
This will be auto-filled after you create an account
Network Information
Current testnet status and specifications
Token Symbol QMHY
Decimals 12
Block Time ~3 seconds
Consensus Aura + Proof of Coherence
Signatures SPHINCS+-256s (Post-Quantum)
Active Validators 2

Production Validators

  • Alice - Montreal, Canada (51.79.26.123)
  • Bob - Beauharnois, Canada (51.79.26.168)
  • Charlie - Frankfurt, Germany (209.38.225.4) - Syncing
Document Attestation
Create an immutable, timestamped proof that your document existed at a specific point in time

What is Document Attestation?

Document attestation creates a permanent, tamper-proof record on the QuantumHarmony blockchain proving that your document existed at a specific moment in time. This can be used for:

  • Intellectual Property - Prove when you created original work
  • Legal Documents - Timestamp contracts, agreements, and legal filings
  • Academic Records - Certify credentials and transcripts
  • Compliance - Meet regulatory timestamp requirements

Privacy Guarantee: Your document never leaves your browser. Only a cryptographic hash (digital fingerprint) is stored on the blockchain - the actual content remains completely private.

Account Required

Before you can attest documents, you need to create and unlock an account. Go to the ACCOUNT section in the sidebar to create a secure keystore.

1 Select Your Document
📄
Drag and drop your document here, or click to browse
Supported: Any file type (PDF, DOCX, images, etc.) up to 100MB
2 Choose Document Category
Category
Categorizing your document helps with organization and searchability
Description (Optional)
A short description stored on-chain with your attestation (max 256 characters)
3 Storage Options (Optional)
Document Storage
Choose where your document file is stored. "Local Only" is the most private option - only the hash goes on-chain.
4 Submit Attestation

When you submit, your document's hash will be permanently recorded on the QuantumHarmony blockchain with a SPHINCS+ post-quantum signature. This creates legally admissible proof of existence.

Your Attestation History
Documents you have previously attested

Your attestation history is stored locally in your browser. Each entry shows the document name, hash, and timestamp. You can use these hashes to verify documents later.

No attestations yet. Attest your first document above.
Document Verification
Check if a document has been attested on the blockchain and view its attestation details

How Verification Works

Document verification allows anyone to confirm that a specific document was attested at a particular time. This is useful for:

  • Authenticity - Confirm a document hasn't been modified
  • Timestamp Proof - Verify when a document existed
  • Legal Evidence - Use as proof in disputes

Simply upload the document (or paste its hash) and the system will search the blockchain for matching attestation records.

Option A: Upload Document to Verify
🔍
Drop the document you want to verify
The system will compute its hash and search for matching attestations
Option B: Enter Hash Directly
Document Hash
If you already know the document hash, paste it here. Must start with 0x followed by 64 hex characters.
Ricardian Contracts
Create and sign multi-party agreements with blockchain-backed signatures

What are Ricardian Contracts?

Ricardian contracts are legally binding agreements that exist both as human-readable documents and as cryptographically signed records on the blockchain. They combine the legal enforceability of traditional contracts with the immutability and transparency of blockchain technology.

How It Works

  • Create: Define the contract terms, add all parties, and submit to the blockchain
  • Sign: Each party signs the contract with their SPHINCS+ key
  • Execute: When all required parties have signed, the contract becomes fully executed
  • Verify: Anyone can verify the contract and its signatures on-chain

Account Required

You need an unlocked account to create or sign contracts. Go to ACCOUNT to set up your keystore.

Create Contract Draft a new multi-party agreement with custom terms
Sign Contract Add your cryptographic signature to a contract
View Contract Look up contract details and signature status
Your Contracts
Contracts you have created or are a party to

Contract Status Guide

  • DRAFT - Contract created but no signatures yet
  • ACTIVE - Some parties have signed, waiting for others
  • EXECUTED - All required parties have signed
No contracts yet. Create your first contract above.
Account Management
Create and manage your secure SPHINCS+ keystore for signing documents and contracts

Understanding Your Keystore

Your keystore contains a SPHINCS+ cryptographic key pair that is used to sign attestations and contracts. SPHINCS+ is a post-quantum signature algorithm, meaning it remains secure even against future quantum computer attacks.

Security Model

  • Encrypted Storage: Your private key is encrypted with AES-256-GCM using your password
  • Key Derivation: PBKDF2 with 100,000 iterations protects against brute-force attacks
  • Local Only: Your keystore is stored in your browser - it never leaves your device
  • Session Unlock: You unlock once per session for convenience, then re-lock when done

Important: If you lose your password, there is no way to recover your keys. Store your password securely.


Select Existing Keystore
Your Keystores
Select one of your existing keystores to unlock it for signing

Quick Setup (Recommended for Testing)

Use Test Account

For testing, you can use the pre-funded Alice validator account. This account has tokens and can immediately sign transactions.

Password for Alice Key
This password encrypts the key in your browser

Create New Keystore

Create a new SPHINCS+ key pair. Note: New accounts need to be funded before they can sign transactions. After creating, use the "Fund Account" button to receive tokens from the faucet.

Keystore Name
A friendly name to identify this keystore
Password
Use at least 12 characters with a mix of letters, numbers, and symbols
Confirm Password
Make sure both passwords match

Import Existing Key

Import an existing SPHINCS+ secret key (128 bytes hex-encoded). This is for validators or users who already have a funded account on the blockchain.

Warning: Never share your secret key with anyone. This key controls your on-chain identity.

Keystore Name
A friendly name to identify this imported keystore
Secret Key (128 bytes hex)
Your SPHINCS+ secret key from your validator config
Password
This password will encrypt the imported key for local storage

Fund Account (Testnet Faucet)

Request free test tokens from the faucet. Each request sends 100 QMHY to your account. This only works on testnet.

Your Account Address
Unlock a keystore to see your address

Transfer Tokens

Send tokens to another account. You must have an unlocked keystore with sufficient balance.

Recipient Address
The SS58 or hex address of the recipient
Amount (QMHY)
Amount of tokens to send (1 QMHY = 1,000,000,000,000 units)
QCAD Stablecoin
Canadian Dollar-pegged stablecoin backed by QMHY collateral

What is QCAD?

QCAD is a decentralized stablecoin pegged 1:1 to the Canadian Dollar. It is backed by QMHY tokens locked in collateralized vaults at a minimum 150% ratio.

How It Works

  • Open a Vault: Lock QMHY tokens as collateral to mint QCAD
  • Collateral Ratio: Minimum 150% - if you lock $1500 QMHY, you can mint up to 1000 QCAD
  • Liquidation: If your ratio falls below 120%, your vault can be liquidated
  • Stability Fee: 2% annual interest on minted QCAD

Civil Law Compliance (Quebec)

QCAD is designed to comply with Quebec Civil Code provisions for electronic currency and smart contracts, making it suitable for notarial and legal applications.

Account Required

You need to unlock your keystore in the ACCOUNT section before using QCAD features.

Price Feed Reporters
Select trusted oracles for QMHY/CAD price data

Decentralized Price Oracles

QCAD uses a multi-reporter oracle system. Price submissions are aggregated from trusted reporters and vetted by the validator set before being accepted on-chain.

  • Minimum Reporters: 3 required for price update
  • Staleness Limit: 100 blocks (~5 minutes)
  • Deviation Threshold: Max 2% from median
Active Price Reporters
Reporter Last Price Reputation Status Select
Bank of Canada Feed 1.0000 CAD 98.7%
Chainlink CAD/USD 1.0002 CAD 97.2%
Paraxiom Oracle 0.9998 CAD 99.1%
CoinGecko API 1.0015 CAD 82.4%
Select at least 3 reporters. Median price will be used for collateral calculations.
CURRENT MEDIAN PRICE
1.0000 CAD
LAST UPDATE
Block #1,234,567
PRICE FRESHNESS
FRESH
Local Priority Queue
Pending transactions awaiting validator vetting

Transaction Flow

All QCAD transactions are first submitted to your local node's priority queue. The validator set then vetts and approves transactions before they are included in a block. This ensures:

  • Front-running Protection: Transactions are ordered fairly by the validator set
  • Price Manipulation Prevention: Oracle updates are cross-validated
  • Consensus Safety: 2/3 validator approval required for sensitive operations
Queue Status
0
PENDING
0
VETTING
0
APPROVED
Your Pending Transactions
No pending transactions
Validator Set Vetting
Real-time consensus status for QCAD operations

Threshold Requirements

Different operations require different approval thresholds from the active validator set:

Standard Transfers 1/3 validators (fast path)
Vault Operations 1/2 validators
Oracle Price Updates 2/3 validators
Liquidations 2/3 validators
Active Validator Set
Validator Status Stake Uptime
Alice (v1.quantumharmony.network) Online 10,000 QMHY 99.9%
Bob (v2.quantumharmony.network) Online 10,000 QMHY 99.8%
Charlie (v3.quantumharmony.network) Online 10,000 QMHY 99.7%
CONSENSUS STATUS
HEALTHY
3/3 validators online
CURRENT BLOCK
#1,234,567
Finalized
AVG BLOCK TIME
3.0s
Target: 3s
Open New Vault
Lock QMHY collateral to mint QCAD stablecoin

Creating a Vault

To open a vault, you deposit QMHY tokens as collateral and specify how much QCAD you want to mint. The collateral ratio must be at least 150%.

Example: To mint 1,000 QCAD, you need at least 1,500 CAD worth of QMHY collateral.

QMHY Collateral Amount
QMHY tokens to lock (1 QMHY = 1,000,000,000,000 units)
QCAD to Mint
QCAD stablecoin to receive (minimum 100 QCAD per vault)
Manage Existing Vault
Deposit, withdraw, mint more, or repay debt on your vault
Vault ID
The ID of the vault you want to manage
Amount
Amount in QMHY (for deposit/withdraw) or QCAD (for mint/repay)
Transfer QCAD
Send QCAD stablecoin to another account
Recipient Address
The public key of the account receiving QCAD
Amount (QCAD)
QCAD amount to transfer
Liquidate Undercollateralized Vault
Repay debt on a vault below 120% collateral ratio to claim collateral

How Liquidation Works

When a vault's collateral ratio falls below 120%, anyone can liquidate it by repaying the QCAD debt. The liquidator receives the collateral plus a 13% bonus.

Warning: Only liquidate vaults that are actually undercollateralized. Check the current QMHY/CAD price before attempting.

Vault ID to Liquidate
The ID of an undercollateralized vault
Fideicommis Trust Accounts
Quebec Civil Code-compliant trust accounts for estate planning and asset protection

What is a Fideicommis?

A fideicommis (Latin: "entrusted faith") is a civil law trust arrangement recognized in Quebec and other civil law jurisdictions. It allows a constituant (settlor) to set aside assets for beneficiaries with time-based conditions.

Key Roles

  • Constituant: The person creating and funding the trust
  • Fiduciary: The trustee managing the trust (can be the constituant)
  • Greve: Primary beneficiary who can claim before the trigger date
  • Appele: Substitute beneficiary who receives remaining funds after the trigger

How It Works

  1. Constituant creates a trust with initial deposit
  2. Greve can claim funds before the trigger block (if allowed)
  3. At trigger block, remaining funds go to Appele
  4. Revocable trusts can be cancelled by constituant

Legal Framework

This implementation follows Articles 1260-1298 of the Quebec Civil Code regarding trusts (fiducie). It provides on-chain enforcement of trust terms with post-quantum cryptographic security.

Account Required

You need to unlock your keystore in the ACCOUNT section before creating or managing trusts.

Create New Trust
Establish a fideicommis trust account

Trust Parameters

Define the beneficiaries, timing, and initial funding for your trust. The minimum duration is 1 day (28,800 blocks at 3 seconds per block).

Trust Name
A descriptive name for this trust (max 64 characters)
Fiduciary (Trustee) Address
The account that will manage the trust
Greve (Primary Beneficiary) Address
Primary beneficiary who can claim before trigger
Appele (Substitute Beneficiary) Address
Receives remaining funds after trigger (must be different from greve)
Trigger Block Number
At ~3 seconds/block: 28,800 blocks = 1 day, 864,000 blocks = 30 days
Greve Claim Deadline (Optional)
If set, greve can only claim before this block number
Initial Deposit (QMHY)
Minimum deposit required to create trust
Trust Type
Irrevocable trusts provide stronger guarantees for beneficiaries
Manage Trust
Deposit additional funds or cancel a revocable trust
Trust ID
The ID of the trust you want to manage
Deposit Amount (QMHY)
Additional funds to deposit (constituant only)
Claim as Beneficiary
Greve or Appele can claim their entitled funds

Claiming Rules

  • Greve: Can claim partial amounts before the trigger block (or greve_claim_before if set)
  • Appele: Claims all remaining funds after the trigger block
Trust ID
The ID of the trust to claim from
Claim Amount (QMHY) - Greve Only
Greve can claim partial amounts; Appele claims everything remaining
Blockchain Connection
Configure your connection to the QuantumHarmony blockchain network

RPC Endpoint

The RPC endpoint is the URL of the QuantumHarmony blockchain node that this application communicates with. By default, it connects to the official Alice validator node. You can change this if you're running your own node or connecting to a different network.

RPC Endpoint URL
The HTTPS URL of the blockchain RPC proxy
IPFS Storage (Optional)
Configure Pinata for decentralized document storage

What is IPFS?

IPFS (InterPlanetary File System) is a decentralized storage network. When you upload a document to IPFS, it's distributed across multiple nodes worldwide, ensuring availability and permanence.

Pinata

Pinata is a reliable IPFS pinning service that ensures your files stay available. You'll need a free Pinata account to use IPFS features:

  1. Go to pinata.cloud and create a free account
  2. Navigate to API Keys in your dashboard
  3. Create a new API key with pinning permissions
  4. Copy the API Key and Secret Key here
Pinata API Key
Found in your Pinata dashboard under API Keys
Pinata Secret Key
Keep this secret - it authorizes uploads to your Pinata account
About This Application

QuantumHarmony Notarial Service

This application provides post-quantum secure document attestation and contract signing using the QuantumHarmony blockchain.

Security Features

  • SPHINCS+ Signatures: Post-quantum secure, resistant to quantum computer attacks
  • SHA-256 Hashing: Industry-standard cryptographic document fingerprinting
  • AES-256-GCM Encryption: Military-grade encryption for keystore protection
  • Client-Side Processing: Your documents and keys never leave your browser

Open Source

This application is open source. View the code and contribute at:

github.com/Paraxiom/quantumharmony-notarial

Cryptographic Proofs & Tests
Verify the integrity of QuantumHarmony's proof systems
PALLET TESTS
88
PASSED
88
PEDERSEN
22
STATUS
VERIFIED

Active Proof Systems

Pedersen Commitments (BLS12-381) ACTIVE - 22 tests Document Attestations (Blake2) ACTIVE - 31 tests Academic Vouching Chain ACTIVE - 35 tests VRF Proofs (Quantum-Enhanced) PARTIAL
Test Console
Run pallet tests to verify proof integrity
$ cargo test -p pallet-pedersen-commitment -p pallet-notarial -p pallet-academic-vouch running 22 tests (pallet-pedersen-commitment) test test_create_commitment_point_deterministic ... ok test test_verify_commitment_correct ... ok test test_information_theoretic_hiding ... ok test test_binding_property ... ok test test_full_commit_reveal_workflow ... ok ... +17 more tests running 31 tests (pallet-notarial) test tests::attest_document_works ... ok test tests::witness_attestation_certification ... ok test tests::generate_certificate_works ... ok ... +28 more tests running 35 tests (pallet-academic-vouch) test tests::vouch_for_applicant_works ... ok test tests::vouch_triggers_vouches_complete ... ok ... +33 more tests test result: ok. 164 passed; 0 failed; 0 ignored
Live Pedersen Commitment Demo
Information-theoretic hiding with computational binding
Entropy (32 bytes hex)
Blinding Factor (32 bytes hex)
Formula: C = g^entropy × h^blinding Curve: BLS12-381 (G1) Commitment: --- Properties: Hiding + Binding
Document Hash Verification
SHA-256 cryptographic fingerprint verification
Document Text
SHA-256 Hash: --- Verification: Not verified