Platform Usage
Connecting Your Wallet
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
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.
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
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.
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
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.
Last updated