# Reflection White Paper

Stock Token Trading Platform

By Peter Spiro


# Reflection Stock Tokens

Reflection is a platform where you can purchase and redeem stock tokens. A stock token is a crypto token that represents a share of stock in a publicly traded company. The price at which a stock token can be bought or sold on our site will always match the price of the associated stock, within a small margin (defined later). Stock tokens are purchased using stablecoin, and likewise, when sold, they are redeemed for stablecoin; they cannot be purchased with or redeemed for cash.

Holding a stock token is similar to holding a share of stock; in both cases, the holder stands to make a profit or lose money as the price of the stock goes up or down. However, the holder of a stock token does not actually own the stock and therefore does not have any of the rights of stock ownership, such as voting rights. The only right of the token holder is the right to redeem the token for stablecoin on our site at a price which is at or near the current market price of the underlying stock.

This type of system is known as asset tokenization. The most important question about this platform or any other platform which tokenizes an asset, is: after a user has purchased some tokens, how can he or she be assured that when they come back to the platform in two weeks, two months, or two years, Reflection will be able to buy back the tokens at the then-current stock price? After all, the stock price may have doubled, tripled, or gone up ten-fold by then. Where is that money coming from to buy back the tokens?

The answer is: when you purchase a stock token on Reflection, Reflection will, at that moment, purchase the underlying stock and hold it in our brokerage account until such time as you decide to redeem your token. The order to purchase the stock is submitted electronically and automatically. If we can’t purchase the stock at the time of your transaction, the transaction is aborted. In this way, all stock tokens that we issue will be backed one-to-one by shares of the underlying stock. So, the stock price can go up or down by any amount--it has no effect on our ability to redeem your stock token. When you come to redeem, we will sell the stock and use the sale proceeds to buy back the token.


# Reflection Stablecoin - RUSD

In addition to stock tokens, we are also introducing a new stablecoin called RUSD. RUSD is backed 100% by a combination of cash and other stablecoins (such as USDT and USDC), which are themselves backed 100% by cash. When you redeem (sell) a stock token on Reflection, you receive RUSD in your wallet. RUSD can then be used to buy more stock tokens, or it can be converted into another stablecoin, which can in turn be redeemed for cash. There is no fee for converting RUSD into another stablecoin. At this time, RUSD cannot be purchased with fiat currency on our site, but we hope to provide this functionality in the future.


# Liquidity

When a customer purchases a stock token, we mint the token into their wallet and transfer the stablecoin from their wallet to our wallet. We must also purchase the stock. However we cannot wait to transfer the stablecoin to a crypto exchange, convert it to fiat, and wire the money to our brokerage account before buying the stock, because the stock price will likely change during that time, and if it were to move in the wrong direction we wouldn’t be able to purchase enough shares to fully back the tokens that were issued. We must have sufficient funds already in the brokerage account so that the stock purchase and token transfer can happen simultaneously. After the transactions occur, we can then convert the stablecoin received from the customer to cash and deposit it into the brokerage account to replenish the funds there at our leisure.

Even though Reflection is well funded, if there were a frenzy of buying activity, it is possible that the brokerage account could temporarily be depleted of funds. If that happens, buy orders would be halted until the brokerage account funds were replenished as described above.

Likewise, when a customer redeems a stock token, we burn the stock token out of their wallet, send them stablecoin (RUSD), and sell the stock in our brokerage account at the same time. If we were redeeming the stock tokens for a different stablecoin, it would be possible for our wallet to become depleted of stablecoin, in which case we would have to pause sell orders. But this is unacceptable. If the exchange is open, the customer must have the ability to redeem their stock token. This is why we redeem stock tokens for RUSD. We don’t need to worry about running out--we just mint the RUSD directly into the user’s wallet. If the user then wants to buy more stock, or they are happy to hold RUSD in their wallet, then they are good to go and we haven’t unnecessarily depleted our supply of other stablecoins.

If they do want to cash out, they can convert the RUSD to another stablecoin at no cost. Hopefully we have enough stablecoin in our wallet at that time and the conversion takes just a few seconds. But if we don’t, the conversion will take a little longer as we convert the cash proceeds from the stock sales into stablecoin and transfer them into our wallet. I would think this could take up to an hour as the funds being withdrawn from the brokerage account are sent by wire transfer. The important part, though, is that the stock sale happens before we mint the RUSD into the user’s wallet, so we always have the cash in our account to back up the RUSD that is being minted.

In an ideal scenario, there are roughly equal amounts of buying and selling going on, so the brokerage account is never depleted of cash and buying does not have to be halted, and the Reflection wallet is never depleted of stablecoin so all RUSD redemptions can made immediately, but invariably both of these things will happen from time to time, neither of which is a problem.


# Advantages of the Platform

There are many advantages of Reflection over traditional stock buying. Some of them are implemented from the start, and some are features that are envisioned for the future.

* *Send tokens to others.* Since Reflection stock tokens are ERC20 tokens, they can be sent from one crypto wallet to another. Therefore, they could be sent, for example, as gifts, given away as prizes or rewards, used as payment, or held as loan collateral.
* *Fractional shares.* Reflection supports fractional shares. While some brokers do support this, many still do not. Reflection allows you to enter an order either in terms of dollar amount or in terms of the number of desired shares.
* *Increased privacy.* In some jurisdictions, the reporting requirements for crypto are not as strict as for stock trading.
* *“Unbanked” support.* No bank account is required to trade with Reflection
* *Accessible globally.* Participate in the stock market from anywhere in the world.
* *Global market access.* Buy or sell stock tokens for stocks that trade on any exchange in the world.
* *Automated currency conversion.* Buy stock tokens using any supported stablecoin, irrespective of the currency of the underlying stock.
* *Pairs trading.* Trade stock tokens that represent a long position of one stock or ETF and a short position of another stock or ET&#x46;**.**
* *Basket trading.* Trade stock tokens that represent a pre-configured or user-customized basket of stocks.
* *Short selling.* When stocks become hard-to-borrow with traditional brokers, stock tokens may still be available for short-selling on Reflection.
* *Leveraged trading.* Control stock worth 5x or even 10x the amount of your investment.
* *Pay with crypto.* Some people just liking paying for things with crypto!


# Platform Usage

*Connecting Your Wallet*&#x20;

The first step when using the platform is to connect your crypto wallet. There is no account creation with Reflection, no no username, and no password. You are authenticated only by using your wallet. Initially, we will support MetaMask and WalletConnect. After connecting, you are taken to a dashboard where you will see your current portfolio of stock tokens (if any), your trading history, and the full list of tradeable tokens.

*Buying a Stock Token*&#x20;

The next step is to purchase a stock token. You would select a stock and the desired action (buy or sell) and enter the desired quantity. The quantity can be entered in terms of stock tokens or stablecoin. For example, you might enter an order to buy $1000 worth of Amazon, or, an order to buy 100 Microsoft stock tokens. Either way, fractional amounts are supported.&#x20;

The price is provided for you. There will likely be future support for limit orders, but at this time, the price you see is the exact price you will pay. Your order will either be filled at that price, or not at all.

When you click Submit, the following steps occur:

* The order is validated to ensure a high likelihood of being filled. This includes confirming that the exchange is open, that the order is marketable, and that we have sufficient funds in our brokerage account to fill the order. Since blockchain transactions are not free, we wouldn’t want to perform the blockchain transaction and then have to roll it back if the order were not filled.
* If you are using a stablecoin other than RUSD, the next step is for you to “approve” the transaction in your wallet. This step calls the approve() method on the stablecoin smart contract and requires you to open your crypto wallet and approve the transaction. If you instead decline the transaction, the order is aborted. Approving the transaction does not actually move any tokens around; it just means that you have given your approval, which ensures that we can perform the token swap if the stock order is filled. (Note that no approval is necessary when purchasing stock tokens with RUSD.)
* The next step is to send the order to the exchange. We have already confirmed that the order is marketable, but it is still possible for the order to fail for various reasons. It’s possible that the price moved or the exchange closed just before this step, in which case the order wouldn’t be filled. We wait just a few seconds for the order to fill; if it doesn’t fill in that time, the entire transaction is aborted, and no tokens are moved.
* The final step is to perform the token swap. We transfer the approved amount of stablecoin from your wallet to the Reflection wallet, and mint the correct amount of stock tokens directly into your wallet. This is an atomic operation, so either both transfers are successful, or neither of them are successful.

The Transaction is now complete. It may take a minute or so for the stock tokens to appear in your wallet.

*Selling a Stock Token*&#x20;

The process for redeeming, or selling, a stock token is similar. You select the stock token you wish to redeem and enter the quantity. You need not redeem the full amount all at once, and again, the quantity can be entered in terms of the number of stock tokens or the amount of stablecoin you want to transact. When you click Submit, we submit an order to sell the correct number of shares to the exchange. If it is not filled within a few seconds, the transaction is aborted and no tokens change hands. If the order is filled, we mint the appropriate amount of RUSD directly into your wallet and burn the correct number of stock token from your wallet. Again, this is an atomic operation, so either both steps succeed or both fail. A few moments later, the stablecoin appears in your wallet.&#x20;

Unlike a Buy transaction, there is no need for you to approve the blockchain transaction since we are sending you stablecoin (as opposed to receiving it) which doesn’t require your approval. Hence, there is no need for the order validation step either. So the sell transaction is simpler and faster than a buy transaction.

*Redeeming RUSD for Another Stablecoin*&#x20;

You now have some RUSD in your wallet, which can be used to buy more stock tokens, or it can be redeemed for (i.e. converted into) another stablecoin such as USDT or USDC. There is no fee for redeeming RUSD.

<br>


# Asset Security

When a user purchases stock tokens, Reflection purchases the same number of shares of the associated stock on the stock exchange at the same time, and the shares are held until the user comes back to redeem their tokens. These are “real” shares of stock, held in our brokerage account, not some crypto version of the shares, therefore the user’s investment is secure.

When a user redeems (sells) their stock tokens back to Reflection, they obtain RUSD in their wallet. The funds to back up this RUSD initially come from the sales proceeds and so are directed into the brokerage account. As needed, all or some of those funds could then be converted to stablecoin (such as USDT) and transferred into our wallet. Since some portion of the funds backing RUSD are in the Reflection wallet, it is essential that this wallet be secure. To that end, we will employ Fireblocks to manage the wallet and sign transactions. Fireblocks is the premier provider of digital asset custody services and uses state-of-art MPC technology which dictates that the private keys are geographically dispersed across three separate servers, so the wallet is secure.


# Anti-Money Laundering Policy

Our anti-money laundering policy (also known as AML/CFT) has a two-pronged approach. The first step is to “KYC” our customers. KYC stands for “Know Your Customer” and requires that we collect identifying information from our clients prior to trading. We will use a third-party provider called Persona to automate the KYC process.

The second step is to scan all transaction through databases of wallets known to be associated with money laundering, terrorist financing, or other illicit activities. For this piece, we will use a third-party provider called Chainalysis. Any transaction flagged using this service will be voided and reversed. (Note that Persona is active but Chainalysis has not yet been integrated.)


# Fees

Reflection is a for-profit company, and we expect to generate revenue in different ways:

*Commissions*&#x20;

When an order is placed, we may charge a commission, which is visible on the Trade screen. This is to cover the cost of the commissions that we pay on the stock orders, and also to prevent people from spamming the system and submitting thousands of tiny orders. The commission could vary but will likely be between $0.00 and $1.00.

*Spread*&#x20;

The other way we generate income is by creating a spread between the price at which we are able to buy or sell a stock on the exchange and the price which is displayed to the customer on the Trade screen. For example, if we are able to buy Oracle at $63.24, we might display a buy price of $62.86. The spread is not displayed explicitly, but can easily be determined by comparing the buy or sell price on Reflection with the buy or sell price on a real-time market data feed.

There is no maximum spread for a buy order; if a customer feels the spread is too high, they can simply choose not to buy the stock token. But for a sell order, setting an unreasonably high spread is unacceptable because if a customer wants to sell their stock tokens, they have no choice but to pay the spread. It is our goal to always keep the sell spread as low as possible, but we commit here to never raising the spread for a sell order above 1.5%.

*Dividends*

Ultimately, we hope to pass the dividends along to the customers, but at least initially, the dividends, if any, would be a revenue source for Reflection.


# About the Founder

Peter Spiro graduated from the University of Pennsylvania with a degree in computer science and worked as a software developer for 25 years, managing teams and writing code in C++ and Java. The last 15 years of those years were spent as a senior developer and team manager at Interactive Brokers, an online broker. During that time, he worked extensively on both the frontend and backend of their online trading platform and developed a thorough knowledge of equity and options markets. He created their API for programmatic trading which is now utilized by Reflection and hundreds of other companies around the world to automate their trading.


# Appendix A - FAQ

**How do I know that you are really holding the correct number of shares of stock in your brokerage account for all of the stock tokens that you have issued? And, how do I know that all of the RUSD tokens you have issued are really backed by the correct amount of dollars and stablecoin?**

We will publish attestation reports from a third-party auditing company which analyzes the blockchain transactions to determine the number of outstanding tokens and has a direct view into our brokerage account, our bank account, and our crypto wallets. Initially, the reports will be published monthly, but we hope to move to a real-time reporting system as soon as possible.

**In which markets will you operate?**

We will operate globally except in countries that are sanctioned as per the US government, or countries in which the compliance and regulatory hurdles are too steep to overcome. Initially, we will not operate in the US. Our first market will be India.

**What platforms will you support at launch?**

At launch, we will support:

* The Polygon blockchain
* USDT (Tether) and RUSD stablecoins
* MetaMask wallet and Wallet Connect
* Desktop (Chrome browser)
* Mobile devices with MetaMask

**Do you support dividends?**

Not initially, but we plan to add support for dividends in the future.

**Can the stock token be redeemed for shares of the underlying stock?**

No.


