Launch Compliant Security Token Offerings (STO) in Three Steps using Ignis

From ArdorDocs
Jump to: navigation, search

Other languages:

Introduction

The blockchain market is slowly moving towards security tokens instead of utility tokens. This controversial fact will force most blockchain technologies to be adapted to be compliant with the relevant regulations.

Furthermore, in order to attract VCs and private investors for crowdfunding, companies that were considering ICOs in 2017 are turning to the Security Token Offering model, known as STOs.

The Ardor multi chain platform has been ready for security tokens since its inception in January 2018 due to having built-in KYC and AML features on-blockchain thanks to the Ignis child chain. In this article we will explain how to launch your STO on Ignis. It is assumed that you already have your paperwork in order.

What does an STO need in terms of technology? It basically needs a solution to comply with the registered jurisdiction, transparency and a process to deny or accept users to be eligible to buy and trade the security token. Either an equity token, reserve asset or debt token can be launched with the following instructions (no coding needed). The steps are:

  1. Issue an Asset with the Ignis child chain
  2. Configure Asset control with by-property phasing
  3. Set up Account properties of your clients that passed the KYC / AML


Software Requirements: Ardor Client wallet

In the event you are not familiar with the platform, follow the instructions in Getting Started for installing the client, creating an account, and getting your first ARDR and IGNIS tokens. Take a moment to get familiar with the Ardor wallet using the Basic Tutorials.

Issue an Asset

Click on "Issue Asset" on the Ignis chain:

1545246372257.png


Then specify the number of tokens and issue the transaction. Note this article follows the process for creating fungible tokens; however, Ignis also offers the ability to launch nonfungible tokens in 3 simple steps. In this example we will create 500.000 tokens of an asset called 'CompanySTO':


1545246524651.png


Your asset will become available. Your account will own all the tokens and they will almost be ready for distribution.


1545306393914.png


Prior to beginning to offer your asset, it is a must to implement a whitelist process for enabling accounts to buy and trade your token. Many regulators will require from time to time to review all the transactions done by your token holders, and these token holders must be identified when dealing with securities.


Configure Asset control

Asset control is the feature that will enable your token to be traded according to the rules required. Ardor allows this requirement to be implemented on-blockchain using Ignis. So the operational process is as follows:

  • On-blockchain asset control implementation
  • KYC and AML from your clients - there are many service providers that can take care of this process or you can implement your own. Client information should be recorded off-blockchain in a centralised database for data protection regulation. The link between the Ardor account and this centralised entry normally is configured as a pointer.
  • Map your users with their Ardor accounts and tag these accounts as valid.

Let's configure Asset control to our recently created asset with the id 5692806492937393454 named CompanySTO (Note: the asset id is unique within Ardor while the name can be repeated, hence always refer to the asset id).

First, create an Approval Model for the by-property phasing. Click on "Approval Models" under "Dashboard", and then click on "Add Approval Model", a pop-up will appear:

1545315115587.png


In this case, the Sender and Recipient property setter is the master account we used for the asset issuance. This account is the one responsible for tagging the accounts as valid.

This approval model is using the phasing by-property.

Once the approval model is created, click on "Setup Asset Control":

1545309802335.png


A pop-up appears with the following entries:

1545315515604.png


Select from the previously created approval model "sKYC" and complete all fields to submit the transaction.

At this point, your STO is ready to be launched in the Ignis chain since you already have control over the accounts that are approved or not.

In order to submit a "Sell order" transaction for receiving Ignis, you have to perform the following:

Click on Assets, Asset Exchange and then fill the Sell order. Note that you have to submit the transaction from the Asset issuer account and it must have the property isApproved set up to true prior to submit the transaction:

1545354080542.png


Then, click on Sell (CompanySTO -> IGNIS) and a pop-up will appear:

1545354279284.png


Fill all the values accordingly as shown above and submit the transaction. After a few seconds the sell order will be available as shown in the following figure:

1545354429246.png


Now, the offer for buying your tokens is ready but no one is able to buy them until you configure the Account Properties using the Ignis chain.

Let's suppose that you want to receive EUR currency for your asset. Ardor has the advantage of interoperability, which makes it possible to issue a "sell order" of your token using the AEUR chain. As mentioned earlier, the asset issuer account must have the property isApproved set up to "true" prior to submitting the transaction. Switch to the AEUR chain and select the asset exchange to submit a new sell order transaction:

1545316206085.png


So, your second sell order is set up as you can see in the following figure. Again, as Asset control is configured, nobody is able to buy your asset with AEUR until their account is identified and tagged with an account property:

1545316849557.png


Set up account properties to the approved KYC Account

The final step is setting up the Account Property specified from the approval models to the potential buyers that passed the KYC and AML process.

In order to perform such an operation, use the asset issuer account, select the Ignis chain (this feature is only available in the Ignis chain) and click on "Account Properties" under the Dashboard section. Then, click on "Set" and the following pop-up appears:

1545355156212.png


Where Recipient is the account that you already have identified and passed the KYC and AML process. Property is "isApproved" and Value is "true", as shown in the figure above for the account ARDOR-GHKP-XWB5-XMZB-CTUE3

Setting up this property you allow the account to buy your asset and trade it with other accounts that are also identified.

In case an account or user goes rogue, you can disable the account to perform any operation related with your asset, just update or delete the property.


Buying STO from the approved account

One the account has the property already set up, it is free to buy tokens from your STO and trade them with other approved accounts.

First, let's see the account property already set up:

AccountPropertySTO.png


Where the approved account ARDOR-GHKP-XWB5-XMZB-CTUE3 has the property isApproved set to value true from the asset issuer account ARDOR-X8ZN-WUJ2-SXY3-FBUYC

Clicking on the asset exchange, the mentioned account ARDOR-GHKP-XWB5-XMZB-CTUE3 is free to buy these tokens as shown in the following figure:

BuySTOfromKYCAccount.png


Click on "Buy Ignis -> CompanySTO" and a pop-up will appear. Note that the message Asset Control is enabled for this transaction. Please set Finish Height, meaning that as we have already configured Asset Control we must execute a phased transaction with the approval model configure:

ConfirmOrderSTO.png


Then we click on Advanced, and we set up the Phasing Approval Model to be sKYC approval model configured on this part of the tutorial

ConfirmOrderSTO2.png


Once the transaction is submitted, after few seconds the asset tokens will appear under My Assets of the buyer account.


Dividends payment

One the advantages of publishing your STO under the Ardor umbrella is the possibility of paying dividends to all your token holders with one single transaction.

In order to do that, from the asset issuer account click on Assets, Asset Exchange and the Dividends Payment link as shown in the following figure:

DividendsPaymentSTO.png


A pop-up will appear for the "Pay Dividends" transaction. Filling all the values as shown in the next figure will make a total of 300 IGNIS to be distributed among 1 account that owns a total of 25 of our STO tokens or shares:

DividendsPaymentSTO2.png


In this case it was chosen as "Holding Type" of IGNIS. However it is possible to pay in any other token within the Ardor platform.


Conclusions

  • Once you have your asset and paperwork ready, it takes 30 minutes to configure it all.
  • The process for linking the real user to on-blockchain data can be automated using the lightweight contracts feature.
  • The rich Ardor API allows it to integrate with the functionality of your own, existing front-end. It also provides the functionality to extract all the data related to your asset transactions, buyers, and operations in the simplest way possible.
  • The zero fees feature allows you to use "bundlers" to sponsor the transactions of your STO buyers if needed. It makes a seamless experience for them with no need to directly interact with the blockchain.
  • No developing is needed for a basic STO as shown in this article.
  • A dividends payment can be performed with one single transaction to all the STO holders
NOTE: Ardor and Ignis are your best technical choice to ensure that only KYC-ed and verfied users/accounts can participate in your STO and later transact with the securities tokens on the blockchain. Still, additional regulations, license or registration requirements and restrictions may apply in your jurisdiction and to your specific business case that you need to consider in order to achieve a successful and fully compliant STO