# Welcome to IVX

IVX is a 0dte options AMM on Hyperliquid EVM and Berachain offering high leveraged options instruements for $BTC $ETH $SOL $HYPE and $BERA

* Website: <https://www.ivx.fi/>
* Twitter: [https://twitter.com/ivx\_fi](https://twitter.com/ivx_fi?lang=en)
* Mirror: <https://mirror.xyz/0x2ab0503928B9C660106478f33cC1dD47c5A7d8A8>
* Discord: [https://www.discord.gg/ivx](https://discord.com/invite/ivx)
* IVX Learn: <https://www.ivx.fi/learn>

&#x20;


# 0dtes Market Dynamics

### Market Operation

The IVX market acts as the counterparty for all users engaging with the IVX protocol. When a user seeks to purchase an option at a specific strike price, the AMM automatically accepts the trade, thereby exposing itself to a corresponding shot option contract of the same asset on that same strike price. If a user wishes to close the purchased option, the AMM's exposure as a seller will be offset, leading the AMM to exercise the option following the American options methodology.

Every day at 8:00 AM UTC, the IVX market generates option contracts for supported assets with incorporated volatility sources, initiating the trading session and enabling traders to write or purchase option positions that expire at 8:00 AM UTC the following day.&#x20;

Throughout the 24 hours trading period, (excluding 30 minutes before expiry when trading will be ceased), traders can enter or exit from any position based on a pre-generated list of strike price specific to each asset.

### Strike price list

IVX Strike price list will be align with the same strike price list as Deribit, aggregating three strike prices per asset closer to ATM: \[OTM , ATM , ITM]

Strike prices will roll out automatically as live price moves below OTM strike or moves above ITM strike, otherwise, the list of strike prices will remain unchanged.&#x20;

<figure><img src="/files/GILsFL3BC8rsT10vpKBZ" alt=""><figcaption></figcaption></figure>

### Option pricing

IVX market follows the Black-Scholes pricing methodology while fetching implied volatility for strike prices through specified oracle

* $BTC market and $Deribit market : 15min mark IV TWAP fetched from Deribit orderbook, in collaboration with Stork Network
* $HYPE : 15min scaled TWAP RVOL fetched from $HYPE price action, in collaboration with Chainsight

{% hint style="info" %}

* Min wETH position = 0.1 Contract
* Max wETH position = 200 Contract

- Min wBTC position = 0.01 Contract

- Max wBTC position = 7.5 Contract

- Min HYPE position = 1 Contract

- Max HYPE position = 30,000 Contract

- minPremiumPriceRate(factor \* token price): 0.0001 on all assets
  {% endhint %}


# Positions Payoff

### Maximum P\&L Framework for long positions

Long positions have  theoretically unlimited upside potential, we will therefore initiate IVX markets with a framework for setting this maximum P\&L in terms of observable market variables and a defined shared benefits between IVLP deposited and protocol traders. This framework involved calculating the maximum P\&L as an implicit option long traders are selling to the IVLP and solving for the maximum P\&L in terms of premium from there.

The four distinct trade types (defined from the perspective of a trader) with their respective maximum liabilities to the IVLP are:

* **Long Call:** Without a maximum P\&L the potential IVLP liability is uncapped. With the maximum P\&L parameter in place, the maximum P\&L in percent is $$Pmax\_{longCall}$$&#x20;
* **Long Put:** Without a maximum P\&L the potential IVLP liability is 100% of the reserved amount. With the maximum P\&L parameter in place, the maximum P\&L in percent is $$Pmax\_{longPut}$$&#x20;
* **Short Call/Put:** Without a maximum P\&L the potential IVLP liability is the Premium percent of notional. With a maximum P\&L in place this could be contained further, but there are some user experience issues to doing this.

By that:

* Long positions $$P\&L\_t = Min\[\ Premium\_t - Premium\_0;  maxPNL(k)\ ]$$$$p(0)$$
* Short position $$P\&L\_t =  Premium\_0 - Premium\_t$$

and at expiry

* Expiry Pay off $$P\&L = Min\[maxPNL(k), (b/s) \times (Spot - Strike)], 0] - P(0)$$

> $$maxPNL(k)$$ is defined per strike price delta at the moment of opening the position&#x20;

{% hint style="info" %}
If users had opened positions by the time the epoch ends, their trades undergo the settlement process, in which they are not allowed to resume trading activity in the next epoch until the positions are closed, even if they were carried to the next epoch.
{% endhint %}

### Impact of Maximum P\&L Width on IVLP Risk and Return

The width of the maximum P\&L affects the risk of the IVLP pool as this maximum P\&L implicit option will offset some delta and gamma risk in the pool, where the tighter the maximum is set, the greater the offset on average.&#x20;

The overall return of the pool is also increased as the value of this option will realize over time and over a long enough time horizon it will have the effect of an explicit trading fee. We are projecting this as a healthy dynamic balance between potential trader upside realtive to the risk absorbed by IVLP, and can be modified in the future acording to community and data feedback

E.g: The payoff for a long call position with a maximum P\&L in place is shown in the diagram below.

<figure><img src="/files/aQALigUpFMFOMRybXzTf" alt=""><figcaption></figcaption></figure>

Token Payoff:

<table><thead><tr><th width="43">Position</th><th width="298">Position</th><th>Token Payoff</th></tr></thead><tbody><tr><td></td><td>Buy Call</td><td>Volatile Token</td></tr><tr><td></td><td>Sell Call</td><td>Stablecoin</td></tr><tr><td></td><td>Buy Put</td><td>Volatile Token</td></tr><tr><td></td><td>Sell Put</td><td>Stablecoin</td></tr></tbody></table>

{% hint style="info" %}

* Max PnL Rate: 900% for ETH BTC HYPE SOL
  {% endhint %}

**IVX market benefits from the fees generated down below:**&#x20;

* Entry fee
* Exit fee
* Fixed settlement fee
* liquidation fee
* IVLP mint fee
* IVLP redeem fee

Where:&#x20;

* 50% of fees collected and distributed to IVLP holders
* 50% of fees collected will be held in the insurance fund

{% hint style="info" %}
ETH + BTC + SOL\
\
**Open** buy call - Buy put fees = 0.25%\* Notional value

**Close** buy call - Buy put fees = 0.1%\* Notional value\
\
HYPE + BERA\
\
**Open** buy call - Buy put fees = 0.325%\* Notional value

**Close** buy call - Buy put fees = 0.125%\* Notional value<br>

ETH + BTC + SOL

**Open** sell call - Sell put fees = 0.05%\*Notional value

**Close** sell call - Sell put fees = 0.05%\*Notional value<br>

&#x20;HYPE + BERA\
**Open** sell call - Sell put fees = 0.065%\*Notional value&#x20;

**Close** sell call - Sell put fees = 0.045%\*Notional value<br>

Settlement fee for Buy positions = 0.04%\*Notional value

Settlement fee for Sell positions = 0.03%\*Notional value&#x20;

Liquidation fee = 2$
{% endhint %}


# Portfolio creation and Collateral

IVX pioneers the start of option portfolio margin trading on-chain by implementing self-custodial smart contract wallets for users. This approach enables users where they can deposit any whitelisted asset by IVX, utilizing the entire portfolio as collateral, to write and purchase option positions on IVX.&#x20;

Each EVM wallet is permitted to create a single smart contract portfolio to interact with the IVX protocol.

### Margin Trading Overview

Margin trading is the possibility to buy and sell option positions using the trading portfolio as collateral, eliminating the need to sell any deposited asset. This mechanism enhances the traders' buying power, enabling interconnected positions on cross margin, and the ability to perform selling positions on leverage.

IVX protocol mandates the following steps for every trade interacting in margin trading:

* Create a portfolio account on IVX
* Deposit one or more whitelisted assets as collateral
* Interact with IVX Diem to open or close option positions

#### Effective Balance <a href="#effective-balance" id="effective-balance"></a>

Each smart contract account accepts whitelisted assets as collateral determined by the IVX risk engine. For each asset, there is a specific collateral factor that describes how much a trader can use from the tokens deposited as collateral.

The effective balance of the account is calculated as follows:

$$
\text{Effective Balance} = \sum\_{i=1}^{n} \text{Balance}\_i \times \text{Price}\_i \times \text{Collateral Factor}\_i
$$

IVX uses Redstone oracle price feeds to fetch token prices into the effective balance.

The collateral factor of each asset is a decimal percentage between 0.0 and 1.0 that determines how much of the asset’s notional value can be used as collateral.

| Asset | Collateral Factor |
| ----- | ----------------- |
|       |                   |
| $HNY  | 1.0               |
| $HYPE | 0.99              |
| $wETH | 0.99              |
| $wBTC | 0.99              |
| $SOL  | 0.99              |

{% hint style="info" %}
Example

Bob wants to deposit 2 $wETH and 5 $wBTC into the margin model. The collateral factors for each asset are 0.97 and 0.96, $wETH and $wBTC are trading at $1,600 and $22,000 respectively. We can calculate Alice’s margin balance as follows:

$$\text{Margin Balance} = \sum\_{i=1}^{n} \text{Balance}\_i \times \text{Price}\_i \times \text{Collateral Factor}\_i$$ &#x20;

$$= 2 \times 1,600 \times 0.95 + 5 \times 22,000 \times 0.925$$&#x20;

$$= 3,040 + 101,750$$&#x20;

$$= 104,790$$
{% endhint %}

#### Unrealized Profit and Loss <a href="#unrealized-profit-and-loss" id="unrealized-profit-and-loss"></a>

Unrealized profits and losses of the trading portfolio are stored within each account, affecting the account value calculation. This architecture will allow IVX to support cross-margin accounting between opened positions, facilitating the offsetting of profits and losses to reduce margin requirements, and protect from liquidation events. In addition, traders can leverage cross-margin to perform complex strategies with exotic payoff positions as it can free more capital to be used on other trades.

#### Debt <a href="#debt" id="debt"></a>

In cross-margin mode, the portfolio account allows traders to open and close positions even when they don't meet the capital requirement, as long as the total unrealized profit and loss exceed the amount and the fees required to open or close a position. The required value is stored in the portfolio status as debt and will be reduced from portfolio assets under specific conditions such as:

* Closing profitable positions
* Expiration of option positions
* The portfolio is liquidatable
* Additional assets deposited into the account

Trading on margin offers flexibility in trading by:

* Minimising capital requirements to trade due to the necessity to provide only the maintenance margin to keep the position opened.
* Reduce liquidation risks through the ability to cover losing positions using the portfolio’s assets
* Utilzing unrealized profits in the portfolio account to open extra additional positions
* Enabling the creation of complex strategies involving different option positions


# Liquidity Provision

<figure><img src="/files/L5gLannqtbZtAVKnt7YG" alt=""><figcaption></figcaption></figure>


# Reserve Logic

IVX market operates as a reserve-based dynamic AMM that gurantees anytime entry and exit for traders with preserved token allocation for, retained for each position triggered.

The Implied Volatily Liquidity Pool (IVLP) consists of a collection of tokens acquired in the form of index, that will be counterpositioned against traders contracts

At any moment in time, the amount deposited in IVLP always surpass the amount reserved for opened positions.

$$
Value(Reserve\_t^p) \geq P\&L\_t^p \quad \forall \text{  } t, p
$$

The reserve amount for each position will be determined given the risk profile of each position, direction of the position, and the delta configuration at moment of open

### **Long positions (Buy Call, Buy Put)**

For long positions, the maximum P\&L of each contract is theoretically unlimited. To manage LP risk, a dynamic maximum P\&L is introduced depending on delta positioning of each trade to ensure fair upside for traders while capping potential drawdowns for liquidity providers. Now that we have knowledge of the risk profile of long positions we can describe their reserved allocation as followed:

$$
reserve:= max(a\_{call/put}^{long}(k) \times premium\_0, b\_{call/put} \times notional)
$$

Where

$$
a\_{call/put}^{long}(k) represents\ maximum\ P\&L\ factor\ per\ delta\ strike
$$

$$a\_{call/put}^{long}(k) represents\ maximum\ P\&L\ factor\ per\ delta\ strike$$ $$f(x) = x \* e^{2 pi i \xi x}$$

and $$b\_{call}, b\_{put}$$ represent the long call/put reserve exaggeration factor, a maximum leverage the IVLP pool can be exposed to against long traders

By that

$$
a^{long}\_{call} \times premium\_0 = maxPNL
$$

### **Short Positions (Sell Call, Sell Put)**

For short positions, Sell Call and Sell Put, the maximum P\&L of each contract is limited to the initial premium price received, eventhough the maximum liability is defined, this maximum liability will be realised significantly more often that the maximum liability of long positions. For this reason it is prudent to hold a multiple of the initial premium as reserve to protect the IVLP from taking a significant drawdown. Now that we have knowledge of the risk profile of Short positions we can describe their reserved allocation as followed:

$$
reserve:= (a\_{call/put}^{short}) \times premium\_0
$$

Where

$$
a\_{call/put}^{short} =  The\ maximum\ P\&L \ of\ a\ Short\ position\ multiplier
$$

Parameters set up will be in partnership with [Chaos Labs](https://chaoslabs.xyz) based on behavioral and statistical analysis and dynamically re assessed after market variations&#x20;

Over-collateralization of positions will reduce the LP exposure to traders’ profits, at the expense of capital efficiency and total open interest accepted, a dynamical system that will be expanded more as the system matures and more quantitative data are collected

{% hint style="info" %}

* Every position opened updates the state of the total tokens reserved in IVLP (addition of the new position reserve to the old reserve)&#x20;
* Every position closed updates the state of the total tokens reserved in IVLP (subtraction of the new position reserve from the old reserve)
* Reserve per buy position is 1 token, or 1 token worth of stablecoin at open
* Reserve per sell position is 15\*p(0) worth of token or stablecoin for high cap assets and 45\*p(0) for mid cap assets at open
  {% endhint %}


# Open Interest Cap

There are four different trade types possible on IVX

* **Long call:** Trader buys a call option
* **Short call:** Trader sells a call option
* **Long put:** Trader buys a out option
* **Short put:** Trader sells a put option

Both Long Call and Short Put require volatile tokens to be reserved, while Long Put and Short Call require stablecoins to be reserved against them.&#x20;

To ensure that a combination of trades that offset IVLP exposure to traders' positions is always possible, we limit the exposure to open interest in each of these trade types.

We make the following assumptions ahead of protocol launch:

* The demand for Calls and Puts will fluctuate with changing market conditions and it is important to allow sufficient capacity for this open interest in these positions&#x20;
* Long option open interest are expected to be in significantly more in demand compared to short option open interest
* Target assumption is that if total open interest is capped, liquidity pool exposure to traders P\&L is reduced and will be closely correlated to index price action

{% hint style="info" %}
Open Interest Cap parameters:&#x20;

* Buy Call Option Price Factor (reserve): 1 token
* Buy Put Option Price Factor (reserve); 1 token worth of USD at moment of execution
* Sell Call Option Price Factor(reserve); for all assets = 15
* Sell Put Option Price Factor(reserve); for all assets = 15
* Buy Call / Sell Put ratio; for all assets = 1
* Buy Put / Sell Call ratio; for all assets = 1
* Buy Call Token Price Factor; 1^e-17
* Buy Put Token Price Factor; 1^e-17
  {% endhint %}


# IVLP Mint and Redeem

Providing liquidity to the IVX 0dte market involves minting and redeeming indices of tradable tokens with predefined desired weights according to risk and open interest desired

### Minting

To provide liquidity to IVLP, particpants must purchase $IVLP by minting LP shares at the current index price:

$$
\text{Index Price} = \frac{\sum \left(( \text{Pool Token}\_i \times \text{Price Token}\_i) \pm \text{Users Live P\&L} \right)}{\text{IVLP Total Supply}}
$$

$IVLP purchase can be conducted at any moment in the option life cycle, and variable entry fee is charged, depends on the difference between desired token weight in the pool, and new realized weight after the deposit

* If token new **Realized weight** $$=<$$ Token **Desired weight**&#x20;

$$
(1)      \text{Entry Fee} = \text{fixed\_fee} \times \text{Size Deposited}
$$

* If token new **Realized weight** $$>$$ Token **Desired weight**&#x20;

$$
\text{Entry fee} = \min\left(\text{max\_fee}\ ; \text{fixed\_fee} +\left(\frac{\text{Realized weight} - \text{ target weight}}{\text{target weight}}\right) \times \frac{\text{max fee}}{\text{max\_deviation}}\right) \times \text{Size Deposited}
$$

Fees are collected in the form of token deposited and transfered to fee splitter

### 2- Redeem&#x20;

To redeem liquidity provided to IVLP, participants must sell (burn) $IVLP by redeeming LP shares at the current index price mentioned above at $$(1)$$. The system will direct the exit tokens to be the least dsired tokens, based on weighted deviation from its desired weight. Leveraging our intergration with Ooga Booga, users will receive their requested tokens without any user experience friction.

Redemptions can occur between 24 hours and 1 hour to expiry, with a time weighted exit fee applied as protection layer against undesriable unrealised P\&L lock-ups close to expiry, following the exit fee formula below:

a) Between 24 hours to expiry and $$a$$ :&#x20;

$$
\text{Time-weighted Exit fee} = \min\left(\frac{1}{(x - a)^n\*100} + b\ , C\right) \times \text{size Redeemed}
$$

Where

* $$x$$ is time before expiry (h)
* &#x20;$$C$$ is maximum fee charged (Factor not %)
* $$b$$ is minimum fee charged (Factor not %)
* $$n$$ is acceleration factor&#x20;
* &#x20;$$a$$ is a defined time before expiry (h)

b) Between $$a$$ and Freeze time:&#x20;

$$
\text{Exit fee} = C\*Size\ Redeemed
$$

c) Between Freeze time and Expiry exit is not allowed due to manipulations risk, usually the Freeze duration is 1 hour before expiry

{% hint style="info" %}
Users will face a cool-down period after depositing or withdrawing, in which they must wait before executing another transaction (security measures
{% endhint %}

{% hint style="info" %}
Mint and Redeem parameters:

* fixed Entry Fee (Factor): 0.001 for all assets
* max Entry Fee Factor: 0.011
* max Deviation Accepted: 0.15
* max Exit Fee Factor (fixed fee before expiry time): 0.015
* fees Ascendence Acceleration (n): 2
* min Fee Factor (b) : 0.001
* Min Deposit: 1 In USD
* Min Withdraw: 1 In USD
* Locked Period: 2h
* Max\_Fee\_Period: 4h
* Cool Down Period: 10min
  {% endhint %}

> We suggest to redeem liquidity provided at the early stage of the option life cycle (8:00 AM UTC - 2:00 PM UTC) where dynamic redeem fees are small and overall risk both in terms liquidity provider unrealised PNL and system health is at minimized


# Tutorial: How to provide/redeem liquidity


# Technical Parameters

```
fixed fee factor: e18; unique per token

max entry fee factor: e18; unique per token

max exit fee factor (C): e18; unique per token

max deviation accepted: e18; unique per token 

fees ascendance acceleration (n): e18; unique per token

positioning correction factor (b - also called minimum fee charged): e18; unique per token

min amount to deposit: e18; amount in $$, common between tokens

min amount to withdraw: e18; amount in $$, common between tokens

cool period: e18; in seconds; common between tokens. cool-down period between 1 deposit/withdraw transaction and another.

locked period: e18; in seconds, common between tokens. last 30 minutes of epoch, where all activities are prohibited.

max fees period (a): e18; in seconds, common between tokens
```


# Trading Portfolio

<figure><img src="/files/xHukbIrz2sy2V0vQkfrU" alt=""><figcaption></figcaption></figure>


# Margin Model

### Initial margin

Initial margin is the minimum amount required for executing a position

* Buy option call/put : `Buy maintenance margin($)*(1+k) + open fees`
* Sell put option : `Maintenance margin * IMR factor`
* Sell call option :`Maintenance margin * IMR factor`

### Maintenance margin

Maintenance margin is the minimum amount required to be maintained in the portfolio to keep the position opened

* Buy option call/put : `Initial premium price($) + close fees (0 for liquidation calculation)`
* Sell put option : `Max(b * spot, b * Mark Price of the premium) + Mark Price of the premium`
* Sell call option:`b* Spot price + Mark Price of the premium`

Where a and b are margin variables defined per asset :&#x20;

<table><thead><tr><th>Market</th><th>Initial margin factor (a)</th><th width="182.1796875">Main. margin factor (b)</th></tr></thead><tbody><tr><td>$wETH</td><td>1.25</td><td>0.075</td></tr><tr><td>$wBTC</td><td>1.25</td><td>0.075</td></tr><tr><td>$HYPE</td><td>1.25</td><td>0.1</td></tr><tr><td>$SOL</td><td>1.25</td><td>0.1</td></tr></tbody></table>

<br>

### Open position margin checking

In order to open a position, we have to check and make sure that the current financial value of user portfolio is above or equal to the **new position initial margin** added, following the formula below:

**a\* token amount in portfolio \* CF + max\_pnl\_factor\* total unrealized Profit - total unrealized loss - debt - current position sell MM - current position buy MM - liquidation fee >= new position IM**

### Liquidation margin checking

In order to check if the user is liquidatable or not, the current account balance - losses - guaranteed maintenance margin should be always above 0 , **which means he’s able to pay his full deb**t, so in order to define a user as not liquidatable he must maintain the formula below:

**b\*Token\*CF** + **max\_pnl\_factor\* total unrealized Profit - total unrealized loss - debt - current position sell MM - liq fees >= 0**

### Withdrawal margin checking

In order to allow user to get withdraw money from portfolio, we need to make sure that the new portfolio balances of his portfolio - the losses and the guaranteed margin is above 0 , or else we need to revert the transaction, so this formula must be always maintained :

**c\*new token dollar amount after withdraw\*CF + max\_pnl\_factor\* total unrealized Profit - total unrealized loss - debt - current position sell MM - current position buy MM - liquidation fee >= 0**

| Paramater   | Value |   |
| ----------- | ----- | - |
| a           | 1     |   |
| b           | 1     |   |
| c           | 0.85  |   |
| pnl\_factor | 0.4   |   |


# Account Value

At any stage in the epoch's life cycle, the total account value can be calculated as below:

$$
\text{Account Value} = \text{Effective Balance} - \text{Debt}  + \text{Effective profits} - \text{Loss}
$$

&#x20;                                             Where Effective profits = $$a\*\text{Real Profits}$$

&#x20;                                                                           0 < a < 1          (Initially a = 0.4)

Knowing the account value, traders can decide to add or reduce to their position, as long as the account value remains higher than the initial maintenance margin in [Standard Margin](https://docs.ivx.fi/financial-model/standard-margin)

<table data-full-width="true"><thead><tr><th width="118.40234375">Asset</th><th width="159.54296875">Collateral Factor</th><th data-hidden></th><th data-hidden></th></tr></thead><tbody><tr><td>$HONEY</td><td>1</td><td></td><td></td></tr><tr><td>$wETH</td><td>0.99</td><td></td><td></td></tr><tr><td>$HYPE</td><td>0.98</td><td></td><td></td></tr><tr><td>$wBTC</td><td>0.99</td><td></td><td></td></tr><tr><td>$SOL</td><td>0.99</td><td></td><td></td></tr></tbody></table>

Initially, $HONEY only accepted on the front end


# Cross Margin

### Debt

In cross-margin mode, the portfolio account allows traders to open and close positions even when they don't meet the capital requirement, as long as the total unrealized profit and loss exceed the amount and the fees required to open or close a position. The required value is stored in the portfolio status as debt and will be reduced from portfolio assets under specific conditions such as:

* Closing profitable positions
* Expiration of option positions
* The portfolio is liquidatable
* Additional assets deposited into the account

Trading on margin offers flexibility in trading by:

* Minimizing capital requirements to trade due to the necessity to provide only the maintenance margin to keep the position opened.
* Reduce liquidation risks through the ability to cover losing positions using the portfolio’s assets
* Utilizing unrealized profits in the portfolio account to open extra additional positions
* Enabling the creation of complex strategies involving different option positions

### Unrealized Profit and Loss

Unrealized profits and losses of the trading portfolio are stored within each account, affecting the account value calculation. This architecture will allow IVX to support cross-margin accounting between opened positions, facilitating the offsetting of profits and losses to reduce margin requirements, and protect from liquidation events. In addition, traders can leverage cross-margin to perform complex strategies with exotic payoff positions as it can free more capital to be used on other trades.

**Cross margin factor = 0.4 (0.4\*unPNL will be calculated in your account to open more trades on cross margin)**


# Tutorial: How to interact with your portfolio

1. Go to bartio.ivx.fi, once there, click on the “sign in” button on the top right.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfKWDmlqZpka7FlzWcYTMo9sut6H7ftYlxNl0EQ1B7exBbv9r2J8xVXOcK48Q-sv-Sw-k3kzFGi_JvGcxPoDICuCbEM35Pt50ps4AfEYpvSwHDE4LqUESiX0YARe4Hfp2WbJIfnawXX-fJNUIDrZC-ZKAT-?key=DUN2gIDCsSR-jqtKWgy92A" alt=""><figcaption></figcaption></figure>

2. Log in using your preferred wallet, in this demonstration we will be using MetaMask.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdZiUA8oZgm2GZyCBc_6Hbf7nZv4wHB9MwchJDbUeV62PJpiC4DAwOXDThYjz7VjFzcZEFEpabXcnBq-hmPd8ZSJN1ZNx3QGnT8ahF2eS42u3tryGcKzJG-tBv5Yx3EMuadA5aNemby8GS6rhT4MaBZ2CjT?key=DUN2gIDCsSR-jqtKWgy92A" alt=""><figcaption></figcaption></figure>

3. Confirm with your wallet to fully log in.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf8X_f1dY6qtcqXvH1A51h9Hg6XkxVBfBw3miNyj1ctJh-kbh-6nUiJ2lSWH_ynzjnWF89g9m3hx3OP2uO8lz2DYMtaTPKb0cn1QB_lNmZISDeInk7StJV4dtCoFXGQSnjFx0YX8UUnSLzRYJB8aXUpO7E?key=DUN2gIDCsSR-jqtKWgy92A" alt=""><figcaption></figcaption></figure>

4. To use IVX, you will have to connect to the Berachain network, so you can directly switch to the chain with 1 press of a button, or you can switch network before logging in.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc5szNcxBy0e5QGIYePBiPaCwKf4R9ZvrUv4QxbIEwwhVRoxv-obrfWTm5fRF9ErpGik9UB4-GLwnHfgnCgfiyTUZcOdafSE_cALsbV03RVaOxOl_0Glmc6qjP6s5XgTCf8zrzRWQtfpYOSyC6TuX1xUytO?key=DUN2gIDCsSR-jqtKWgy92A" alt=""><figcaption></figcaption></figure>

5. Press “Create Portfolio” in the middle of the portfolio page in order to create your portfolio and confirm the transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfr_3I8VBOgsSYf7ccud19O7hlff85oRW9Dg-4gJMHeB66ppChe1_aDLodh7D95zNh7uwipEZrU0rhIYET-T6WZeX3KV-mXKOKHMmfYSItHfwOYxdfmloAzjRXNxTDa1v-STGP_ffZx0n4lIrz6-m-xtgni?key=DUN2gIDCsSR-jqtKWgy92A" alt=""><figcaption></figcaption></figure>

<br>

6. Claim testnet tokens which will enable you to take trades on IVX, and confirm transaction in your wallet.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdXPHFXEGAdSTRmINB7zQ-NtHgshm8xtzYBX7-ZDWPd70TcWeb2xo9hkNl31rKXo7p9_DnZApNnhS8UC_5gPMhZvB4zjz638TkkI5Tcc1GDphQZd-lG147eMfZEy_-XXsVbvJrG7_uFnbTVyT-HtchF7Nc?key=DUN2gIDCsSR-jqtKWgy92A" alt=""><figcaption></figcaption></figure>

<br>

7. Your account should be topped up with the testnet tokens you claimed. Thus you’re now ready to begin trading on IVX. Good luck fren

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfjBT6z6Pavb0hK3LK72k-CtiBuqwSrfGUuhGLXuHLJQ3sFsq8Kku9qGPdHJA8IloIcnv5GmIjsBWIWhdv6fA8R2PvX2RJQJEqng8JqJB40psntLMaUbmSsHcG439VHfp6CKaVy-REah_TeTjbBC2Oc7dX2?key=DUN2gIDCsSR-jqtKWgy92A" alt=""><figcaption></figcaption></figure>

\ <br>


# Levo: Intent-Based Perp Market

<figure><img src="/files/YJHDQJlqBoG4F7RpM9bU" alt=""><figcaption></figcaption></figure>


# IVX Perpetual Futures Trading

### Understanding IVX Intent-Based Trading

Unlike traditional order books, IVX uses an intent-based trading system, where traders express their intent to buy or sell and solvers who match this with the best possible trade execution.

### **How IVX perps trading works**

1. Submit an Intent – Define your trade parameters (Asset, size, leverage, etc.)
2. Solver Execution – Solvers search for the best available trade execution both on and off chain
3. On-Chain Settlement – The trade is settled on Berachain using SYMMIO smart contracts.

### **Advantages of Intent-Based Trading**

* Reduced slippage: Orders are executed efficiently through solvers.
* Better pricing: Multiple solvers compete for the best execution.
* Gas-efficient: Optimized trading execution

### **IVX markets are operating through our partner : Symmio Network**

Symmio is a trustless hybrid (combining on and offchain) clearing house acting as communication, settlement & clearing layer for permissionless derivatives. At its core, Symmio is an intent-centric, meta-derivatives engine, with its first use case being a new type of hyper-efficient perps trading technology.<br>


# Deposit and Withdraw

### To start trading on IVX, you'll need a Web3 wallet that supports Berachain.&#x20;

### Compatible wallets include:

* MetaMask (with Berachain RPC added)
* WalletConnect-supported wallets
* Rabby Wallet
* Coinbase Wallet
* Other EVM-compatible wallets

### Adding Berachain to MetaMask

Head to <https://chainlist.org/?search=berachain> and add the Berachain mainnet RPC to your wallet

If you want to add the network manually, follow the below steps:

1. Open MetaMask and go to Settings > Networks > Add Network.
2. Enter the Berachain RPC details:

* Network Name: Berachain
* RPC URL:
* Chain ID: 80094
* Currency Symbol: $BERA
* Block Explorer URL:

Click Save, and you're now connected to Berachain!.

### Connecting Your Wallet

* Click Connect Wallet and select your wallet type.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdRkox7j2Lqxb_2n6eaMcmEwGVchFq2VmPlfG7VcZ6kji0pGQ8VIrcQ4dt_sI9c8-vEBMsiOQhiTJUD4dgnns52IcCa-qB-1C59-_CVJCQlAga3yEVUrifNciHXJnZIqB01g8wC6Q?key=2WKI56abpYQqpV0yevGdKXZ5" alt=""><figcaption></figcaption></figure>

* Confirm you are on the Berachain network and ensure that the correct RPC URL is used.
* Follow the prompts to complete the wallet connection.

{% hint style="info" %}
&#x20;Note: This ensures that you are properly connected before proceeding with transactions.
{% endhint %}

### Depositing funds into IVX

Before you can trade, you need to deposit funds into IVX.

#### Steps to Deposit $HONEY into IVX:

* Create a Portfolio: Before depositing, go to IVX Portfolio and click Create Portfolio. Agree to the Terms and Conditions.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdwQJAIqHOE5h06whYv-GeRUozHcg7Q_CSY7ckdLlVqS1E85DxaqhAEP-D59K7liDtoJi4eqhfmQ1sTslQPBfYdpmnmsQiHWvScsFVTPvQowC-E5_scy60r2wPwEpp23qFwYK-oOw?key=2WKI56abpYQqpV0yevGdKXZ5" alt=""><figcaption></figcaption></figure>

* Connect Your Wallet: Ensure your Web3 wallet is connected.
* Initiate Deposit: Click Deposit and select $HONEY as the collateral currency.

<figure><img src="/files/9HoWOPWvkT0epHMTLmoQ" alt=""><figcaption></figcaption></figure>

* Enter Amount & Confirm: Choose the amount to deposit and confirm the transaction using $BERA for gas fees.
* Wait for Confirmation: Your balance will be updated once the transaction is confirmed.

{% hint style="info" %}
Note: Deposits may undergo a 12-hour fraud verification period before becoming available for trading.
{% endhint %}

### Withdrawing Funds from IVX

To withdraw your $HONEY from IVX:\
\
1\. Go to Wallet > Withdraw.\
2\. Select $HONEY and enter the withdrawal amount.\
3\. Confirm the transaction using $BERA for gas fees.\
4\. Your funds will be available after the withdrawal processing time.\
\
💡 Reminder: Withdrawals are subject to the 12-hour security verification period.


# Margin requirements

At any moment, users have to maintain an equity balance in the portfolio that is bigger than the total maintenance margin (CVA) of their opened positions.

### Account Value&#x20;

User account value is the sum of the value inside a user's portfolio:&#x20;

$$
Account\ value\ =  $HONEY\ in\ portfolio + unrealised\ PNL
$$

### User Maintenance Margin (CVA)

The CVA is the amount required to be held by a user to keep the position open, where if the users account value falls below the total acount CVA, the users are liquidatable and will lose the entire account assets.

### Available for Trading

In order to understand how much is left in your account to trade, you'll find it under {Available for Trading} section:&#x20;

$$
Available\ for\ Trading = Account\ value\ - Locked\ Margin - Maintenance\ Margin
$$

### Account health

You can identify the risk of your account by monitoring the account health factor.&#x20;

* 100% mirrors zero risk
* 0% is liquidatable state

The closer the account health approach 0%, the highest the risk of getting liquidated.

<figure><img src="/files/ylbMPMZx5JyrZpbdMIPD" alt=""><figcaption></figcaption></figure>

### Cross Margin Trading

Trading on Levo uses cross margin and so positions can be used against one another. This means that your portfolio serves as collateral against your positions. This helps to improve the capital efficiency of your trading experience on Levo.

### The main benefits of this are:

* Improved capital efficiency&#x20;
* Reduced margin requirements&#x20;
* Position offsetting


# Trading Tutorial

### Step-by-Step Trade Execution

1. Go to the trade page: Navigate to the Trade section in IVX.
2. Select trading asset: Choose an asset like $BERA, $ETH or $BTC.

<figure><img src="/files/XUiw19UXRvLPkE2fOPtV" alt=""><figcaption></figcaption></figure>

3\. Set Leverage & Amount

* Choose your leverage level
* Pick a trade direction: Long / Short
* Enter the trade amount manually or use a percentage reference
* A live quote will be shown for execution

4. &#x20;Choose Order Type

* Market Order: Executes immediately at the current market price but may experience slippage
* Limit Order: Executes only when the market reaches your chosen price

\
The order remains active until filled or canceled manually

<figure><img src="/files/XOALTBmzONyVWCl4EvUW" alt=""><figcaption></figcaption></figure>

5. Execute Trade&#x20;

Click the Execute button to confirm your trade, the solver network will pick up the trade and it will be executed on your behalf

6. Confirm in Wallet

Approve the transaction in your Web3 wallet (requires $BERA for gas fees).

7. Trade Live

Your trade is now active and will reflect in your portfolio.

During this period, the position will appear in the pending tab, and only once executed by the solver network your position will fall under "Positions" tab

<figure><img src="/files/Ee4yPffKiJtmnfpYV40w" alt=""><figcaption></figcaption></figure>

### Monitoring and Managing Open Positions

Once your trade is live, you can track it under "Positions" on IVX.\
\
\- View Real-Time PNL: Check your unrealized profit & loss (unPNL)\
\- Close Trade: Exit your position anytime via Close Position

{% hint style="info" %}
&#x20;Risk Warning: If your margin falls below the maintenance level, your position may be liquidated automatically.
{% endhint %}


# $IVX Economics


# $IVX Tokenomics

### $IVX Token

$IVX is the native IVX token with a fixed total supply of 100,000,000 tokens that lives on the Berachain Network, where it maintain and gains value from IVX product suite

### Token Distribution

<table><thead><tr><th width="203.03125">Round</th><th width="163.99609375">Percentage Allocation</th><th>                                      Vesting Schedule </th></tr></thead><tbody><tr><td>Seed Round</td><td>8.1619%</td><td>8% at TGE - 23 Month linear vesting</td></tr><tr><td>Strategic Round (20% premium to Public round price)</td><td>2.9781%</td><td>50% at TGE - 6 Month linear vesting</td></tr><tr><td>Airdrop 1</td><td>4.2%</td><td>3 Month linear vesting</td></tr><tr><td>Advisors</td><td>2.5%</td><td>3 month cliff - 24 month linear vesting</td></tr><tr><td>Team</td><td>20%</td><td>3 month cliff - 7.5% unlock - 24 month linear vesting</td></tr><tr><td>Market Making - Initial LP - CEX listings</td><td>4.5%</td><td>Unlocked at TGE</td></tr><tr><td>Community - Incentives</td><td>56.6%</td><td>2.5% Net unlock - 48 Month linear vesting</td></tr><tr><td>Public Round</td><td>1.15%</td><td>100% Unlocked at TGE</td></tr></tbody></table>

### Token Use Case

#### Smart Buybacks

All of IVX products suite aim to provide value towards stake holders through specific buy backs from each product:&#x20;

* 30% of Diem 0dte market
* 70% from perps market
* 50% from upcoming markets in the future

Smart buybacks enable the IVX treasury to perpetually purchase [$IVX](https://x.com/search?q=%24IVX\&src=cashtag_click) at discounted prices below the 30 day mean price. This enables a number of benefits including an ongoing purchase on the [$IVX](https://x.com/search?q=%24IVX\&src=cashtag_click) token at depressed prices, but also a trend-based bid that can enable buying momentum on [$IVX](https://x.com/search?q=%24IVX\&src=cashtag_click) itself.

#### Product Advantage

IVX users are able to leverage their token holding to gain advantage in multiple unique features in IVX markets:&#x20;

* Discounted Fees
* Governance upon listing and removing assets
* Boosted rewards on twIVLP

And many unique features that will only be publicly shared with token holders

<figure><img src="/files/wi9CBmBJPTtmJ1o72KP9" alt=""><figcaption></figcaption></figure>


# Option Call as Incentives ($oIVX)

IVX will be adopting option call emissions as an incentive mechanism for liquidity providers, traders, and Berachain validators as a design to align the interests of all parties within the protocol. This approach aims to facilitate and bootstrap and initial growth of the IVX protocol while offering sustainable rewards for all IVX ecosystem participants.&#x20;

The work will be in collaboration with [Bond Protocol](https://www.bondprotocol.finance/)

<figure><img src="/files/ox1NgvART3DKOrK7qusA" alt=""><figcaption></figcaption></figure>

### A small recap on Options Liquidity Mining (OLM)

OLM is an innovative mechanism first introduced in 2020 by builder [@AndreCronjeTech](https://x.com/@AndreCronjeTech), where unlike traditional incentive models that distribute ERC-20 tokens directly, OLMs incentives participants through option calls.

### What does this mean?

As an IVX participant, you will receive ERC-20 call options, which can be redeemed for the actual ERC-20 token at a fixed price, discounted from the spot price. For example, if the token’s market price is $1.00 and you receive an option call token at $0.40, you have the ability to exercise this option by paying $0.40. This allows to acquire 1 token worth of $1.00 and therefore netting an instant profit of $0.60.![](blob:https://x.com/4adf3413-634a-433b-ad23-5eef84414426)EditProvide a caption (optional)

<figure><img src="/files/Gi2VtSf4xPOJHLJvWFKm" alt=""><figcaption></figcaption></figure>

### Why [$oIVX](https://x.com/search?q=%24oIVX\&src=cashtag_click) ?

This approach offers several strategic long-term advantages for both IVX users and contributors. It allows IVX to continue incentivizing protocol usage and liquidity provision while ensuring the token emitted resembles a minimal floor value, strengthening IVX's protocol owned liquidity.

The IVX treasury can manage token inflation through [$oIVX](https://x.com/search?q=%24oIVX\&src=cashtag_click) emissions without exceeding the limit of the vested duration and with that ensuring lower inflation in times of reduced need, and increasing inflation in time of need, without surpassing the maximum inflation permitted.

Funds collected will be used to support protocol expansion, deepen liquidity, and increase user incentives:

* [$IVX](https://x.com/search?q=%24IVX\&src=cashtag_click)/$HNY and[$IVX](https://x.com/search?q=%24IVX\&src=cashtag_click)/$BERA secondary liquidity
* Reutilization to deepen trading liquidity through IVLP, the native AMM liquidity provision for Diem
* Seed future AMMs and vaults introduced by IVX
* Aquire strategic tokens in Berachain ecosystem ($vIRED, [$xKDK](https://x.com/search?q=%24xKDK\&src=cashtag_click), [$BGT](https://x.com/search?q=%24BGT\&src=cashtag_click) and other BGT derivatives) which can be used to enhance usage through their own benefits
* Future buybacks of the[$IVX](https://x.com/search?q=%24IVX\&src=cashtag_click) token or/and acquisition of new licensed products

<figure><img src="/files/twTDh3LUIl6lcDYy7N9X" alt=""><figcaption></figcaption></figure>


# APIs

Base URL: https\://api.ivx.fi/v1/api

**1. Get Current Epoch Info**

**GET** `/options/current-epoch-info`

**Response**

Copy

```
{
  "status": "success",
  "data": {
    "id": 56,
    "startTimestamp": 1744790400,
    "endTimestamp": 1744876800
  }
}
```

***

**2. Get Tradable Tokens**

**GET** `/options/tradable-tokens`

**Response**

Copy

```
{
  "status": "success",
  "data": [
    {
      "address": "0x2F6F07CDcf3588944Bf4C42aC74ff24bF56e7590",
      "symbol": "WETH",
      "image": "https://ivx-fi.s3.eu-west-1.amazonaws.com/eth.png",
      "name": "WETH",
      "buyFactors": {
        "settlementFeeRate": 0.0003,
        "riskFreeRate": 0.05,
        "maintenanceMarginRate": 0.15,
        "minPremiumPriceRate": 0.0001,
        "initMaintenanceMarginRate": 0.1,
        "openOptionFactor": 0.16,
        "openPriceFactor": 0.002,
        "closeOptionFactor": 0.16,
        "closePriceFactor": 0.0003,
        "minOpenCloseFee": 30,
        "maxPnlRate": 7.2,
        "minNumberOfContracts": 0.1,
        "maxNumberOfContracts": 200
      },
      "sellFactors": {
        "settlementFeeRate": 0.0001,
        "riskFreeRate": 0.05,
        "maintenanceMarginRate": 0.15,
        "minPremiumPriceRate": 0.0001,
        "initMaintenanceMarginRate": 0.15,
        "openOptionFactor": 0.16,
        "openPriceFactor": 0.0005,
        "closeOptionFactor": 0.16,
        "closePriceFactor": 0.0001,
        "minOpenCloseFee": 3,
        "maxPnlRate": 7.2,
        "minNumberOfContracts": 0.1,
        "maxNumberOfContracts": 200
      },
      "price": 1589.02197012
    },
    {
      "address": "0x0555E30da8f98308EdB960aa94C0Db47230d2B9c",
      "symbol": "WBTC",
      "image": "https://ivx-fi.s3.eu-west-1.amazonaws.com/btc.png",
      "name": "Wrapped BTC",
      "buyFactors": {
        "settlementFeeRate": 0.0003,
        "riskFreeRate": 0.05,
        "maintenanceMarginRate": 0.15,
        "minPremiumPriceRate": 0.0001,
        "initMaintenanceMarginRate": 0.1,
        "openOptionFactor": 0.16,
        "openPriceFactor": 0.002,
        "closeOptionFactor": 0.16,
        "closePriceFactor": 0.0003,
        "minOpenCloseFee": 100,
        "maxPnlRate": 7.2,
        "minNumberOfContracts": 0.01,
        "maxNumberOfContracts": 7.5
      },
      "sellFactors": {
        "settlementFeeRate": 0.0001,
        "riskFreeRate": 0.05,
        "maintenanceMarginRate": 0.15,
        "minPremiumPriceRate": 0.0001,
        "initMaintenanceMarginRate": 0.15,
        "openOptionFactor": 0.16,
        "openPriceFactor": 0.0005,
        "closeOptionFactor": 0.16,
        "closePriceFactor": 0.0001,
        "minOpenCloseFee": 10,
        "maxPnlRate": 7.2,
        "minNumberOfContracts": 0.01,
        "maxNumberOfContracts": 7.5
      },
      "price": 85101.004
    },
    {
      "address": "0x6969696969696969696969696969696969696969",
      "symbol": "WBERA",
      "image": "https://ivx-fi.s3.eu-west-1.amazonaws.com/bera.png",
      "name": "Wrapped Bera",
      "buyFactors": {
        "settlementFeeRate": 0.0003,
        "riskFreeRate": 0.05,
        "maintenanceMarginRate": 0.25,
        "minPremiumPriceRate": 0.0001,
        "initMaintenanceMarginRate": 0.1,
        "openOptionFactor": 0.25,
        "openPriceFactor": 0.002,
        "closeOptionFactor": 0.25,
        "closePriceFactor": 0.0003,
        "minOpenCloseFee": 0.05,
        "maxPnlRate": 7.2,
        "minNumberOfContracts": 1,
        "maxNumberOfContracts": 300
      },
      "sellFactors": {
        "settlementFeeRate": 0.0001,
        "riskFreeRate": 0.05,
        "maintenanceMarginRate": 0.25,
        "minPremiumPriceRate": 0.0001,
        "initMaintenanceMarginRate": 0.15,
        "openOptionFactor": 0.25,
        "openPriceFactor": 0.0005,
        "closeOptionFactor": 0.25,
        "closePriceFactor": 0.0001,
        "minOpenCloseFee": 0.005,
        "maxPnlRate": 7.2,
        "minNumberOfContracts": 1,
        "maxNumberOfContracts": 300
      },
      "price": 3.67379794
    }
  ]
}
```

***

**3. Get Active Strikes for a Token**

**GET** `https://api.ivx.fi/options/active-strikes`

**Query Parameters**

* `tokenAddress` (required): Address of the token.

**Response**

Copy

```
{
  "status": "success",
  "data": [
    1600
  ]
}
```

***

**4. Get Opened Positions**

**GET** `/options/opened-positions/{portfolioAddress}`

**Response**

Copy

```
{
  "status": "success",
  "data": {
    "updatedPositionsResponse": [
      {
        "positionId": "0x42cee95ce86d591e1c902a659d3bfe5f9e72d8eeb0f430d446d2708d8ff35aa3",
        "position": {
          "optionId": "0x731a918d6fc950d92af5410f3cdcb2ea90afdd7b0b706c0530cec8cee75439a0",
          "positionAction": 0,
          "positionType": 0
        },
        "option": {
          "token": "0x6969696969696969696969696969696969696969",
          "tokenImage": "https://ivx-fi.s3.eu-west-1.amazonaws.com/bera.png",
          "tokenSymbol": "WBERA",
          "strikePrice": 3.75,
          "expireDate": 1744876800,
          "buyFactors": {
            "settlementFeeRate": 0.0003,
            "riskFreeRate": 0.05,
            "maintenanceMarginRate": 0.25,
            "minPremiumPriceRate": 0.0001,
            "initMaintenanceMarginRate": 0.1,
            "openOptionFactor": 0.25,
            "openPriceFactor": 0.002,
            "closeOptionFactor": 0.25,
            "closePriceFactor": 0.0003,
            "minOpenCloseFee": 0.05,
            "maxPnlRate": 7.2,
            "minNumberOfContracts": 1,
            "maxNumberOfContracts": 300
          },
          "sellFactors": {
            "settlementFeeRate": 0.0001,
            "riskFreeRate": 0.05,
            "maintenanceMarginRate": 0.25,
            "minPremiumPriceRate": 0.0001,
            "initMaintenanceMarginRate": 0.15,
            "openOptionFactor": 0.25,
            "openPriceFactor": 0.0005,
            "closeOptionFactor": 0.25,
            "closePriceFactor": 0.0001,
            "minOpenCloseFee": 0.005,
            "maxPnlRate": 7.2,
            "minNumberOfContracts": 1,
            "maxNumberOfContracts": 300
          }
        },
        "numberOfContract": 1,
        "pnl": -0.001561312898637815,
        "maintenanceMargin": 0.04703527245926575,
        "premiumPrice": 0.04437598956062794,
        "tokenPrice": 3.6599,
        "impliedVolatility": 1.30981909,
        "avgEntryPrice": 0.04593730245926576,
        "closeFee": 0.00109797
      }
    ],
    "requireSettlement": false
  }
}
```

***

**5. Get Option Premium Details**

**GET** `/options/option-premium`

**Response**

Copy

```
{
  "status": "success",
  "data": {
    "premiumPrice": "0.042853988245505625",
    "initialMaintenanceMargin": "0.05565694452985619",
    "fees": "0.00731120812",
    "volatility": "1.30981909"
  }
}
```

<br>


