2. Asset withdrawal over OTC

IMPORTANT: The information provided in this section can be used for manual asset withdrawal for the cases where automatic withdrawal is not available.

Step 0 - Receiving a withdrawal request from a community member

A withdrawal request for manual procedure is received via a direct communication means used by your DAO (IM Services, e-mail, etc.). The information provided by the member must contain a request for funds withdrawal, the amount requested (full or partial) and the preferred Stable Coins for the procedure (in cases where the entry and exit Stable Coins are different).

Step 1 - Calculating the withdrawal amounts

The initial calculations must contain:

  • Member's wallet address (ex: 0x705b7D77324be575a8ade697Ddae61e697Ddae61)

  • Returning CT Tokens (ex: FLEX)

  • CT Token Amount (ex: 1000)

  • Preferred Stable Tokens (ex: USDC)

  • Withdrawal amount (ex: 3500) This part is not provided by the member, but calculated by the DAO Manager processing the withdrawal.

IMPORTANT: Before proceeding with the withdrawal procedure and if the member requested a full refund for the CT Tokens - start with the carry calculations first, the carry fees are to be withheld before the remaining sum is reported to the member.

Step 2 - Assigning liquidity assets for the procedure

There are two alternatives:

  1. If there are enough stable coins requested by the withdrawing member - simply convert this amount to the Preferred stable tokens (if needed) and then transfer the amount to OTC following the steps below.

  2. If there are not enough stable coins for withdrawal, such amount should be extracted from liquidity pools managed by your DAO(e.g. Uniswap, Sushiswap...), then converted to the preferred stable tokens, and transferred to OTC following the steps below.

Please note that extracting the assets from Uniswap/Sushiswap and similar strategies leads to getting assets in 2 or more currencies. A screenshot above shows the extraction of Uniswap USDC/ETH asset.

Step 3 - OTC token approval

If Deversifi OTC smart contract has not been approved for stable coin token transactions proceed to token contract address

  1. Type in the name of the stable token for approval (e.g. USDC)

  2. Go to Contract section -> Write as Proxy

  3. Click 1.Approve

  4. Connect to Web3

  5. Insert Defersifi OTC contract address - 0xD924BDd6fA7fd3D0Eb1337853a814a4263dCbfe8

  6. Insert infinite approval amount - 0xffffffffffffffffffffffffffffffffffffffff

  7. Click Write to confirm the approval.

Step 4 - Connecting to OTC (Deversifi.OTC)

The process of creating a trade contract to exchange the CT Tokens held by the community member(s) for the Stable Coins requested is done in several steps:

  • Make sure the wallet used has enough Stable Tokens required for the transaction

  • Select Option 2 - Initiate Trade

  • Fill in the form with the required data

All the fields are mandatory. The required data is:

  • payableAmount - 0000000000000000000000000000000000000000 (by default)

  • _tokenFrom - Stable Coin address (check the address via etherscan.io/tokens)

  • _tokenTo - DAO CT Token address (check that the address is correct and corresponds with your DAO tokens)

  • _amountFrom (uint256) - Write the required amount of the Stable coins to be sent and multiply it by 10 factored by the "Decimals" field at token etherscan profile (see screenshot below) (e.g. 10,000 USDC is equal to 10000000000 as uint256(10000 x 10^6(1000000)))

  • _amountTo (uint256) - Write the amount of CT tokens to be returned by the member, multiplied by 10^n (where n = "decimals" field of etherscan profile of the CT token)

  • _optionalTaker - write the wallet address of the member here.

After the data is filled in - press the "Write" button to proceed.

  • Proceed with the transaction and voting procedure explained HERE

  • After the voting is complete - open the voting and press the address as shown below to get the vote ID

  • Navigate to "Logs" tab and find the OfferCreated section. Copy the number marked by arrow on the screenshot

Step 4 - OTC Trade Procedure

After the link is sent to the member, the following steps must be completed by the member:

  • Open the link provided

  • Check the trade details shown (Token amounts for both CT Tokens and Stable Tokens)

  • Connect to OTC via Metamask

  • Accept the trade (check that the connected wallet has the required amount of CT tokens)

  • Sign the transaction with Metamask

IMPORTANT: Deversifi OTC has a transaction fee of 0.02% of the total transaction amount. The ratio of CT/Stable is fixed at the point of trade creation, so the shown ratio may not be directly equal to the ratio at the moment of transaction.

After the transaction is complete the withdrawing community member receives the Stable Tokens while the DAO receives the CT tokens.

Step 5 - Burn the CT tokens returned by the member

Received CT tokens after the withdrawal procedure should be burned by the DAO to avoid miscalculating of DAO's assets, CT market price, etc.

The process of burning CT tokens is explained in the next section.

Last updated