Smart contract ecosystem

There are three core contracts at the heart of our smart contract ecosystem: the Brickblock token (BBK), the Access token (ACT), and the Proof-of-Asset token (PoA).

The BrickblockToken contract is the token we issued during our token sale. It is based on the ERC20 standard and is responsible for managing the distribution of BBK tokens based on the terms of our token sale, including the burning of unsold tokens after finalizing the token. Further, by locking BBK tokens into the AccessToken contract (thereby activating the BBK tokens), it can be used to mint new ACT tokens.

The AccessToken contract, also ERC20 compliant, closely interacts with the BrickblockToken contract. By locking BBK tokens into the AccessToken contract (thereby activating them), BBK token owners are able to mint new ACT tokens that can be used to pay transaction fees in the Brickblock portal. The rate at which new ACT tokens are generated per activated BBK token is a function of the current platform revenue and the amount of BBK tokens that are currently activated.

The PoaToken contracts are the foundation of the asset tokenization process. Logically, they are split into two parts: The PoaCrowdsale contract, which governs the fundraising phase for a given asset, and the PoaToken contract, which manages the ongoing operation of the token after successful funding. This includes handling dividend payouts, trading the token on exchanges, and ensuring compliance.

The PoA contract is funded in two phases: the first phase allows for funding in fiat currency (EUR, USD, GBP, etc.), and the second in ETH. In the case of ETH funding, an oracle will update the funding target at given intervals by putting the current fiat-to-ETH price on-chain (rate provided by our OTC partners).

Other notable contracts in the ecosystem include:

The interface through which our contracts talk to each other.

This contract determines which Ethereum addresses are eligible to purchase and/or transfer PoA tokens based on KYC (“Know Your Customer”) information provided by the address owner. KYC information for all token holders is securely kept off-chain, ensuring investor privacy while complying with AML regulations. If a KYC’ed investor tries to transfer their tokens to a third party that has not completed the KYC process, the transfer will fail as both the sender and the receiver need to have been successfully KYC’ed. This guarantees regulatory compliance of the token regardless of how many times it is transferred. The KYC process is conducted by a regulated financial institution.

You can check out our full smart contract ecosystem on Github.