The Trading Platform
The trading platform is a regulatory-compliant suite of smart contracts serving as an Alternative Trading Solution (ATS) that allows trading and fast settlement of securities in t-0 time. Built on the Ethereum chain, the platform provides secure, fault-tolerant, transparent, and fast transaction settlement while being compliant to regulatory requirements.
The platform provides methods for issuance of security tokens which can be customized to represent various types of securities. The security tokens are ERC-20 compliant and compliant with the Delaware General Corporate Law, Title 8.
This project describes the set of Ethereum contracts that represent tZERO's token and trading functionality. See below for instructions and walk-throughs for third-party integration and customization.
For a token to be tradable, it first has to be defined, created and then be constrained within the set of regulatory rules to ensure compliance with the trading laws for the parties involved (investors, broker-dealers, and custodians).
The tokens are created and their trades validated within the following interrelated set of components:
The token contract that defines and creates the tokens which are the securities to be traded.
See the Token contract page for in-depth details.
The registry is the grouping of storage, investor, broker-dealer, and custodian contracts that define and coordinate the behavior of these interacting entities.
See the Registry page for in-depth details.
See the Compliance page for in-depth details.
See the Third Party Integration page for in-depth details.
This repo contains only the Solidity contracts, all other files (including tests, tools, etc.) have been excluded for now.
We'll be providing all other files in the future, but for now this allows anyone to use the contracts in Truffle, ZeppelinOS, etc.
We have included a
Makefile if you just want to compile the contracts for ABI/Bin:
To build, simply run:
This will create the
build/ folder with all ABI/Bin files, along with a
contracts.js that can be used within a Geth session.
This project is licensed under the Apache 2.0 license.