The 4th Pillar Ltd., Slovenia - Europe


4THTECH behind the scenes. Read about our technology, components and how all fits together.

“We build the 4THTECH ADD-ON from the ground-up. The challenge was to build the ADD-ON with unique blockchain document exchange feature and it took four engineers over a year to do it. I can say with certainty that the 4THTECH ADD-ON code is unique and first of its kind!”

Denis Jazbec, 4ThTech cto


Technology in context

4THTECH products are based on; (1) blockchain with Solidity applications; (2) Laravel PHP web framework; (3) smart contracts; (4) digital wallets; (5) decentralised databases; (6) AES and RSA encryption; (7) Electron cross-platform framework, and; (7) API interfaces.



4THTECH is tested on KOVAN network and implemented on ETHEREUM main net. Designed and build from the ground-up in SOLIDITY the product is fully operational, compatible and ready for implementations.


The on-boarding process starts with the login and creating a digital wallet for which a user needs a browser with a web3 provider (i.e. 4THTECH add-on). Upon signing, the user is given a private key, which is unique and only known to him. Once the private key is generated, the user is able to sign the message which sent a request via the AJAX to the server side platform (i.e.LARAVEL) to validate it. Once the signature is confirmed, the user is logged in. 4THTECH on-boarding process represents a bridge between companies and individuals. In that way, it is an essential platform for the whole society regarding raising awareness and integration of individuals into a modern digitalized world of the future. In that way, we are actively executing our social responsibility mission.

Return the ETh address of the account that created the signature (user validation)

protected function validateSignature(Request $request) { $msg = config(‘app.sign_message’); protected function recoverSignerAddress($msg, $signed) { // ETH Message Hash $prefix = “\x19Ethereum Signed Message:\n” . strlen($msg); $personalMessageSha = Keccak::hash($prefix . $msg, 256); // Get r, s, v parameters from signature ... // Check if is correct v value, it should be 27 or 28 ... // Recover public key ... $publicKey = Signature::recoverPublicKey($rGmp, $sGmp, $msgGmp, $recovery); $publicKeyString = $publicKey[‘x’] . $publicKey[‘y’]; // Recover ETH address from public key $recoveredAddressSha = Keccak::hash(pack(‘H*’, $publicKeyString), 256); $recoveredAddress = substr($recoveredAddressSha, -40); } return ‘0x’ . $recoveredAddress;


SMART CONTACTS are essentially a code or rules written into a digital program, and were written to facilitate 4THTECH unique requirements such as; (1) saving unique ID (represent a unique id of the document); (2) deliver links (represents a link of the document); (3) represent a name (represent the name of the document), and; (4) provide description (represents a description of the document).


The 4THTECH blockchain WALLET system is the base for all other platform functions. A digital WALLET has both a software and information component. The software provides security and encryption for the personal information and the actual transaction. Digital WALLET systems enable the widespread use of digital wallet transactions among various users which gives users an easy and secure way of asset management.


The 4tTHTECH ADD-ON is a Google Chrome extension that allows you to visit the distributed web of tomorrow in your browser today. It is one of our main innovations, a first system on the market capable of handling not only digital assets but also other assets such as links to encrypted documentation. Designed and build from the ground-up, the ADD-OD is fully operational and also offers a secure identity vault, providing a user interface to manage FOURid identities and sign blockchain eDelivery transactions.


The FOUR-TOKEN has been created as a 100% utility token, an atomic unit and technical component, combining three unique main features; (1) embedded TTS (i.e. token teleportation-service); (2) MTO (i.e. multiple-transfer option), and; (3) main value and “gas” in a decentralized, token-based 4THPILLAR ecosystem. To use the FOURdx-eDelivery service, the FOUR tokens are needed in order to fuel the transactions. The number of tokens is fixed, thus, there cannot be any inflation effect. As the adoption of the 4THPILLAR network and FOUR token transaction volume within the network grow, the demand for the FOUR token increases.


Token name: 4THPILLAR UTILITY TOKEN • Token symbol: FOUR • Blockchain: Ethereum • Maximum number of FOUR tokens issued: 400,000,000 (100%) • Decimals: 18 • Smart contact: 0x4730fb1463a6f1f44aeb45f6c5c422427f37f4d0 • Unique features: teleportation service, multiple-transfer option, transaction gas • Listing: LaToken • Token standard: ERC-20 (latest Open Zeppelin implementation)


Document encryption is the process by which documents are protected with a cryptographic key (i.e. public key) so that only individuals with the corresponding decryption key (i.e. private key) can read them. When a user (i.e. an individual or an organization) wants to send documentation, he or she must first select the document and encrypt it with the user’s public key stored in a database of registered users.

JavaScript code for document encryption

const key = new NodeRSA(); reader.readAsArrayBuffer(input.files[0]); let fileData = Buffer.from(reader.result); let encrypted = key.encrypt(fileData, ‘base64’);


An application programming interface (i.e. API) is a set of subroutine definitions, protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication between various components. 4THTECH API enables an easy way of integrating other systems with our infrastructure. It connects the user wallet and document repository in the process of saving and sending the encrypted documents.

Example of using JSON for saving documentation

{ “data”: [ { “id”: “D-1534156605-1”, “wallet”: “0x279fa0585a16016db5a82889ca9e493f543e7792”, “link”: “”, “name”: “File 2”, ],} “description”: “Description 2” } “return-url”: “”
Close Menu