R-Token WP
edit 編集

Crypto | R-Token Security Token Standard Whitepaper

Harbor is building a decentralized compliance protocol to standardize the way crypto-securities are issued and traded on blockchains. The first project is R-Token, an open-source standard that defines a mechanism in which crypto-securities can be compliantly transferred on blockchains.


Harbor is building a decentralized compliance protocol to standard-  ize the way crypto-securities are issued and traded on blockchains.  The first project is R-Token, an open-source standard that defines a mechanism in which crypto-securities can be compliantly transferred  on blockchains. It requires issuing a permissioned ERC-20 token on  the Ethereum blockchain that checks an on-chain Regulator Service  for trade approval. The Regulator Service can be configured to meet  relevant securities regulations, Know Your Customer (KYC) policies,  Anti-Money Laundering (AML) requirements, tax laws, and more.  The R-Token Standard enables ERC-20 tokens to become compliant  crypto-securities that can be traded across any ERC-20 compatible platform.

1. Introduction

Blockchain technology created an immutable ledger with the potential to transform the private securities market. The technology can simplify transfer of ownership, create trans-  parency, reduce administrative burden, and provide opportunity for greater liquidity.

With liquidity, investors have the flexibility to sell private securities for an efficient market price, increasing marketability and unlocking greater potential asset value for issures. There are many asset categories that can benefit, including real estate assets such as limited partner (LP) interests in real estate investment funds, fractional ownership in  land/buildings, and private REITs.

Liquidity, however, also brings significant regulatory challenges to issuers and investors. Private securities must fall under exemptions with applicable laws to avoid onerous public filing requirements. These exemptions can require limiting the number of total investors, only allowing specific types of investors (e.g. accredited investors), implementing a holding period, and applying many other rules. 

Restrictions differ by jurisdiction, and compliance with both the issuer’s jurisdiction as well as each investor’s jurisdiction is mandated. Furthermore, these restrictions apply not only to the initial offering (where much of the responsibility lies on the issuer), but to all secondary trades where responsibility is also placed on the seller.

In the U.S. alone, private securities must fall under exemptions within the Securities Act of 1933 as well as the Securities Exchange Act of 1934—and in some cases, the Investment Adviser Act of 1940 and the Investment Companies Act of 1940—to avoid public filing and other costly and operationally prohibitive requirements. For example, in many cases, an owner of LP interests in a real estate investment fund can rely on Section 144 of the  Securities Act of 1933 to conduct secondary trades. This would require the seller to comply with a one year holding period or trade with only a Qualified Institutional Buyer under Rule 144a. In addition, the issuer of the initial offering must also continue to be exempt under the Securities Exchange Act of 1933, the Securities Exchange Act of 1934 and the  Investment Companies Act of 1940, which may, among other things, require limiting the  number of accredited and non-accredited investors.

Enforcing these regulatory requirements has been a significant deterrent in the adoption  of blockchain technology for private securities issuances.

In this paper, we propose a solution to this compliance challenge using the R-Token Standard. By implementing the R-Token Standard with the right rule set, private securities  can be traded on blockchains in compliance with regulatory requirements.

2. The case for tokenizing private securities

One of the primary reason for issuing private securities is the relative ease and cost-  effectiveness of the initial issuance. However, secondary trading of private securities often requires various middlemen (such as brokers and exchanges). In addition, the process for tracking trade activity is manual and costly, and there is a significant burden on issuers to safeguard against potential regulatory risk. These inefficiencies can often lead to issuers imposing trade restrictions, making private securities illiquid. To account for the lack  of liquidity, the value of private securities is discounted (i.e. the “illiquidity discount”),  preventing issuers from capturing the full value of the underlying asset.

In comparison, public securities can have deep markets and high liquidity, as non-controlling  holders can generally resell them freely. However, it is time and cost intensive to IPO  and remain a public company. The process to complete an IPO is complex and can often require 12 to 18 months of preparation. Significant costs apply not only to the offering itself, but also to the ongoing process of being a public company, including rigorous regulatory and reporting requirements. In other words, the cost-effectiveness of public securities is low compared to private securities.

By tokenizing private securities, we can potentially move them from the Low Liquidi-  ty/High Cost-Effectiveness quadrant to the Higher Liquidity/Higher Cost-Effectiveness  quadrant, as illustrated in the chart below. Tokenized private securities (i.e. crypto-  securities) can be more easily traded on the secondary markets without the administrative  burdens of traditional private securities. In other words, tokenized private securities can potentially have more liquidity while maintaining their cost-effectiveness.

Given that the asset categories within the private securities market are massive (in the  trillions), and that the illiquidity discount can be as high as 20-30%, the tokenization  of private securities has the potential to unlock billions of dollars in value.

In addition to providing liquidity, tokenizing private securities creates opportunities for  greater efficiency. Blockchains enable trades to occur securely between two parties without a middleman. It is an immutable ledger where every transaction is automatically recorded and easy to audit. The process and timeline for settlement and clearing of transactions can also be condensed significantly, and any reconciliation processes can be greatly simplified. Tokenizing private securities has the potential to significantly reduce costs, increase speed of settlement, and improve security.

It is compliance with regulatory requirements that now must be addressed in order to enable the adoption of securities on blockchains and transform the private securities market.

3. Real Estate

Among the various categories of private securities, tokenizing real estate assets may provide  a particularly compelling opportunity.

As of 2016, the value of professionally managed global real estate alone was $7.4 trillion and all developed real estate globally amounted to about $217 trillion. The US  real estate market also continues to be attractive to foreign investors due to its relative stability, fueled by multiple years of steady job growth and a strengthening economy. This provides global investors with the ability to diversify their portfolio and generate returns outside of their country of origin.

Real estate assets have additional legal requirements (on top of the already complex securities regulations) that must be enforced, making it a great candidate for tokenizing on  blockchains. For example, a private domestically-controlled Real Estate Investment Trust(REIT) restricts non-US investors from collectively owning more than 50 percent of shares, allows a maximum of five individuals to collectively own more than 50 percent of shares,  and requires a minimum of 100 direct shareholders. In addition, under the Foreign Investment in Real Property Tax Act of 1980 (FIRPTA), foreign investors of these private domestically-controlled REITs are subject to 30% withholdings on dividends.

4. The Regulated Token (“R-Token”) Standard

The Regulated Token standard addresses the need for compliance on secondary transfers.  It is built on ERC-20, a standard widely supported by the existing blockchain ecosystem.

The R-Token Standard embeds compliance at the token level and allows for decentralized trading of private securities across any platform that supports ERC-20 tokens. This significantly increases liquidity in comparison to confining trade within a single centralized exchange (the walled-garden approach) in order to enforce regulatory compliance. Centralized exchanges can enforce regulatory requirements to a limited degree, including KYC, AML, and accreditation. However, unless they take a walled-garden approach, once a token leaves that exchange, the issuer may be unable to enforce core securities regulations such as restricting the number of investors, requiring a minimum number of investors, and stipulating ownership levels.

Our proposed solution enforces regulatory compliance at the token level, thereby meeting core securities requirements regardless of whether the trade occurs on centralized or  decentralized exchanges.

The R-Token Standard includes three core services on the Ethereum blockchain: (1) R-  Token, (2) the Regulator Service, and (3) the Service Registry. While all three services  can be implemented as a single smart contract wherein the Regulator Service and Service Registry functionalities are built into the R-Token smart contract itself, this white paper will exemplify an implementation of these services as three distinct smart contracts. Imple-  mentation as distinct smart contracts allows for easier upgrade as regulatory requirements evolve over time.

5. R-Token

R-Token is a permissioned ERC-20 smart contract that can represent ownership of securities. It is compatible with all existing wallets and exchanges that support the ERC-20 token standard, but it overrides the existing ERC-20 transfer method to check with an on-chain Regulator Service for trade approval.

Every time a transfer is initiated (e.g. Bob wants to transfer a token to Alice), R-Token  calls the RegulatorService#check() method from within the transfer() and  transferFrom() methods specified in ERC-20. If the check is successful, the trans-  fer proceeds normally per the ERC-20 specifications (i.e. the token is transferred from  Bob to Alice). In addition, the transfer() and transferFrom() methods deliver a  successful CheckStatus event.

If the check is unsuccessful, then the transfer() and transferFrom() method returns an error code (i.e. the transfer from Bob to Alice fails) and delivers an unsuccessful  CheckStatus event with a reason code. The CheckStatus event can be used by third-  party wallet providers to indicate the reason why a trade was not allowed.

Figure illustrates an example R-Token transfer sequence.

In the case where a mediator is required for the transfer of tokens (e.g. in a decentralized exchange), the approve() method is called to allocate funds from the token holder (e.g.  Bob) to the mediator. Once allocated, the mediator initiates the transfer sequence as  

Figure 2: Example of an R-Token transfer sequence.

Note: The approve() method can be implemented to include an additional check() method. This would mean that the allocation of funds from the token holder to the  mediator would require approval from the Regulator Service. The initial implementation  of the R-Token Standard will not include this additional check.

6. Regulator Service

The Regulator Service interface consists of a single check() method that is called from  within the transfer() and transferFrom() method. This check contains all infor-  mation provided during the transfer:

contract RegulatorService {  

    function check(address _token, address _spender,  address _from,  address _to, uint256 _amount) public returns (uint8);


In order to provide the R-Token smart contract with trade approval (or disapproval),  the Regulator Service must include a whitelist of approved participants, their trading permissions and additional token trading settings such that it satisfies relevant securities regulations, KYC policies, AML requirements, tax laws, and more.

The initial implementation of the Regulator Service includes two participant-level permissions and two token-level settings. These permissions and settings can be used to meet commonly required trading rules for private securities within a single jurisdiction.

The two participant-level permissions are 1) the permission to send a token, and 2) the  permission to receive a token. Distinguishing between send and receive permissions allows  for greater flexibility (e.g. if an accredited investor purchases a token but later loses  accredited investor status, then this participant can send the token, but cannot purchase  new tokens). An off-chain Trade Controller determines these participant-level permissions  (by looking at participant data such as country of residence, KYC/AML status, tax status,  accredited investor status, etc.) and writes the results to the Regulator Service.

The first token-level setting in the initial implementation of the Regulator Service is locking/unlocking transfers. This setting allows enforcement of holding periods. For example,  if a token is issued under Regulation D and is therefore subject to a one-year holding  period, the token can be locked during this time.

The second token-level setting is allowing/disallowing partial transfers of a token (e.g. 0.5 of a token). This setting enables capping the total number of token holders. For example,  if only a maximum of 500 token holders are allowed in an offering, a total of 500 tokens can  be issued as long as partial transfers are disallowed. While this approach creates liquidity  for investors, it will also inevitably increases the price of each token making it difficult for  smaller investors to participate. An alternative approach to limiting the number of token  holders is to only allow transfers of the participant’s entire balance. In this case, to cap the  token holder count to 500, an unlimited number of tokens can be issued to 500 participants  during the initial ICO. However, a participant with 20 tokens will be required to trade  all 20 tokens at once, reducing liquidity significantly and perpetually reducing the total  number of token holders every time a trade occurs between existing token holders. A third  approach could allow partial trading to occur until the maximum investor count is reached,  at which time only transfers of the participant’s entire balance is allowed. This approach  could improve liquidity while potentially reducing the minimum investment size, although changes to trading rules may create some confusion amongst investors.

Note: The R-Token Standard provides an interface that developers can use to implement  custom business logic. Harbor’s planned implementations of the Regulator Service will  include additional settings to enforce multi-jurisdictional requirements at a more granular level.

7. Service Registry

The Service Registry provides the R-Token smart contract with a mechanism for locating  the current, correct, or desired version of the Regulator Service.

Figure illustrates the interaction between the R-Token, Regulator Service, and Service  Registry. The Service Registry provides the appropriate Regulator Service address to  the R-Token; the R-Token then checks with the given Regulator Service to obtain trade  approvals.

When a new version of the Regulator Service is introduced, the Service Registry provides  the updated Regulator Service address to the R-Token. This ensures that the correct Regulator Service is used for trade approval. See Figure.

Note: The R-Token Standard provides an interface that developers can use to implement  custom business logic. Other implementations of the Service Registry could allow for multiple Regulator Services to exist at once, making it possible to decentralize the Regulator Service.

  • 8.Trade Controller

  • The initial implementation of the Regulator Service relies on an off-chain Trade Controller to update its permissions as well as add newly approved participants.

    The Trade Controller determines the status of the permissions. It maps participant data  against relevant securities regulations, KYC/AML policies, and tax laws to determine  whether each participant can send and/or receive the token. It also determines whether  the token is locked/unlocked and whether partial trading is allowed/disallowed. These  token-level permissions are then updated in the Regulator Service.

    Only an approved Trade Controller with the correct private/public key pair can make  changes to the Regulator Service.

    Note: Harbor will be the first Trade Controller for the initial implementation of the R-Token  Standard. Planned implementations will allow for decentralization of this role.


    We propose an open-source standard for compliantly transferring crypto-securities on  blockchains. With the R-Token Standard, every transfer occurs if and only if they are  approved by a Regulator Service. The Regulator Service houses the permissions necessary  for regulatory compliance and relies on an off-chain Trade Controller to set and update  these permissions. To account for changes to the regulatory landscape over time, we also  propose the use of a Service Registry for easier upgrades. Implemented with the right rule  set, the R-Token Standard enables ERC-20 tokens to become compliant crypto-securities  that can be traded across any ERC-20 compatible platform.

    This is the first step in developing a decentralized compliance protocol for crypto securities.  It addresses core challenges of transferring private securities on blockchains, bringing us  one step closer to the proliferation of crypto-securities.


    This white paper (“White Paper”) is meant to describe the currently anticipated plans  of Harbor Platform Inc. (“Harbor”) for developing a new blockchain token mechanism  (“R-Token”), which will be an open-source standard that defines a mechanism in which  crypto-securities can be compliantly transferred on the blockchain (the “R-Token Stan-  dard”). Nothing in this document should be treated or read as a guarantee or promise  of how the R-Token or R-Token Standard will develop or of the utility or value of the  R-Token or the R-Token Standard. This White Paper outlines Harbor’s current plans,  which could change at its discretion, and the success of which will depend on many factors  outside Harbor’s control, including market-based factors and factors within the data and  cryptocurrency industries, among others. Any statements about future events are based  solely on Harbor’s analysis of the issues described in this document. That analysis may  prove to be incorrect.

    This document does not constitute an offer or sale of the R-Tokens or any other mecha-  nism for purchasing the R-Tokens (such as, without limitation, a “Simple Agreement for  Future Tokens” related to the R-Tokens). Any offer or sale of the R-Tokens or any related  instrument will occur only based on definitive offering documents for the R-Tokens or the  applicable instrument.


    Harbor (RToken)に関連する他の情報に触れてみる


    暗号資産(暗号通貨, 仮想通貨)やブロックチェーンは理解が難しく、また一次情報の多くはPCに最適化されている状況にあります。PocketWPでは、下記の3点のアプローチによってその問題を解決しようとしています。
    • ・SmartPhoneFirst - スマホで最適化したスライド/UI
    • ・Stockable - 流れてしまいがちな情報を蓄積し、共有できる
    • ・Followable - 追いかけるべき情報源がわかる
    将来的には共同で編集できる仕組みなども設計中です。 暗号資産・暗号通貨の価値を広げるには、良質な情報を読みやすく噛み砕くことが必要だと思っています。 よろしければご意見をこちらからお寄せください (お問い合わせフォーム)
    運営者情報① : IXTgorilla
    Twitterにて #PocketWP #ゴリ学習メモ なるスマホに最適化した暗号資産の学習情報をスライド形式にて発信しているゴリラ。 これまではTwitterのみの発信を行なっていましたが、蓄積される場所が欲しいという声にお答えし、Web化を行なってみました。
    運営者情報② : CryptoGorillaz


    • Ethereum(ETH) / ERC20トークンでの投げ銭

    森のお友達をご紹介 - PocketWPのオススメ

    ゴリラが尊敬する森のお友達をご紹介するコーナー。 個人的に定期的に購読していただきたい!と思うメディアや事業者さまを勝手に紹介させていただいております。
    StirLab | クリプト・ブロックチェーンを「深く」知る
    クリプトアセット(仮想通貨・暗号通貨)に造詣が深い方々による寄稿型メディア「StirLab」。 クリプトが「好き」でその発展を純粋に「楽しむ」人たちが集まっており、ハイクオリティな記事が集まっています。 今話題のDeFiからSTOまでトピックは幅広く、知見を深めたい人にぜひとも定期的購読していただきたいサイトです。
    StirLabさんのTwitterアカウントはこちら▶️ https://twitter.com/Stir_Lab
    Stir | PoS系クリプトアセットのノード事業者
    Tezos, Enigma, Cosmos, Ethereum, NEMといったPoS系クリプトアセットのマイニングやノード運用を代行する事業者。ブロックチェーン機構メディアで有名な「StirLab」の運営母体でもあります。
    StirさんのTwitterアカウントはこちら▶️ https://twitter.com/stir_network