How to increase your EOS holdings: BUCK Protocol Guide to Margin Trading

Dmitry
BUCK Protocol
Published in
9 min readMay 24, 2019

BUCK is a money market protocol that connects multiple independent agents to produce a blockchain credit facility, an insurance pooling mechanism and an interest-bearing commodity-backed stable cryptocurrency. Built on the EOS blockchain, the protocol is permissionless, transparent and free to use.

Out of 3 main use cases, BUCK Protocol can be used for margin trading. It allows individual agents (further on: debtors) to increase their exposure to EOS.

In this article, we will explore how margin trading of the BUCK Protocol works and how to access this functionality via Scatter.

How it works

Debtors borrow stablecoin $BUCK from the protocol by depositing EOS that gets locked in the smart contract. Borrowed $BUCK can be freely transferred and sold on the exchanges, including the contract exchange. To unlock EOS collateral, debtors have to return the amount of $BUCK borrowed + accrued interest.

Example

Suppose EOS/USD = 5. Suppose I deposit 50 EOS and borrow 100 $BUCK, which I immediately sell for 20 EOS (100 $BUCK = 20 EOS). In this way, I now own 70 EOS (50 EOS locked as collateral in the contract and 20 EOS on hand) and owe 100 $BUCK.

Suppose EOS price doubles, so EOS/USD =10. To unlock my collateral, I need to return my debt of 100 $BUCK. What I do is sell 10 EOS (recall that I have 20 EOS on hands) for 100 $BUCK and send 100 $BUCK to the contract, which gets burned and unlocks my collateral of 50 EOS. So now I have 60 EOS on hands and no debt. In this way, I earned 10 EOS or 20% from my initial deposit of 50 EOS.

Please be aware that for simplicity I haven’t included an interest rate on the loan in this example. With the interest rate of 9.5% APR, if 100 $BUCK was owed for a month, then the interest paid would roughly be 0.8 $BUCK.

Who should use BUCK Protocol for margin trading?

Anyone who thinks that EOS/USD will grow in the short- or medium-term.

What are the terms of usage?

BUCK is a permissionless protocol, meaning that anybody with an EOS account can use the protocol. However, there are 3 keys terms that a debtor has to be aware:

1. Collateralization. Debtors agree to deposit the amount of collateral so that their collateral/debt ratio is greater than CR.

2. Liquidation. Should the value of DCR (collateral/debt ratio) drop below CR, part of their position gets liquidated.

3. Interest. There’s an Interest Rate on the loan.

Collateralization

When borrowing $BUCK from the system, debtors have to deposit EOS as collateral. The minimum amount of EOS that has to be deposited is determined by CR. It is strongly recommended to have DCR > CR.

Example

Suppose EOS/USD = 5. Suppose CR = 150%. Then to borrow 100 $BUCK, I would have to lock at least 30 EOS. If I decide to lock 40 EOS, then my DCR is 200%

Liquidation

Should the ratio of DCR drop below CR, part of the position gets liquidated. What happens is that a debtor owes less to the system, but also he/she loses part of the collateral.

The exact amount of collateral and debt subtracted can be found in the white paper. Essentially, a debtor loses an amount of debt and collateral such that:

  1. New DCR = 150%
  2. The USD value of collateral lost is 10% more than the value of debt subtracted

Example

Suppose EOS/USD = 5. Suppose I deposited 40 EOS and borrowed 100 $BUCK, so DCR = 200%. Suppose EOS price drops and EOS/USD = 3.5. Then the value of my DCR is 140% (40 * 3.5 / 100 * 100%= 140%) < CCR, so liquidation should happen. Here is how much I have after liquidation:

New Debt = Previous Debt-(1.5*100–40*3.5)/(1.5–1–0.1) = 75

Collateral: Previous Collateral- 25/3.5 * (1+0.1) = 32.14

New DCR = (40-7.86) * 3.5 / (100–25) * 100% = 150%

The amount of debt I owe is reduced by 25(a good thing) and the amount of collateral I own is reduced by 7.86 EOS (a bad thing). In this way, my new position has 75 $BUCK in debt, 32.14 EOS in collateral, and my DCR is 150%.

Interest

The interest is calculated automatically and added to the position at least every two weeks. The interest is annualized and continuously compounded using the following formula.

Example

Suppose I borrowed 100 $BUCK and want to return it after a month. Then the interest is the following:

Interest = 100 * (exp^(9.5%/12)-1) ~= 0.79 $BUCK

How is interest subtracted?

Interest is subtracted automatically. Part of the accrued interest gets subtracted from the collateral, and part of the interest gets added to the debt. Insurance Ratio and Savings Ratio define how much of each.

Take the previous example. Suppose Insurance Ratio = 20% and Savings Ratio = 80%.

Then 0.79*0.2 = 0.158 $BUCK will be subtracted from EOS collateral at the market price and 0.79*0.8 = 0.632 $BUCK will be added to debt.

Scatter How-to-Use Guide

Opening CDP: Borrowing

Go to https://scruge.world/buck

  1. First, I have to log in with Scatter.

2. Then, I have to deposit EOS into the contract.

The system will automatically convert deposited EOS into REX.

3. To receive $BUCK, I have to open CDP.

In this example, I’m opening CDP with DCR = 250%, ICR = 0% (I don’t want to be an insurer) and collateral of 100 EOS. In return, I will receive 232 $BUCK that will be added both to my personal balance and debt.

4. Next, I would like to sell my $BUCK for EOS to increase my EOS exposure. I have 2 options: I can use some other exchange that listed $BUCK or buy EOS directly from the contract. To buy from the contract:

My request will be processed after the next Oracle update (happens every 10 minutes) at the current price. For example, if EOS/USD = 6, then I will receive 38.66 EOS on my account. For an order to be processed, there should be somebody else on the other side willing to sell EOS and buy $BUCK.

5. My order will be automatically fulfilled. However, EOS received will be in exchange fund, and if I want to have it in my personal balance, I will have to withdraw EOS from an exchange.

6. Done. I have opened CDP and increase my exposure to EOS by borrowing $BUCK.

Closing CDP:

  1. To close CDP, I have to have enough $BUCK in my balance to cover the debt. Please note that interest also gets accrued at the moment of closing, so I would need to have a bit more $BUCK in my balance than debt displayed.

2. $BUCK will be withdrawn from my balance and burned immediately, reducing the supply of $BUCK. Collateral will be unlocked and sent to my funds after the update of the Oracle (the Oracle updates every 10 minutes).

$BUCK can be bought at different exchanges or directly from the contract. The process is similar to selling $BUCK, with the exception that bought $BUCK from the exchange will be automatically added to the balance (no need to withdraw from exchange funds)

Reparameterizing CDP:

There’s an ability to reparametrize CDP, i.e. change collateral and/or debt of CDP.

  1. Choose Reparametrization:

2. In this example, I increase the debt by 10 $BUCK (10$ BUCK will be also added to my personal balance) and increase collateral by -5, which will decrease collateral of this CDP and increase my funds balance by 5.

The request for reparametrization will be fulfilled after the update of the Oracle (happens every 10 minutes)

Please note that one can’t reparametrize CDP so that it’s below or above limits (e.g. new debt can’t be below minimum debt, new DCR can’t be below CR and so on)

FAQ

What about REX?

All the collateral is stored in REX. The yield on REX belongs solely to the debtor. REX yield is realised when withdrawing funds from the contract.

Is there any delay on withdrawing EOS from the contract?

There’s a 5-day delay from the moment of depositing EOS into the contract. The delay is due to the maturity of REX. CDP positions can be closed/reparametrized at any time.

How can I be sure that nobody is using my EOS collateral?

EOS collateral is stored on-chain and can be monitored in any block explorer.

How safe is it to use the contract?

The contract has been independently implemented in different programming languages and checked against the formal specification via random tests. Possible attack scenarios have been explored and corrected for. With that being said, the interface is the major possible security threat, so it is strongly advised to view Scatter transactions before signing them.

What is the optimal ratio of DCR?

It strongly depends on an individual’s risk preferences and EOS/USD projections. We would advise DCR of at least 200%.

Who determines EOS/USD price?

The price is determined by the Oracle. The price gets updated at least every 10 minutes. The Oracle is controlled by the founding team. The founding team doesn’t benefit from liquidations, therefore there are no incentives for us to disturb the price. The Oracle takes the price of BTC/USD, EOS/USD and BTC/EOS from the major exchanges and takes the median price of EOS/USD. Please note that we don’t include any Tether pairings.

Who determines the Interest Rate?

The Interest Rate is determined by the Founding Team based on the market conditions. In the first month of launch (until July) Interest Rate can be increased or decreased within the 3-day notice. Starting from July, Interest Rate will be set for a period of month with the only possibility of reducing the Interest Rate (meaning that Interest Rate can’t be increased until October ).

Can my CDP be closed without my notice?

Yes. There’s a possibility that if the $BUCK goes below 1$ target, then arbitrageurs will use Direct Redemption, which is designed to reduce supply of $BUCK. The possibility of $BUCK going below 1$ target is very low though since stablecoin is an attractive interest-bearing asset. However, it’s possible, so we’ve introduced a Direct Redemption mechanism, which may partially close CDP positions. CDP positions with the lowest DCR are chosen, and debtors receive 1% rebate on their CDP, meaning that the dollar value of debt reduced is 1% more than the value of the collateral being foregone.

Example

Suppose EOS/USD = 5. Suppose $BUCK goes below 1$, so arbitrageurs step up and use Direct Redemption mechanism. Suppose my CDP with DCR = 200%, Collateral of 40 EOS and Debt of 100$BUCK is chosen for redemption. Suppose the redeemed amount is 50 $BUCK. In such a case, my debt would be reduced by 50 $BUCK and collateral decreased by 40/(1.01*5)=7.92 EOS. Essentially, I would make 0.08 EOS on such a transaction and my new CDP positions would have collateral of 32.08 EOS, the debt of 50 $BUCK and DCR = 320.8%

Shortly after launch, we will introduce an additional stabilization mechanism so that Direct Redemption never (or at least very seldom) has to be used.

--

--