Funding Brackets on BracketX

Bracket
Bracket
Published in
9 min readNov 1, 2022

Tutorial for funding brackets on BracketX

BracketX allows Funders to provide offers to the market. The following sections describe the process to fund brackets.

  • Selecting an asset
  • Editing amount available
  • Making offers

Connect your wallet

Head on over to https://test.bracketx.fi to connect your wallet when prompted.

Add network

Connect to the Arbitrum Goerli Testnet ChainID 421613 by allowing the site to add the network.

Manually connect to Arbitrum Goerli testnet

If you need to manually connect, please use the following steps to add the network.

Click on the Networks dropdown at top and select “Add Network

Enter the following into the settings fields:

  1. Network Name: Arbitrum Goerli Testnet
  2. *RPC URL: https://goerli-rollup.arbitrum.io/rpc
  3. ChainID: 421613
  4. Currency Symbol: ETH
  5. Block Explorer URL: https://goerli-rollup-explorer.arbitrum.io/
  6. Token Bridge: https://bridge.arbitrum.io/

Get some test BKTUSDC from Bracket’s Discord

To use BracketX as a Funder, you will need some BKTUSDC, our test USDC on Arbitrum Goerli Testnet. Request $10,000 BKTUSDC on Arbitrum Goerli from our Discord #USDC-faucet channel to get started.

Add BKTUSDC to your wallet

On testnet, we will ONLY be using our own mock USDC (BKTUSDC) for funding. To add the token address, push the upper right-hand button with your connected account number to go to the Account page, and then use the button, “ADD BKTUSDC,” and approve the token being added in your wallet.

Allow funding

After connecting your wallet to BracketX.fi, click the green button labeled “FUND.”

Select “ALLOW” to allow access USDC (the BKTUSDC) and accept in your wallet.

Allow BracketX access to USDC on Arbitrum Goerli testnet

Make funding available per asset

To start funding, select an asset (BTC, ETH, etc). BracketX allows funders to make USDC funds available PER asset. For instance, any USDC made available for BTC will NOT be available for ETH brackets. Within the dropdown, there are two numbers. In gray, you will see the estimated spot price of the asset. In white, you will see the amount of USDC you have available and the amount currently locked. If this is your first time using BracketX as a funder, available and locked will be $0. As your bracket offers are purchased, your available amount will shift to being locked for the duration of the contracts.

Add available funding for selected asset

To make funds available, type in the amount you want to add and click “ADD.” You will need to approve this change in your wallet.

Adding USDC

Edit amount available

To make funds available, or change the amount available, enter the NEW amount you want available. The available amount is used to fund the max claim amount when your offer is purchased by a buyer and becomes a contract. Upon purchase, your funds become locked for the duration of the contract. If you already have funds available, entering a new amount will automatically amend the existing balance to meet that new amount. You will then be presented with a button to add or remove funding showing the amount of the difference.

Edit available funding for an asset

You can always remove all of your funds by setting the amount to $0, but when adding or subtracting funds, a minimum difference is imposed, which is currently $100. To further segregate your funding, consider using multiple wallets, such as one for long vs short brackets.

Making offers

BracketX offers are split between LONG and SHORT directions. After selecting an asset and setting the amount available for that asset, you can set the starting point of brackets for which you’d like to have offers available for buyers to purchase. The default bracket range is 10% for all but the stablecoin de-pegging markets, which have a 3% bracket range.

Default screen once you make funding available

Let’s update some pricing for the long and short BTC brackets:

Bracket Funder Screen — setting the starting point of offers

Ex. Long
BTC at a price of $20,441. For a 10x long bracket, your offer will start “X%” out of the money and span a 10% range. Thus, an offer of 6.9% will start at $21,851 as indicated, and end at $23,895. The bracket will start being in the money at 6.9% ABOVE the spot price at the time of purchase and end up being in the money at 16.9% above spot.

Ex. Short
BTC at a price of $20,441. For a 10x short bracket, your offer will start “-X%” out of the money and span a 10% range. Thus, an offer of 6.9% on a 10x short will start at $19,010 as indicated, and end at $16,966. The bracket will start being in the money at 6.9% BELOW the spot price at the time of purchase and end being in the money at 16.9% below spot. It is computed as 1 minus the percentage, so (1–0.069) to (1–0.169), or 0.931 * spot down to 0.831 * spot

Your goal should be to have competitive offers. If they are too high, they not be purchased. If they are too low, your brackets will be purchased but you will lose money with too many claims. As more funders place offers the market will naturally become more competitive which will drive better pricing for buyers.

The column labels indicate the following:

NEW OFFER: Starting point of the bracket. NOTE the end of the offer is not shown, as it is 10% away for most assets and 3% away for de-pegging assets. The bracket width will be shown on the screen at the top or bottom of the grid.

BEAT: Your offer will BEAT the best offer available by 0.1%. Note, the minimum adjustments on offers are 0.1%

MEET: Make your offer equal to the lowest offer in the market

CLEAR: Remove offer for the bracket

VOL: Estimate of the asset’s implied volatility. We will go into our volatility calculation below.

Once your offers have been entered, please be sure to hit “UPDATE OFFERS” and confirm the transaction in your wallet. You will receive a confirmation when your offers have been updated. Also, the light grey cells showing your edits will now be back to a black background.

Update offers

Order management basics

As a Funder on the platform, you’ll want to pay attention to a few details in this section to get your offers filled. Bracket Protocol manages orders on-chain and determines which of the minimum-priced offers will get executions based on the following rules:

Filter orders by size: minimum size must be greater than or equal to the max claim amount required to fill the buy order

Sort by time: FIFO (“First In First Out”) based on time of last order (pricing) update

  • Order data is on-chain
  • The order to show is based on our GraphQL server and the Bracket front-end, which will lag a few seconds behind the smart contract in terms of showing updates to offers.
  • The smart contract has no order management logic and needs to be told the specific Funder that should be used for the match. This determination is done by our front-end UI.

Ex. Order matching

Buyer A is purchasing a SHORT bracket for downside protection, on a 10x bracket with a width of 10%. Buyer A is purchasing $10,000 of ETH and is willing to pay the 1% premium ($100), with a maximum claim payoff potential of $1,000 (10 times the $100), and the best strike price is currently 15% out-of-the-money.

Assume ETH is $2,000 at time of purchase, and three 15% offers were received in the following time order for the same minimum price claimable range of 15% to 25%, which equates to a range of $1,700 to $1,500.

Available Offer 1 (timestamp: 9:00 UTC): claimable range $1,700–1,500, $7,000 max funding available

Available Offer 2 (timestamp: 9:05 UTC): claimable range $1,700–1,500, $11,000 max funding available

Available Offer 3 (timestamp: 9:08 UTC): claimable range $1,700–1,500, $23,000 max funding available

In the above example, Bracket will prioritize Available Offer 2 as it is sufficient to fill the buy order and was updated prior to offer 3.

Order depth

On the Funder page, you will see a button that reads “DEPTH.” Clicking on the button will take you to the “Order Depth” screen.

Funding depth

Reading funder depth

The “Order Depth” screen shows the market’s offer depth. The top 3 prices are shown vertically, with the best offer at the top. The total cumulative available amount per bar is shown on the horizontal axis.

Gray bars: The other market participants’ offers
Colored bars: Your offer

My Brackets (SOLD)

Within the “MY BRACKETS” section, funders can see their brackets under the “SOLD” button. BracketX funders will be able to see their “Active,” “Claimed,” or “Expired” brackets.

My Brackets (sold)

Premium

For brackets SOLD, brackets “PREMIUM” is the total amount received from selling your brackets, less the 5% premium / platform fee.

Premium (from selling brackets)

In Money

“IN MONEY” will show your estimated payout liability if all brackets were claimed at the current spot price.

In Money is estimated payout liability if all brackets were claimed at that point in time

Max Claims

“MAX CLAIMS” shows the maximum potential loss as a funder if every bracket you sold was claimed at its max claim price.

Max claim is the max potential loss as a funder at that time

Estimated Volatility

BracketX computes an estimated implied volatility for each bracket on the Funder page views.

Our implied volatility should be viewed ONLY as an estimate, as a more accurate calculation would use an American-style options pricing formula and not the European-style Black-Scholes formula. The inputs to a Black-Scholes pricing formula are:

  • Spot price
  • Strike price
  • Time remaining until expiration
  • Risk-free interest rate (which we will change periodically, but currently it is set to 1%)
  • Volatility (the variable we will be solving for)
  • AND the premium is what is calculated

A bracket’s premium is computed as:

Premium = BlackScholes( SpotPrice, Strike = bracketStart, TimeRemaining, FRrate, Volatility) -

BlackScholes( SpotPrice, Strike = bracketEnd, TimeRemaining, FRrate, Volatility)

The bracketStart is closer to being in-the-money and bracketEnd will be the farther out-of-the-money number. The width of the bracket is currently 10% of spot price, which should also be equal to the absolute value of | bracketEnd — bracketStart |.

  • The Premium for a 5x max-payoff bracket is 20% of the bracket’s width.
  • The Premium for a 10x max-payoff bracket is 10% of the bracket’s width.
  • The Premium for a 20x max-payoff bracket is 5% of the bracket’s width.
  • The Premium for a 50x max-payoff bracket is 2% of the bracket’s width.
  • and so on….

To find implied volatility, we fix the premium and solve the equation above by varying the volatility of the underlying asset.

For example, assume a 5x LONG, 7-day bracket has a spot price of 1, and bracket start is 8%. Because the bracket is a 10% width and we have a 5x payoff, we set premium to 0.02 = 1 * 10% * 20%. The risk free rate of interest assumed to be 1.5%.

BlackScholes( 1, 1.08, 7day, 1.5%, Volatility) — BlackScholes( 1, 1.08 + 0.10, 7day, 1.5%, Volatility) ≈ 0.02

We then iteratively find a Volatility that is “close enough” to 0.02.

Funding Brackets for Yield

We think the next stage of DeFi will be a quest for “real yield”, so creating a funding strategy on BracketX may be a great place to start. Funding on BracketX is a little different than on more traditional options venues but we see great opportunities for aggressive market participants in both large cap crypto markets as well as de-pegging markets for assets like stETH and USDT.

If you have any questions, comments, or suggestions, please feel free to ask them on our Discord on our #bracketx channel.

Check out our docs here to learn more about the protocol.

— The Bracket Team

--

--