Understanding The BCHBull Contract

SHORTS COMING SOON!

BASIC TERMS

To understand the BCH Bull contract, it is important to first understand the terms "long" and "short" as they define the two parties making the contract together.

In BCH Bull, a long position is an investment intended to profit when the value of BCH increases with respect to an asset such as USD, Gold or others. By using some amount of leverage, the long position gains more value than simply holding BCH when the value increases, and loses more value than simply holding BCH when the value decreases. The leverage is made possible through combination with the short counterparty position, whose position on the other side of the contract provides the collateralized BCH that can shift to and from the long's side depending on price movements.

Similarly, a short is an investment position intended to profit when the value of BCH decreases with respect to an asset such as USD, Gold or others. Leverage works the same as the long position, except in the opposite direction.

The two positions together form a BCH Bull contract.

There is a special type of position called a hedge position. It is simply a short position with 1x short leverage. This essentially stabilizes the value of the BCH in terms of an asset such as USD, Gold or others. No matter the price change of BCH in relation to the asset, the value of the hedge (1x short) remains the same in terms of the asset. In other words, $100 of BCH in at the beginning results in $100 of BCH out at the end. The stability is made possible through the long counterparty position, whose profit-seeking position provides the BCH to guarantee the fixed asset payout despite price movements.


THE ANYHEDGE PROTOCOL

The AnyHedge protocol works by creating a balanced contract between two parties taking opposite positions on the trading price of an asset. One party shorts whilst the other longs, speculating on opposite directions of price movement. The money that each side puts into the contract is what makes the contract viable.

After contract parameters are agreed upon, both parties commit the appropriate amount of Bitcoin Cash (BCH) to the on-chain contract simultaneously and trustlessly, with no intermediary or custodian. The funds locked within the contract now have enough BCH to cover all potential outcomes in the agreed price range. For example, should the asset-per-bch price go up (asset value decreases) during the time period of the contract, at contract redemption, the short party will receive less BCH whilst the long party will receive more BCH.

The opposite happens when the asset-per-bch price goes down (asset value increases). In this case, the short party receives more BCH than they initially entered whilst the long party receives less.

Additionally, the AnyHedge protocol lets each side have different leverage values, allowing for a wide variety of trading patterns and strategies. As a consequence of the leverage and fixed collateral in the contract, there is a liquidation price in the case of a large increase or large decrease in price. In the circumstance that the price drops or rises to the liquidation point for either counterparty, the contract redeems early, all of the funds from both short and long are paid out to the winning party, whilst the other party receives no BCH. A special exception to this pattern is the hedge position described above, which receives its asset payout at any price, including both low and high liquidation points. Typically the high liquidation price is so high for hedges that it is never reached in practice.

BCH Bull utilises the AnyHedge protocol to instantly create on-chain smart contracts for users wishing to hedge, short or long. This is achieved with users creating their desired contract positions within the application, and a liquidity provider (LP) offering the counter-position required to fund the contract, with a premium fee set by the LP. This premium is set directly by the LP, and can either be positive (the user pays the fee), or negative (the user receives the fee), depending on the market conditions and the risk management of the LP.

To understand more specifically how the protocol works, here are some of the mathematics underpinning it.


THE EQUATIONS!

AnyHedge simultaneously works in two assets, namely the chosen asset of the contract, and the funding asset, Bitcoin Cash (BCH). It is therefore important to understand how the contract payouts are calculated, both for the long party and the short party in both of these assets.

It is also important to remember that each AnyHedge contract has a low and high liquidation point, where the contract redeems early should the price of the asset reach either point. The formulas below are simplified to describe the payouts in asset and BCH terms without consideration for the liquidation points.

Long payouts

longPayoutInAsset = startPositionInAsset * (1 + priceChange% * longLeverage)
longPayoutInBch = longPayoutInAsset / endPriceInAssetPerBch

Short payouts

shortPayoutInAsset = startPositionInAsset * (1 - priceChange% * (shortLeverage - 1))
shortPayoutInBch = shortPayoutInAsset / endPriceInAssetPerBch

Hedge payouts

hedgePayoutInAsset = startPositionInAsset
hedgePayoutInBch = hedgePayoutInAsset / endPriceInAssetPerBch

THE LONG AND SHORT FORMULA IN ACTION!

In the diagram below, we see the payout in asset units as the price changes. As we can see, the short payout in asset units (red line) increases when the current price is below the start price, and decreases when it is above. Likewise, the long payout (green line) moves in the opposite direction, depending on the price change.

As described in the formulas, the payout pattern of each side changes along with short and long leverage.

Also note that there is a hard stop, liquidation price, on both sides of the start price. We can see that each liquidation price is at the point where one side runs out of money to cover further price changes.

The payout in BCH terms looks very different. Although the long and short payouts move in opposite directions in the same way as asset unit payouts, the total payout (yellow line) is the same throughout the duration of the contract - it is simply the amount of original BCH that long and short put into the contract. This reflects the concept that the contract is shifting the originally provided BCH from one side to the other as the price changes.

The liquidation prices are also visible at the same points on the price line.

THE LONG AND HEDGE FORMULA IN ACTION!

The diagram below is the payout in asset units, similar to the one above for long and short. The long payout (green line) changes in the same way, in line with price changes. However, we can see that for the special case of hedge (blue line), equivalent to a 1x short, the payout in asset units is flat throughout the duration of the contract, independent of price changes.

This represents the stability function of the AnyHedge protocol where the hedge side is protected against changes of price, and the long side takes the risk and reward of price changes.

The payout in BCH terms looks very similar, but if the diagram could be stretched out to the right, the price could continue increasing theoretically to infinity while still being able to correctly pay both the long and hedge sides correctly. In practice, due to issues of mathematical precision, the "liquidation" price is set to a very large price increase, typically 10x the start price. If that kind of rare very large price increase ever happens, it does not mean that the hedge is liquidated in the sense of a leveraged position - it only means that the contract ends early.

The liquidation price to the left of the start price still behaves as normal due to long being a leveraged position. In other words, the contract liquidates if the long runs out of money to cover further price decreases.


Some case examples!

CASE EXAMPLE: HEDGE

Alice uses a BCH Bull hedge position to stabilize the USD value of her Bitcoin Cash. She currently has 1 BCH, worth $100 and starts a hedge on BCH Bull. At the end of the contract, the price of 1 BCH dropped to $95. Using the formula, we can see how she ends with the same $100 of BCH, similar in effect to temporarily buying the other asset.

hedgePayoutInAsset = startPositionInAsset
startPositionInAsset = $100
hedgePayoutInAsset = $100
hedgePayoutInBch = startPositionInAsset / endPriceInAssetPerBch
startPositionInAsset = $100
endPriceInAssetPerBch = $95
hedgePayoutInBch = $100 / ($95/BCH) = 1.053 BCH

CASE EXAMPLE: SHORT

Bob thinks the price of BCH will go down relative to USD and wants to start a short position. He has 1 BCH, worth $100, and creates a short position with 5x leverage. At the end of the contract, the price of 1 BCH dropped to $95. Using the formula, we can see how he ends up with more BCH and more asset value than he would have by simply buying the other asset.

shortPayoutInAsset = startPositionInAsset * (1 - priceChange% * (shortLeverage - 1))
startPositionInAsset = $100
priceChange% = -5%
leverage = 5
shortPayoutInAsset = $100 * (1 - -0.05 * (5 - 1)) = $120
shortPayoutInBch = shortPayoutInAsset / endPriceInAssetPerBch
shortPayoutInAsset = $120 (see calculation above)
endPriceInAssetPerBch = $95/BCH
shortPayoutInAsset = $120 / ($95/BCH) = 1.263 BCH

CASE EXAMPLE: LONG

Charlie thinks the price of BCH will go up relative to USD and wants to start a long position. He has 1 BCH, worth $100, and creates a long position with 5x leverage. At the end of the contract, the price of 1 BCH dropped to $95. Using the formula, we can see how he ends up with less BCH and less asset value than he would have by simplying holding BCH.

longPayoutInAsset = startPositionInAsset * (1 + priceChange% * leverage)
startPositionInAsset = $100
priceChange% = -5%
leverage = 5
longPayoutInAsset = $100 * (1 - 0.05 * 5) = $75
longPayoutInBch = longPayoutInAsset / endPriceInAssetPerBch
longPayoutInAsset = $75 (see calculation above)
endPriceInAssetPerBch = $95/BCH
longPayoutInAsset = $75 / ($95/BCH) = 0.789 BCH

CASE EXAMPLE: SHORT LIQUIDATION

In Bob's short position above, the 1 BCH and 5x short leverage he selected creates a liquidation point at $125/BCH. That is the point where Bob's part of the contract will no longer be able to cover a further increase. In other words, if the price reaches $125/BCH or higher at any time during the contract, it will liquidate and all of the funds Bob put into the contract will be used to safely pay out the long position on the other side of the contract. Although the price of BCH may recover during the remaining original time to maturity, the contract already liquidated and any further price movement is not relevant to the contract.


Note: The above case examples do not consider any premiums that Alice, Bob and Charlie received or paid to use the service.

Contract simulator

You can simulate a long position on BCH Bull by using the simulator below. Simply fill in your preferred contract parameters and use the slider to simulate potential outcomes. The simulator does not include any fees associated with the contract and therefore does not include the influence of fees in the settlement outcomes.

Contract Simulator

Input Details

LONG
SHORT
HEDGE

Your Leverage Your Protection
Counterparty Leverage
My {{ reactives.positionType[0].toUpperCase() + reactives.positionType.slice(1) }} Position
{{ reactives.moneyIntent.userOutcomeInAssetUnits.toFixed(currencyDecimals[reactives.asset]) }} {{ currencyCodes[reactives.asset] }} {{ (reactives.moneyIntent.userOutcomeChangeInAssetPercent > 0) ? `+${reactives.moneyIntent.userOutcomeChangeInAssetPercent}` : reactives.moneyIntent.userOutcomeChangeInAssetPercent }}% {{ `(${reactives.moneyIntent.userOutcomeChangeInAssetUnits} ${currencyCodes[reactives.asset]})` }}
{{ reactives.moneyIntent.userOutcomeInBch.toFixed(currencyDecimals["BCH"]) }} BCH {{ (reactives.moneyIntent.userOutcomeChangeInBchPercent > 0) ? `+${reactives.moneyIntent.userOutcomeChangeInBchPercent}` : reactives.moneyIntent.userOutcomeChangeInBchPercent }}% {{ `(${reactives.moneyIntent.userOutcomeChangeInBch} BCH)` }}
Counterparty Position
{{ reactives.moneyIntent.counterpartyOutcomeInAssetUnits.toFixed(currencyDecimals[reactives.asset]) }} {{ currencyCodes[reactives.asset] }} {{ (reactives.moneyIntent.counterpartyOutcomeChangeInAssetPercent > 0) ? `+${reactives.moneyIntent.counterpartyOutcomeChangeInAssetPercent}` : reactives.moneyIntent.counterpartyOutcomeChangeInAssetPercent }}% {{ `(${reactives.moneyIntent.counterpartyOutcomeChangeInAssetUnits} ${currencyCodes[reactives.asset]})` }}
{{ reactives.moneyIntent.counterpartyOutcomeInBch.toFixed(currencyDecimals["BCH"]) }} BCH {{ (reactives.moneyIntent.counterpartyOutcomeChangeInBchPercent > 0) ? `+${reactives.moneyIntent.counterpartyOutcomeChangeInBchPercent}` : reactives.moneyIntent.counterpartyOutcomeChangeInBchPercent }}% {{ `(${reactives.moneyIntent.counterpartyOutcomeChangeInBch} BCH)` }}
Total BCH in contract {{reactives.moneyIntent.totalAmountNeededInBch.toFixed(currencyDecimals['BCH'])}} BCH
{{ reactives.positionType === "long" ? "Liquidation at" : "Early Payout at" }} {{ reactives.positionType === "long" || reactives.positionType === "hedge" ? "Early Payout at" : "Liquidation at" }} Settlement at {{ Number( reactives.settlementPriceInAssetUnits).toFixed(currencyDecimals[reactives.asset]) }} {{ currencyCodes[reactives.asset] }}/BCH {{ reactives.moneyIntent.priceChangePercent > 0 ? `+${reactives.moneyIntent.priceChangePercent.toFixed(1)}` : reactives.moneyIntent.priceChangePercent.toFixed(1) }} %
Set price outcome