Walkthrough: How to Deposit & Withdraw SO Token from Smart Contract

SesameOpen
SesameOpen Network
Published in
4 min readJan 19, 2020

SesameOpen is redefining how community can drive decentralized commerce. The first beta product released for the SesameOpen Network is the Raindrop staking application in which token holders can earn additional SesameOpen (SO) token simply by joining and staking within their communities. More details about the token rewards are available in this article, which shows how token holders can earn up to 25% of their SO token deposit as a reward.

In this post, we will walk through how to deposit SO token, how to check your deposit balance, and how to withdraw tokens.

Depositing SO Token

Depositing SO token in order to start earning rewards is easy. Here’s how:

  1. Purchase SO token: If you don’t already hold tokens, SO tokens can be purchased on Dcoin Exchange at https://www.dcoin.com/currencyTrading/SO_USDT/
  2. Join a Community: Visit the Raindrop site (https://raindrop.sesameopen.network/) to see all available communities and check out the introductory Raindrop article for more details about the first group of Community Leaders.
  3. Connect Your Wallet: Once you have decided which community to join, connect your wallet with SO token to the community smart contract. We recommend using Metamask, as it will automatically request the connection when you access the community page on the Raindrop site, as shown below. This connection allows you to use the smart contract functions like deposit, check balance, and withdrawal. (Note: The connected wallet should also have a small amount of ETH in it, as some gas fees will be incurred for depositing token.)

4. Initiate Token Deposit: Select “Deposit Token” as an action, enter the Ethereum address that holds SO token, enter the number of tokens you want to deposit, and press “Submit”.

5. Confirm Permission for Raindrop to Move Tokens: After clicking “Submit”, Metamask will request permission to move SO tokens from your wallet into the smart contract for the community, as shown below. This does not actually move your tokens yet, but it gives permission for the deposit to happen. (Note: this permission happens on-chain and requires a small gas fee in ETH to process)

6. Confirm Token Deposit: After the permission goes through depending on the speed of the Ethereum network, Metamask will request confirmation to move the SO tokens from your wallet into the smart contract for the community, as shown below. (Note: this transaction happens on-chain and requires a small gas fee in ETH to process)

That’s it! Your token deposit transaction is processing and you can confirm the results on Etherscan at the link provided. Transaction time is based on the ETH network speed.

Checking Deposit Token Balance

At any point, you can confirm your SO token balance in the smart contract for the community. To do this, visit your community page on the Raindrop site. On that page, select “Check Balance” as an action, enter the same ETH address that you used to deposit token, and press “Submit”. The total balance, including deposited token and reward token, will appear in the Results box on the right, as shown below. If you do not see the correct balance, it is possible that the deposit transaction has not completed yet on the Ethereum network.

Withdrawing Token

Community members are allowed to withdraw their balance at any time. If they withdraw any portion of their deposited balance during the Raindrop period, they forfeit all token rewards for the entire balance. To withdraw tokens from the smart contract, follow these steps:

  1. Initiate Token Withdrawal: Select “Request Withdraw” as an action, enter your Dcoin SO wallet address where you want to send SO token, enter the number of tokens you want to withdraw, and press “Submit”.

2. Confirm Token Withdrawal: Metamask will request confirmation to move the SO tokens from the community smart contract into your wallet, as shown below. (Note: this transaction happens on-chain and requires a small gas fee in ETH to process)

It’s that simple. The withdrawal request will be approved once the destination Ethereum wallet address is confirmed as having completed KYC/AML at Dcoin or another eligible exchange partner. In the event that an incorrect destination address is used, the withdrawal request will be denied and the token will remain in the smart contract from which it can still be withdrawn.

--

--