Blockchain Document Notarization Solution

Web Smart Contracts Enterprise Permissioned blockchain Hyperledger Documentation PoA

White-label permissioned blockchain software that digitizes powers of attorney and enables principals to issue and revoke permissions to act on their behalf.

October 2019 - February 2020

Work done

Permissioned blockchain and decentralized data storage Web app for notaries and system administrators Web app for principals and their representatives Proof of Authority (PoA) mechanism


Given that the process of issuing and withdrawing powers of attorney requires physical presence of all the parties involved, the main idea behind the software product was to simplify the PoA issuance and retrieval process.

Above this, PixelPlex team pursued a goal to automate tracking executive copies usage for all the user roles involved. Meaning, principals (senior-level executives) are expected to be responsible for how representatives further handle the copies after issuance.

A multi-tier access restriction system has been introduced to ensure private data safety and data source trustworthiness. It was also critical to make all the data easily retrievable and restorable, regardless of any potential server infrastructure failures.


The solution is a fully-functioning Typescript-based MVP web application for a blockchain document notarization system. Built upon a P2P HyperLedger Fabric network, the app utilizes built-in chaincode smart contract tech. Current MVP’s architecture allows for hassle-free changes and updates.

The system’s infrastructure:

  • Web UI for admins, notaries, representatives and principals
  • Secure backend database and a DLT network for file storage
  • Secure API gateway for data access
  • Certificate storage and access user interface

Linking together notarization parties, the web app serves as a user interface through which admins can reach out to new notaries. Notaries on their side are allowed to create and issue power of attorney copies upon requests from representatives.

As for the principals and representatives, they can utilize their web app to both issue and revoke powers of attorney (to be then signed by notaries and further directed to representatives). Depending on their power of attorney status, users can take either principals’ or representatives’ roles.

Due to the process of maximum trust verification, all the ledger participants rely on a consensus mechanism regarding the kind of data to be recorded in the block.

Major Capabilities:

  • Blockchain-based doc uploading 
  • Tokenized client registration
  • Proof of origin tracking
  • Access code generation
  • Data encryption and hashing

Major Workflow Steps:

  • Initializing at the Blockchain network’s host side
  • Initializing at a notary company side
  • Notary registration
  • Principal/representative registration
  • Generation and signing of attorney letter

Further Development Plans:

  • Building desktop and mobile apps, adding gateways with traffic certification support and blockchain data confirmation
  • Developing Cloud data storage system underpinned by CDN access

Solution Characteristics

  • Immutability and utmost security
  • Zero transaction fees
  • Multi-tier role-based access
  • No third parties involved
  • Double entry- and fraud-proof
  • Time-stamped blocks
  • GDPR compliance
  • 200-ms transaction evaluation


  • System instance setup
  • Inviting, managing, and removing notaries
  • Admin and notary login
  • Principal and representative account creation and login
  • Issuing, approving or rejecting powers of attorney
  • Viewing, using, and revoking powers of attorney


HyperLedger Fabric: TypeScript, Fabric-network, Fabric-ca-client

Server: Typescript, PostgreSQL, Docker Images, Docker Compose

Web UI: React + Redux

Chaincode smart contracts: Typescript, Fabric-contract-API


  • Software Architect
  • 3 Full-Stack Web Developers
  • 2 Blockchain Developers
  • PM/BA


5 months

Contact us

Get in touch with us and let's get your project started today!

* — these fields are required