# Introducing Stryke

Stryke builds on the innovative foundation laid by Dopex, focusing purely on enhancing options trading and liquidity provision in the DeFi space. With tools like CLAMM, it makes trading onchain options intuitive and effortless. The platform’s design facilitates easy cross-chain options trading, aiming to maximize liquidity, minimize losses for option writers and maximize gains for option buyers — all in a passive manner.

## **Legacy Recap**

Originating from Dopex, Stryke carries forward a rich history marked by success in options products and community engagement. Over two years, it introduced a range of options products, cementing its place as a leader in the LPDfi space.

## **Introducing Stryke**

Transitioning into Stryke signifies a strategic shift towards a more efficient and streamlined operational model. One that focuses on designing and developing cutting edge options products. As a result, moving forward, the product suite will leverage cross-chain functionality to reduce complexity, making powerful option trading mechanisms like CLAMM more accessible to a broader audience.&#x20;

## **Token Summary**

The introduction of the SYK token is central to Stryke’s ecosystem, designed to underpin the platform's features and user rewards. It serves as the key to a wide array of utility and interaction within the platform, ensuring participants benefit directly from the ecosystem's growth and success.

## **Vision**

Stryke aims to redefine Options Trading by making onchain options products user-friendly and widely accessible. Our goal is to create a product suite where innovation meets practicality, driving forward the future of LPDfi options products for users around the globe.


# Product Overview (CLAMM)

### Overview

Stryke’s **CLAMM (Concentrated Liquidity Automated Market Maker)** combines liquidity provision and options trading within a single framework. It builds on the same principles as Uniswap V3, using range based liquidity and tick precision to improve capital efficiency across markets.

### Based on Uniswap V3

CLAMM follows the Uniswap V3 approach, allowing liquidity providers (LPs) to allocate capital within specific price ranges. This targeted liquidity placement improves fee generation where trading activity is concentrated. However, LPs must manage exposure carefully, as impermanent loss can occur when prices move outside their selected range. The same precision that benefits LPs also strengthens options trading, where defined price bands and timing are essential.

### For Liquidity Providers

LPs earn from two primary sources:

* **Swap Fees:** Collected from trades occurring within their selected range.
* **Option Premiums:** Earned when their liquidity is used to back options contracts.

Unutilised liquidity can also be deployed for options, allowing LPs to generate returns on otherwise idle capital. Balancing range width and position management helps maximise potential yield while maintaining control over risk.

### For Traders

Traders benefit from deep, concentrated liquidity that ensures tighter spreads and consistent pricing. This setup allows for more predictable trade execution and supports advanced strategies such as hedging, arbitrage, and directional positioning.

### Liquidity and Options in One System

CLAMM merges liquidity provision and options trading in one cohesive design.\
It enables LPs to earn multiple revenue streams while giving traders access to precise, capital efficient markets.

### CLAMM Feature Summary: Security

CLAMM includes protections against **price manipulation** and **front running**.\
All trading and liquidity operations are handled through secure, audited smart contracts designed to ensure user safety and transaction integrity.

### CLAMM Feature Summary: User Interface

The CLAMM interface is structured for clear navigation and control:

* **LP Visuals:** Help liquidity providers monitor and optimise positions based on asset performance.
* **Two Trader Views:**
  * **Options Chain Mode:** Browse and select available options.
  * **Price Chart Mode:** Track asset price movement and market behaviour.

Users can switch seamlessly between both views to analyse and execute trades. For a step by step guide on using the interface, you can refer to the [UI Walkthrough](/ui-walkthroughs/clamm-walkthrough) to learn how to provide liquidity and trade options on CLAMM.

### CLAMM Feature Summary: Cross Chain Capabilities

CLAMM operates across multiple chains, allowing both traders and liquidity providers to participate from their preferred ecosystem.

| Token   | Chain    |
| ------- | -------- |
| ETH/USD | Arbitrum |
| BTC/USD | Arbitrum |


# For Option Traders

### Overview

This section explains how options trading works within Stryke’s **Concentrated Liquidity Automated Market Maker (CLAMM)**. It covers expiries, strike selection, exercising mechanisms, and the pricing model based on implied volatility (IV). The CLAMM interface supports both quick trade execution and detailed strategy management for all levels of traders.

### Option Expiries

CLAMM supports two fixed expiry types for consistency and predictable trading cycles:

* **Dailies:** Expire at **08:00 UTC every day**.
* **Weeklies:** Expire at **08:00 UTC every Friday**.

After each expiry, a **blackout period** of up to **two hours** occurs.\
During this time, trading is paused so liquidity providers can rebalance their positions before the next trading cycle begins. This approach simplifies expiry management for traders and ensures smooth liquidity transitions across markets.

### Trading on UniV3 Ticks

Options are traded on **Uniswap V3 ticks**, allowing for precise strike selection and efficient use of liquidity. This structure ensures tighter pricing, better execution, and improved capital utilisation compared to traditional options models.

### Interface Modes

The CLAMM trading interface offers two modes for better control and visibility:

* **Options Chain Mode:** View available options by strike and expiry to select contracts directly.
* **Price Chart Mode:** Monitor live price movement, volatility, and market trends to make informed trading decisions.

Both modes can be toggled seamlessly, allowing traders to analyse and execute trades within a single interface.

### Strike Selection

Traders can choose from a wide range of strike prices for both call and put options.\
This flexibility allows users to structure positions that reflect their market outlook and risk preference. All strike levels are derived from CLAMM’s tick based price system for precision.

To see how to navigate the interface and execute trades, visit the [UI Walkthrough](/ui-walkthroughs/clamm-walkthrough) for a detailed guide on trading options through CLAMM.

### Exercising Options

**Manual Exercise**

Options can be exercised manually at any time before expiry, giving traders full control over when to settle their positions.

**Auto Exercise at Expiry**

Options are automatically exercised **after expiry**, and the exact execution time may vary depending on market conditions. This ensures that in the money (ITM) options are settled efficiently without requiring any manual action from the trader.

### Fees

A **15% fee** is charged on the option premium when purchasing options through CLAMM.\
No fees are applied for adding or managing liquidity. All applicable fees are shown in the interface before confirming a trade. For more details, see the [Protocol Fees](/tokenomics/protocol-fees) page.

### Volatility and Pricing

CLAMM uses the **Black Scholes model** to determine option prices.\
Implied volatility (IV) is sourced from real time market data through onchain oracles, ensuring pricing remains accurate and responsive to market conditions.\
This system allows traders to make informed decisions using live volatility inputs rather than static assumptions.


# For Liquidity Providers

### Overview

This section explains how liquidity providers (LPs) participate in Stryke’s **Concentrated Liquidity Automated Market Maker (CLAMM)**. It outlines how liquidity interacts with options, how earnings are calculated, and how LPs can manage and monitor their positions.

### How CLAMM Uses Uniswap V3

**Uniswap V3 Overview**\
Uniswap V3 allows LPs to allocate liquidity within specific price ranges instead of spreading it across the full price curve. This approach increases capital efficiency and enables LPs to focus liquidity where most trading occurs.

**Integration in CLAMM**\
CLAMM builds on this concept by linking liquidity to options markets. When liquidity within a price range is used for an options contract, it temporarily leaves the pool until the contract expires or is exercised. During this period, LPs earn both swap fees and option premiums.

### Utilised Ticks and Options

Liquidity tied to options is isolated from standard pool liquidity while the contract is active.\
This separation allows for transparent accounting and clear tracking of earnings from both liquidity provision and options activity. Once the option expires or is exercised, the liquidity automatically returns to the pool.

### Supported Markets and Chains

CLAMM operates across multiple chains, providing access to a wide range of markets.

| **Chain** | **Available Markets** |
| --------- | --------------------- |
| Arbitrum  | WBTC/USD, WETH/USD    |

### Earnings and Incentives

CLAMM’s distribution system is designed to reward consistent and efficient liquidity provision.

* **Premium Distribution:** Premiums are calculated offchain and claimable via a **Merkle distributor** within the app.
* **Eligibility:** Rewards are based on **liquidity amount** and **time active** in the pool.\
  If an LP withdraws liquidity while it is in use, the position is marked as **forfeited** until redeposited.
* **Efficiency Rewards:** LPs who maintain stable liquidity aligned with market demand earn higher rewards.
* **Swap Fees:** Distributed in the same way as other DEXs, but also influenced by deposit amount and duration.
* **Earnings Cycle:** All earnings update every **24 hours at 08:00 UTC (+2 hours buffer)**.\
  LPs can claim rewards after each update window.

This mechanism ensures a fair distribution model that favours long term, consistent participation.

### LP Dashboard

The LP dashboard provides full visibility and control over liquidity positions:

* Detailed position level data across markets and expiries.
* Tools to manage deposits, withdrawals, and claims.
* Performance charts to assess capital utilisation and efficiency.

This enables LPs to monitor performance in real time and adjust their strategy when needed.

### Hooks

Hooks let LPs automate specific actions, such as:

* Avoid selling options during low volatility periods.
* Restrict option sales to selected timeframes.
* Limit sales below a defined premium threshold.
* Token gate liquidity access to specific holders.

LPs can build or customise hooks using Stryke’s API documentation or by contacting the team through official channels on Discord or Twitter.

### Security

All liquidity operations (including deposits, withdrawals, and claims) are executed through secure, audited transaction flows. This ensures reliability and protection of user funds at every stage.

### Additional Information

Future documentation will include reference examples, historical LP performance data, and comparisons between different markets to help users refine their liquidity strategies.\
\
For practical instructions on adding liquidity, managing positions, and claiming rewards, see the [UI Walkthrough](/ui-walkthroughs/clamm-walkthrough) section for a complete walkthrough of the CLAMM interface.


# SYK Token

This detailed overview covers the SYK token's economics, including supply details, the emission program designed to sustain and grow the Stryke ecosystem.

## SYK Token Fundamentals

**Total Supply**: 100 million SYK tokens

**Initial Circulating Supply at Merge**: Approximately 47.8 million tokens, derived from the conversion ratios applied to DPX and rDPX circulating supplies.

## Emission Program

The emission program for SYK tokens is structured to provide a sustainable growth model for the ecosystem:

**Total Un-emitted Tokens:**&#x20;

* Post-merge, 52.2 million tokens are allocated for strategic emissions over time.

**Annual Inflation Rate\***:&#x20;

* Approximately 3%, ensuring a controlled increase in token supply.

**Distribution\***:

* 60% for reward gauge emissions across various products, enhancing participation incentives.
* 30% dedicated to bonding mechanisms to increase protocol-owned liquidity.
* 10% allocated to a protocol grant system, supporting community-driven projects and innovation within the ecosystem.

## Utility and Economic Model

### **Token Utility**

SYK tokens are instrumental in the Stryke ecosystem, serving multiple functions including incentives for liquidity providers, payment of transaction fees within the platform, and a medium for settlements in options trading.

### **Economic Integration**

The tokenomics model is designed to encourage active participation in the ecosystem, rewarding users for their contributions through various mechanisms such as liquidity provision and trading activities.

## Migration Strategy

The strategy aims to ensure a smooth transition to SYK tokens for all users, facilitated by a smart contract enabling the minting of SYK tokens according to the finalized ratios. This migration contract will be operational for 1.5 years post-deployment, with a potential extension to accommodate all stakeholders.

## Token Distribution and Utilization

The strategic allocation of SYK tokens includes a substantial commitment to the protocol treasury and emissions, ensuring long-term sustainability and growth. Distribution tokens, including SYK, enable versatile fee management and reward mechanisms, pivotal for the economic activities within the platform.

## Cross-Chain Capabilities

The SYK token is designed with cross-chain functionality in mind, ensuring that stakeholders can seamlessly engage with Stryke’s offerings across various blockchain environments. This fosters a more integrated and accessible ecosystem.

*(\*) Token Annual Inflation Rate & Distribution are subject to change based on Stryke governance updates.*&#x20;

#### **\_**

#### **Note: The following section "DPX TO SYK Migration" is applicable to holders of DPX tokens**

#### **DPX to SYK Migration Details**:

#### **Date and Process**

The migration commenced with the token rebranding initiative, transitioning DPX and rDPX tokens to SYK based on predefined conversion ratios. This process was carefully designed to ensure a seamless transition for existing token holders.

Details for the token migration are specified in detail [here](https://blog.stryke.xyz/articles/syk-is-here).

#### **Conversion Ratios**

1 DPX will be converted to 100 SYK, and 1 rDPX to 13.333 SYK, balancing the value transition from the old tokens to the new SYK token.


# xSYK Token

xSYK tokens emerge from locking SYK tokens into a staking mechanism, a process designed to incentivise long-term holding and deeper ecosystem participation. For every SYK staked, one xSYK is issued, marking a 1:1 conversion rate.

## **Redemption Process**

The xSYK framework introduces a distinctive redemption mechanism designed to balance liquidity provision with long-term ecosystem advantages:

**Overview:** SYK holders can lock up their tokens in the xSYK framework to earn yield. To redeem these tokens, holders must vest their xSYK for a period ranging between a minimum and maximum designated time.

### **Vesting Period Details:**

* Minimum Vesting Period (MIN): Holders who vest their xSYK for at least 7 days can redeem 50% of their SYK after this period. *Vested xSYK does not earn rewards. The user will need to claim the SYK after the vesting ends.*
* **Maximum Vesting Period (MAX):** For those who choose to vest their xSYK for 6 months, they will be eligible to redeem 100% of their SYK at the end of this period.

***Impact:*** The redemption timeframe and the corresponding return of SYK are contingent upon the chosen vesting period. Opting for the minimum period results in partial redemption of the invested SYK, while the maximum period allows for full redemption. This structured approach incentivizes prolonged engagement within the ecosystem and affects liquidity dynamics by controlling the release of SYK tokens. In summary, the amount of SYK available to the user while converting back from xSYK, is determined based on the vesting period chosen by the user.&#x20;

## Emission Strategy

A core component of the xSYK proposition is its role in the broader emission strategy of the SYK token, designed to ensure a sustainable and growth-oriented ecosystem. The specifics of this strategy are delineated in the SYK token overview, emphasizing controlled inflation and strategic token distribution.

## Incentives for Holding xSYK

Holding xSYK tokens unlocks a series of incentives aimed at rewarding long-term participation and alignment with the ecosystem’s growth:

* **Reward Gauges**: xSYK holders gain the ability to influence the allocation of emissions, directing rewards to areas within the ecosystem where they see the most potential for growth.
* **Enhanced Returns**: The incentive structure rewards longer lock-up periods with potentially higher returns, aligning stakeholder incentives with the long-term success of the Stryke platform.

## Strategic Benefits

The introduction of xSYK is strategically positioned to bolster the Stryke ecosystem by:

* Encouraging long-term holding patterns among SYK stakeholders, thus promoting ecosystem stability.
* Enhancing the utility of SYK through staking rewards and governance participation.
* Facilitating a broader distribution of rewards that align with ecosystem participation and contribution.

***\*Note:*** Holders of veDPX can convert their tokens to xSYK here: <https://www.stryke.xyz/en/xsyk>


# Reward Gauges

Reward gauges are a core mechanism within Stryke, designed to dynamically allocate emissions and incentives to different components and participants based on engagement and contribution. This system ensures that rewards align with Stryke’s overall health and growth.

## Functionality

* **Purpose:** Reward gauges direct the flow of incentives to liquidity pools, staking programs, and other activities essential for Stryke’s growth and sustainability.
* Operation: xSYK token holders can vote on reward allocations. This ensures that distribution is community-driven and reflects the priorities of active participants.

## Allocation

* **Flexible Distribution:** The proportion of rewards allocated via gauges can be adjusted dynamically, allowing for strategic shifts based on Stryke’s evolving needs.
* **Transparency:** All reward allocations and adjustments are recorded onchain, providing clear visibility into it's distribution mechanism and ensuring fairness.

## Strategic Importance

* **Protocol Health:** Reward gauges help optimize liquidity, encourage participation, and enhance overall platform stability.
* **Adaptability:** The system is designed to respond quickly to market conditions, keeping Stryke competitive while ensuring stakeholders remain incentivized.

## Official Contract Addresses

Reward gauges are integral to emission and incentive distribution within Stryke. To ensure **security and transparency**, users should verify the official contract addresses before interacting with them.

* **Gauge Controller:** `0x82C13fCab02A168F06E12373F9e5D2C2Bd47e399`
* **PCS WETH Gauge:** `0x640d0AE13dbf652b354FA3A099a2d2a369F957E7`
* **PCS WBTC Gauge:** `0x2055CDBFd587cDC6CEB8041d3A1B274eA0F6A6Ff`
* **Orange PCS WETH/USDC Gauge:** `0x78F874b79C144139125a253fc8130d35BbB66825`
* **Orange PCS WBTC/USDC Gauge:** `0xe68161C93A241012ABcfcE8e3AB74Ad55a96b98f`
* **Orange PCS ARB/USDC Gauge:** `0x6B8E05cA2A6bd2E8b208B98F7b136E45Da5DAb63`

These addresses serve as the foundation for reward distribution, ensuring that incentives are allocated efficiently and securely within the Stryke ecosystem.

***(Note:** The Reward Gauges epoch resets every Thursday at 6:00 PM UTC.* \
*Updated 6th May 2025)*


# Protocol Fees

Stryke’s protocol fees are a key component of maintaining liquidity and ensuring the sustainability of CLAMM. This page explains how fees are applied and how they contribute to the protocol’s growth.

### **Fee Application**

Protocol fees are currently charged **only on option purchases** made through CLAMM.

* **Buying Options:** A fee of **15%** is applied when users purchase options.
* **Liquidity Provision:** No fees are charged for providing or managing liquidity positions.

### **Fee Allocation**

All protocol fees are directed towards supporting the continued growth and development of Stryke.\
This helps maintain a sustainable ecosystem and strengthen the protocol’s long term stability.


# CLAMM Walkthrough

Stryke is designed for options traders at all levels, offering a comprehensive suite of tools for trading options and managing liquidity. This walkthrough provides a step-by-step guide to navigate and utilize the key features of Stryke's CLAMM product.


# Connect Wallet

**Access the App**\
Visit the Stryke landing page and click on **“Launch App”** located at the top right corner of the page.

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

**Connect Your Wallet**\
After clicking **“Launch App”**, you’ll be redirected to the **Earn** page. Click on the **“Connect Wallet”** button at the top right corner to link your preferred wallet and access CLAMM's features.

<figure><img src="/files/kgtCXjxfGCVzg1D85gxj" alt=""><figcaption><p>Click on Connect Wallet</p></figcaption></figure>

<figure><img src="https://lh7-us.googleusercontent.com/VVj0MuhCglI3V02SqcEE3DbjpvqbhKejnjPw9ca9FjPEopZVRaBK_t4F-etEIkiE6Mdc60fStZ9OVcF8K-OZHYmQ2jdrWc-02TK9lLqcvt0oa1l7eQ485oLeoGsT_raxQ3nQAryvzFusF_ehWkQNnzA" alt="" width="375"><figcaption><p>Select your Preferred Wallet and Proceed</p></figcaption></figure>


# Navigate UI

Explore the UI\
To explore different sections of Stryke's dApp, click on the two arrows (**>>**) icon on the left side of the interface to expand the navigation menu.&#x20;

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

From there, select the relevant page based on your requirements:

* **Earn:** Earn passively from swap fees and option premiums by providing liquidity to markets.
* **Options:** Select relevant markets, trade options, and track open positions.
* **xSYK:** Convert SYK to xSYK, redeem xSYK, and manage your xSYK plugin allocations.
* **Stake xSYK:** Stake your xSYK to earn rewards.&#x20;
* **Gauges:** Vote for gauges with your xSYK and determine the reward distribution across markets.
* **Leaderboard:** Track Stryke’s top performing traders over time.
* **Bridge:** Bridge tokens between supported chains.<br>

<figure><img src="/files/fu8svnRrb48P3JGyOSBo" alt=""><figcaption><p><strong>Expand the menu and select your desired page to navigate through the dApp.</strong></p></figcaption></figure>


# Trade Options

From the side menu, select **Options** to access the trading interface where you can choose markets, trade options, and view positions.

<figure><img src="/files/ugzFmncf6Ch8BGT5aVnc" alt="" width="250"><figcaption></figcaption></figure>

### **Purchasing Options**

The trade page features a token pair chart (powered by TradingView) at the top, along with call and put strike prices at the bottom. Browse through the list of available options, which are presented based on the existing liquidity.&#x20;

<figure><img src="/files/6ORLFHeAvQn86wqIjlOp" alt=""><figcaption><p>Trade Page Features Summarised</p></figcaption></figure>

Expand or collapse sections as needed and scroll to view different options. To initiate a trade, check the box next to the desired strike price(s) to add them to the trade tab. Select the expiry time and specify the quantity of options you wish to purchase.&#x20;

***Enable the “Auto Exercise” toggle if you want the system to automatically exercise the option at expiry without your manual intervention.***

<figure><img src="https://lh7-us.googleusercontent.com/CJllTfOYyHdi2Rx5-Ax4rHaf2JY4pGGKs7SOy0z92-NT4v-Rf9Z9yDuyOoPzxxJlNSAdGwJCRtR3UUjo64ABRvEB6bGSFcef8trGjufQcJfpuwHhCOqpiIRHvQCg3ankAvdnmJZEeVF1TB0J5klnlKg" alt="" width="375"><figcaption><p>Purchasing an Option</p></figcaption></figure>

### **Managing and Exercising Positions**

View your current positions under the “Buy Position \[B]” section adjacent to the Option Chain. To exercise a profitable position at any time, select it and click on the “Exercise” button.&#x20;

<figure><img src="/files/OLUXek91OYSLiysMBUVx" alt=""><figcaption><p>Managing Existing Positions</p></figcaption></figure>

Review your trading history by clicking on the “Trade History \[H]” section.

<figure><img src="/files/9uRFUvQogt6KVcnb0AjC" alt=""><figcaption><p>Consolidate View of Past Trade History</p></figcaption></figure>


# Limit Exercise

### Steps to Use[ Limit Exercise](/products-overview/product-overview-clamm/for-option-traders#limit-exercise) on CLAMM

1. **Navigate to the Trading Page**
   * Once you're connected to CLAMM, navigate to the **Trade** page.
   * Here, all available option markets are displayed.
2. **Set Up Your Position**
   * Set up a position on CLAMM based on your preferences, such as market, timeframe, and other parameters.
   * For detailed steps on trading on CLAMM, refer to the [Trade Options Walkthrough](/ui-walkthroughs/clamm-walkthrough/trade-options).
3. **Set Up Limit Exercise**

   * Look for the **Limit Exercise** column under the **Buy Positions** section.
   * Click the **Edit** button to set your desired exit or target price, at which the option will be automatically exercised.

   <figure><img src="/files/tN1pS1jyApNzcpSOkKzG" alt=""><figcaption><p>Setting up a Limit Exercise Order on an open position.</p></figcaption></figure>
4. **Confirm the Limit Exercise Order**

   * Verify the entered details, including:
     * Target price and strike price
     * PnL estimate
     * Position side and size
   * Click **Confirm** to save and activate your Limit Exercise order.
   * Once the limit order is successfully set up, you’ll receive a confirmation pop-up.

   <figure><img src="/files/3R9MiLx3WHKxUtOmY5Ar" alt=""><figcaption><p>Confirming the Limit Exercise order.</p></figcaption></figure>

#### What Happens Next?

* The Limit Exercise feature has now been set up successfully.
* The position will be automatically exercised by CLAMM once the target price is hit for the position you set up.

<figure><img src="/files/5YOp4YWiUajD8ymfU8yP" alt=""><figcaption><p>Confirmation that the Limit Exercise order is now setup.</p></figcaption></figure>


# Provide Liquidity

### **Liquidity Provision**

To add liquidity, navigate to the “Liquidity Provision” section on the trade page, select a range of your choice, and provide liquidity into the AMM of your choice.&#x20;

<figure><img src="https://lh7-us.googleusercontent.com/vJhF0giEoR34XWWbHVFRxsCFd3ObQqiMKJO8NShrIYWopU4FoBsljrCTOYTshyE6k7nVy1z2CXEYCrc8CLNu1liqaSDt7RJYOFyv3wJ2YH_letktFjjBn70KTwtjOcCs-HUQXjpg3Z7EhCmp2npFfWg" alt="" width="375"><figcaption><p>Providing Liquidity for a Predefined Range</p></figcaption></figure>

Every AMM has a different reward rate, to check the respective AMM rates click [here](https://merkl.angle.money/?chain=42161).

<figure><img src="/files/s4gVdqDfjgC5QgYAW0op" alt=""><figcaption><p>Providing Liquidity to Preferred AMM</p></figcaption></figure>

Alternatively, you may select strikes to provide liquidity in the "Option Chain \[C]" section.&#x20;

<figure><img src="/files/2byazO5DaAxmPBPT81FY" alt=""><figcaption><p>Providing Liquidity to Preferred Strikes</p></figcaption></figure>

Finally, review your liquidity positions in the “LP Positions \[L]” section.

<figure><img src="/files/3CRSBBtct0Y23cxohado" alt=""><figcaption><p>Reviewing LP positions</p></figcaption></figure>

### Reserving Liquidity

To "[Reserve Liquidity](/products-overview/product-overview-clamm/for-liquidity-providers#reserving-liquidity)" follow these steps:

1. **Navigate to the Trade Page:** Access the trade page here: [Trade Page](https://www.stryke.xyz/en/trade).
2. **Select the Liquidity Pool:** Choose the specific liquidity pool you wish to reserve liquidity in. This could be a pool for trading pairs like ETH/USDC: [ETH/USDC Pool](https://www.stryke.xyz/en/trade/arbitrum/WETH-USDC).
3. **Select “LP Positions \[L]”:** This will display all your liquidity positions.
4. **Manage Liquidity Positions:** Click on “Manage” and then “Reserve” next to the position you want to reserve.
5. **Specify the Amount:** Scroll to specify the amount of assets you want to reserve in the selected pool.
6. **Confirm the Reservation:** Review the details and confirm the reservation. Stryke will then allocate your specified assets to the liquidity pool, which can be withdrawn in the next cycle.

### **Withdrawing Liquidity**

To withdraw your liquidity, click on the “Manage” button next to your deposit in the "LP Postions \[L]" section. Select the strikes from which you wish to withdraw and click on the “Withdraw” button.

<figure><img src="https://lh7-us.googleusercontent.com/k9xEih58Rj73W868NAaORl1oUjjtdkDQ0-FLdsMy4FVZMg6lnonp2lPWgW6OAeTNJzpu9Q8Tx2eCXLO-ecdY2SlgOk4VcaoYtdNp6ce46K7r1R8dOkHs3ORQ6193xZFYkcnVnok9YKX__sVzQ88KQys" alt=""><figcaption><p>Withdrawing Liquidity</p></figcaption></figure>


# Reward Gauges

Using [Reward Gauges](/tokenomics/reward-gauges) on CLAMM.

#### 1. **Access the Reward Gauges Page**

* Once you’re connected to the CLAMM dApp, select **Gauges** from the left menu bar.
* Currently active gauges are displayed in the **Gauges** tab at the bottom.

<figure><img src="/files/Fzi2ozZEsHRX9rYdDE6S" alt=""><figcaption><p>Preview active Reward Gauges.</p></figcaption></figure>

#### 2. **Select a Gauge for Voting** You can do this in two ways:

* Use the dropdown menu at the top right of the page to select the gauge (i.e. **"Select Gauge"**).
* Browse the list of available gauges in the bottom section and click on your preferred gauge.

**Details Displayed for Each Gauge**:

* **Weight**: The proportion of total rewards allocated to this gauge.
* **Rewards**: The estimated rewards for the gauge.
* **Chain**: The respective network for the gauge.
* **Epoch Number**: The current voting epoch.

<figure><img src="/files/MYbsCxqGeSGHqXEd4Y86" alt=""><figcaption><p>Select preferred Reward Gauge.</p></figcaption></figure>

3. **Place Your Vote**

* Vote for the ongoing epoch based on the amount of xSYK you hold.
* Enter the desired vote allocation for the selected gauge.
* Use the **MAX** button if necessary to place your vote based on all your xSYK held.

<figure><img src="/files/Em11Z02k2i54tJFKHdPM" alt=""><figcaption><p>Voting for preferred Reward Gauge.</p></figcaption></figure>

#### 4. **View Your Votes and Emissions**

* Click on the "**Your Votes"** tab located next to the "**Gauges"** tab at the bottom of the page.
* Here, you can:
  * Review your active votes.
  * View emissions ready for withdrawal.
  * Monitor other relevant details related to your votes.


# Contracts

The following documentation pertains to interacting with CLAMM directly via the smart contracts.\
If you prefer using an API please navigate to the following page: [APIs](/developers/apis)

Deployed contract addressed can be found here: [Deployed Addresses](/developers/deployed-addresses)

{% content-ref url="/pages/6RWZqSTYwxZeUov0EeVT" %}
[LP Management](/developers/contracts/lp-management)
{% endcontent-ref %}

{% content-ref url="/pages/q3FKXPDtuIqxplc1HlhY" %}
[Trading](/developers/contracts/trading)
{% endcontent-ref %}


# LP Management

## Overview

LP Positions on CLAMM are managed via the `PositionManager` contract. This contract enables users to deploy liquidity in different ticks (on a Concentrated Liquidity AMM) which further can be utilized by Option Markets to sell options to traders which helps LPs earn premiums on top of the fees they earn on their chosen AMM. Further additional functionality to allow for reserving liquidity and withdrawing reserved liquidity is directly managed at the `Handler` contract.

## Operations

* [Mint a Position](/developers/contracts/lp-management/mint-a-position)
* [Burn a Position](/developers/contracts/lp-management/burn-a-position)
* [Reserve Liquidity](/developers/contracts/lp-management/reserve-liquidity)
* [Withdraw Reserved Liquidity](/developers/contracts/lp-management/withdraw-reserved-liquidity)


# Mint a Position

[Contract Git Source](https://github.com/dopex-io/dopex-v2-clamm/blob/c47ed162e778d188e077b6b1874a8b5873e15c1d/src/DopexV2PositionManager.sol)

Mint a new position using the specified handler.

```solidity
function mintPosition(IHandler _handler, bytes calldata _mintPositionData)
    external
    onlyWhitelistedHandlers(_handler)
    nonReentrant
    returns (uint256 sharesMinted);
```

**Parameters**

| Name                | Type       | Description                             |
| ------------------- | ---------- | --------------------------------------- |
| `_handler`          | `IHandler` | The address of the handler to use.      |
| `_mintPositionData` | `bytes`    | The data required to mint the position. |

**Returns**

| Name           | Type      | Description                  |
| -------------- | --------- | ---------------------------- |
| `sharesMinted` | `uint256` | The number of shares minted. |

The \`\_mintPositionData\` parameter has to be constructed the following way:

```solidity
struct MintPositionParams {
    IUniswapV3Pool pool;
    address hook;
    int24 tickLower;
    int24 tickUpper;
    uint128 liquidity;
}

bytes memory _mintPositionParams = abi.encode(
    _params.pool,
    _params.hook,
    _params.tickLower,
    _params.tickUpper,
    _params.liquidity
);

// To decode:
MintPositionParams memory decodedParams = abi.decode(encodedData, (MintPositionParams));
```

### **MintPositionParams Struct**

| Field Name | Type           | Description                      |
| ---------- | -------------- | -------------------------------- |
| pool       | IUniswapV3Pool | The Uniswap V3 pool contract     |
| hook       | address        | The address of the hook contract |
| tickLower  | int24          | The lower tick of the position   |
| tickUpper  | int24          | The upper tick of the position   |
| liquidity  | uint128        | The amount of liquidity to mint  |


# Burn a Position

[Contract Git Source](https://github.com/dopex-io/dopex-v2-clamm/blob/c47ed162e778d188e077b6b1874a8b5873e15c1d/src/DopexV2PositionManager.sol)

Burn an existing position using the specified handler.

```solidity
function burnPosition(IHandler _handler, bytes calldata _burnPositionData)
    external
    onlyWhitelistedHandlers(_handler)
    nonReentrant
    returns (uint256 sharesBurned);
```

**Parameters**

| Name                | Type       | Description                             |
| ------------------- | ---------- | --------------------------------------- |
| `_handler`          | `IHandler` | The address of the handler to use.      |
| `_burnPositionData` | `bytes`    | The data required to burn the position. |

**Returns**

| Name           | Type      | Description                  |
| -------------- | --------- | ---------------------------- |
| `sharesBurned` | `uint256` | The number of shares burned. |

The \``_burnPositionData`\` parameter has to be constructed the following way:

```solidity
struct BurnPositionParams {
    IUniswapV3Pool pool;
    address hook;
    int24 tickLower;
    int24 tickUpper;
    uint128 shares;
}

bytes memory _burnPositionData = abi.encode(
    _params.pool,
    _params.hook,
    _params.tickLower,
    _params.tickUpper,
    _params.shares
);

// To decode:
BurnPositionParams memory decodedParams = abi.decode(encodedData, (BurnPositionParams));
```

### **BurnPositionParams Struct**

| Field Name | Type           | Description                      |
| ---------- | -------------- | -------------------------------- |
| pool       | IUniswapV3Pool | The Uniswap V3 pool contract     |
| hook       | address        | The address of the hook contract |
| tickLower  | int24          | The lower tick of the position   |
| tickUpper  | int24          | The upper tick of the position   |
| shares     | uint128        | The amount of shares to burn     |


# Reserve Liquidity

[Contract Git Source](https://github.com/dopex-io/dopex-v2-clamm/blob/c47ed162e778d188e077b6b1874a8b5873e15c1d/src/handlers/UniswapV3SingleTickLiquidityHandlerV2.sol)

Reserve Liquidity from future

*This can be called by the user directly, it uses msg.sender context. Users share would be burned and they will receive the V3 AMM fees upto this point.*

```solidity
function reserveLiquidity(bytes calldata _reserveLiquidityParam) external whenNotPaused returns (uint256);
```

**Parameters**

| Name                     | Type    | Description                                |
| ------------------------ | ------- | ------------------------------------------ |
| `_reserveLiquidityParam` | `bytes` | The data required for reserving liquidity. |

**Returns**

| Type      | Description                  |
| --------- | ---------------------------- |
| `uint256` | The number of shares burned. |

The \``_reserveLiquidityParam`\` parameter has to be constructed the following way:

```solidity
struct BurnPositionParams {
    IUniswapV3Pool pool;
    address hook;
    int24 tickLower;
    int24 tickUpper;
    uint128 shares;
}

bytes memory _reserveLiquidityParam = abi.encode(
    _params.pool,
    _params.hook,
    _params.tickLower,
    _params.tickUpper,
    _params.shares
);

// To decode:
BurnPositionParams memory decodedParams = abi.decode(encodedData, (BurnPositionParams));
```

### **BurnPositionParams Struct**

| Field Name | Type           | Description                      |
| ---------- | -------------- | -------------------------------- |
| pool       | IUniswapV3Pool | The Uniswap V3 pool contract     |
| hook       | address        | The address of the hook contract |
| tickLower  | int24          | The lower tick of the position   |
| tickUpper  | int24          | The upper tick of the position   |
| shares     | uint128        | The amount of shares to burn     |


# Withdraw Reserved Liquidity

[Contract Git Source](https://github.com/dopex-io/dopex-v2-clamm/blob/c47ed162e778d188e077b6b1874a8b5873e15c1d/src/handlers/UniswapV3SingleTickLiquidityHandlerV2.sol)

Withdraw reserved liquidity

*This can be called by the user directly, it uses msg.sender context. Users can withdraw liquidity if it is available and their cooldown is over.*

```solidity
function withdrawReserveLiquidity(bytes calldata _reserveLiquidityParam) external whenNotPaused;
```

**Parameters**

| Name                     | Type    | Description                                        |
| ------------------------ | ------- | -------------------------------------------------- |
| `_reserveLiquidityParam` | `bytes` | The data required for withdraw reserved liquidity. |

The \``_reserveLiquidityParam`\` parameter has to be constructed the following way:

```solidity
struct BurnPositionParams {
    IUniswapV3Pool pool;
    address hook;
    int24 tickLower;
    int24 tickUpper;
    uint128 shares;
}

bytes memory _reserveLiquidityParam = abi.encode(
    _params.pool,
    _params.hook,
    _params.tickLower,
    _params.tickUpper,
    _params.shares
);

// To decode:
BurnPositionParams memory decodedParams = abi.decode(encodedData, (BurnPositionParams));
```

### **BurnPositionParams Struct**

| Field Name | Type           | Description                      |
| ---------- | -------------- | -------------------------------- |
| pool       | IUniswapV3Pool | The Uniswap V3 pool contract     |
| hook       | address        | The address of the hook contract |
| tickLower  | int24          | The lower tick of the position   |
| tickUpper  | int24          | The upper tick of the position   |
| shares     | uint128        | The amount of shares to burn     |


# Trading

## Overview

Trading Options on CLAMM  happen exclusively via the pairs `OptionMarket` contract. This contract enables users to purchase options of various maturities and exercise them anytime (American-style Options).

## Operations

* [Mint Option](/developers/contracts/trading/mint-option)
* [Exercise Option](/developers/contracts/trading/exercise-option)


# Mint Option

[Contract Git Source](https://github.com/dopex-io/dopex-v2-clamm/blob/c47ed162e778d188e077b6b1874a8b5873e15c1d/src/DopexV2OptionMarketV2.sol)

Mints an option for the given strike and expiry.

```solidity
function mintOption(OptionParams calldata _params) external nonReentrant;
```

**Parameters**

| Name      | Type           | Description            |
| --------- | -------------- | ---------------------- |
| `_params` | `OptionParams` | The option parameters. |

### OptionParams Struct

This struct defines the parameters for creating an option.

| Field            | Type           | Description                                        |
| ---------------- | -------------- | -------------------------------------------------- |
| optionTicks      | OptionTicks\[] | Array of OptionTicks structs                       |
| tickLower        | int24          | Lower tick of the option                           |
| tickUpper        | int24          | Upper tick of the option                           |
| ttl              | uint256        | Time to live for the option                        |
| isCall           | bool           | Whether the option is a call (true) or put (false) |
| maxCostAllowance | uint256        | Maximum cost allowance for the option              |

### OptionTicks Struct

This struct represents the parameters for option ticks in a Uniswap V3 pool.

| Field          | Type           | Description                |
| -------------- | -------------- | -------------------------- |
| \_handler      | IHandler       | Interface for the handler  |
| pool           | IUniswapV3Pool | Uniswap V3 pool interface  |
| hook           | address        | Address of the hook        |
| tickLower      | int24          | Lower tick of the position |
| tickUpper      | int24          | Upper tick of the position |
| liquidityToUse | uint256        | Amount of liquidity to use |


# Exercise Option

[Contract Git Source](https://github.com/dopex-io/dopex-v2-clamm/blob/c47ed162e778d188e077b6b1874a8b5873e15c1d/src/DopexV2OptionMarketV2.sol)

Exercises the given option .

```solidity
function exerciseOption(ExerciseOptionParams calldata _params) external nonReentrant returns (AssetsCache memory ac);
```

**Parameters**

| Name      | Type                   | Description                     |
| --------- | ---------------------- | ------------------------------- |
| `_params` | `ExerciseOptionParams` | The exercise option parameters. |

### ExerciseOptionParams Struct

This struct contains the parameters needed to exercise an option.

| Field               | Type        | Description                            |
| ------------------- | ----------- | -------------------------------------- |
| optionId            | uint256     | Identifier of the option to exercise   |
| swapper             | ISwapper\[] | Array of swapper interfaces            |
| swapData            | bytes\[]    | Array of swap data                     |
| liquidityToExercise | uint256\[]  | Array of liquidity amounts to exercise |


# APIs

This section covers REST API endpoints for interacting with Stryke protocol.


# xSYK

### **Vested Positions**

View xSYK vested and staked positions including total allocation and pending positions&#x20;

read more about staking SYK and xSYK here: [xSYK Token](/tokenomics/xsyk-token)

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/xsyk/vest-positions/{account}" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}


# CLAMM (deprecated)


# Trading


# Purchase

Endpoints pertaining to requesting for quotes for options, viewing user options positions and options purchase history

Base API path: <mark style="color:yellow;">`https://api.stryke.xyz/clamm/purchase`</mark>

### Options Quote

The `/quote` endpoint is designed to return the estimated cost of purchasing an option for a given market This endpoint is useful for users who want to understand the pricing details before making a purchase. It provides both the estimated cost and the relevant token information. *Note: Due to high volatility in certain markets the cost of the options may be slightly stale*

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/purchase/quote" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}

### Options Positions

The `/positions` endpoint retrieves information about a user's current options positions of a given market. It provides an overview of the options positions held by a user including details about the type of option, quantity, strike price, expiration, size etc.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/purchase/positions" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}

### Purchase history

The `/history` endpoint retrieves options purchases by a user for a given market.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/purchase/history" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}


# Exercise

### Prepare Exercise

Generate transaction call data for exercising options positions purchased on CLAMM.

Exercising on CLAMM involves swapping of tokens. i.e if for call options, Call Asset (eg: ETH) -> Put Asset (eg: USDC) and vice versa. Currently, the API only supports swaps through DEX and aggregators as specified below:

| DEX           | Chains Supported              | SwapperId   |
| ------------- | ----------------------------- | ----------- |
| PancakSwap V3 | Arbitrum, Base                | pancakeswap |
| Uniswap V3    | Arbitrum, Base                | uniswap     |
| Sushiswap V3  | Arbitrum, Base, Mantle, Blast | sushiswap   |
| Thruster V3   | Blast                         | thruster    |
| Agni V3       | Mantle                        | agni        |
| FusionX V3    | Mantle                        | fusionx     |

| Aggregator          | Chains Supported              | SwapperId |
| ------------------- | ----------------------------- | --------- |
| 0x Protocol         | Arbitrum, Base, Blast         | 0x        |
| Odos SOR V2         | Arbitrum, Base, Mantle        | odos      |
| 1inch Aggregator V6 | Arbitrum, Base                | 1inch     |
| Paraswap V6.2       | Arbitrum, Base                | paraswap  |
| KyberSwap V1        | Arbitrum, Base, Mantle, Blast | kyberswap |
| OpenOcean V4        | Arbitrum, Base, Mantle, Blast | openocean |

It is important to try and experiment with reasonable slippage percentages as CLAMM contracts always ensure the underlying collateral of the options are fulfilled before the profit is paid out to the trader when the swap takes place. To understand this concept better let's consider the example below:

```
strike: 1000 USDC
options amount: 10 WETH
type: CALL
size: 10 WETH

exercise price: 1050
slippage tolerance: 1%
swap route: WETH -> USDC

amount after swap without slippage: 10500 USDC
profit after swap without slippage: 500 USDC
amount after swap considering slippage: 10395 USDC
profit after swap considering slippage: 395 USDC
amount to fulfill liquidity providers: 10000 USDC
```

As you can see with the example above, when options are exercised the slippage only affects trader's profit to ensure liquidity providers are always whole. To avoid losing much on profit it is recommended to exercise options partially similar to how one would TWAP on DEXs or use supported aggregators but it is also important to note that even aggregators are prone to slippage if the size of the swap is big enough.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/exercise/prepare" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}

### Exercise History

the history endpoint can be used to retrieve the history of options exercised for a user

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/exercise/history" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}


# LP management

In the section you will find API endpoints to help you manage your LP (Liquidity provision) positions on CLAMM from depositing to retrieving positions and withdrawing.

### Prepare Deposit

Depositing in CLAMM is similar to depositing in Uniswap V3, with a key difference: in CLAMM, you also earn premiums.

Your deposit goes into Uniswap V3 pools, earning typical liquidity provider fees. However, when needed for options positions, deposits are withdrawn from Uniswap V3 and locked in the options market until those positions are settled. This unique structure means you earn both Uniswap V3 fees and option premiums. The `/prepare` endpoint below will help in generate the transaction call data to deposit in a CLAMM for a provided option market and also provide a summary of your deposit transaction.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/deposit/prepare" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}

### Deposit Positions

The `/positions` endpoint retrieves information about Liquidity Provider (LP) positions for a specified pool on CLAMM. This endpoint allows users to view details about their current LP positions, including the liquidity they have provided, fees earned, and additional information. Along with each position the transaction call data to withdraw that position is also provided.&#x20;

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/deposit/positions" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}

### Deposit History

The `/history` endpoint retrieves the deposits and transaction details for a user in a specified pool.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/deposit/history" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}

### Withdraw History

This endpoint retrieves information pertaining to withdrawal transactions by a user from a specified pool.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/withdraw/history" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}


# Option markets

Option markets and information about them can be queried from the following endpoints:

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/option-markets" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}

V1.1 change log:

1. new `chains` query parameter replacing `chainId` that accepts a comma separated array of chain ids i.e `"42161,5000"` providing the ability to query option markets of multiple chains.
2. More market stats of the options market are included in the response i.e: Total liquidity USD, available liquidity USD, open Interest USD. Check example schema for full list of response data.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/v1.1/clamm/option-markets" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}


# Strikes chain

The `/strikes-chain` endpoint retrieves the options chain, also known as the strikes chain, providing information about each strike price, along with additional details regarding handlers and hooks. This endpoint offers a comprehensive view of available options for a given market, including where the liquidity for each strike comes from and the specific conditions under which it can be used.

### How Handlers and Hooks Work

* **Handlers** specify the DEX and the specific liquidity pool from which the liquidity for the options is sourced. This information is useful for understanding the underlying structure supporting the options market.
* **Hooks** outline constraints such as the maximum allowable duration for which the liquidity can be utilized (Time-To-Live or TTL) and the expiration conditions for the options.

Together, handlers and hooks provide a deeper understanding of the liquidity and constraints governing the options chain.

{% openapi src="/files/uiLe2AdTixay9Y0zMePt" path="/clamm/strikes-chain" method="get" %}
[stryke-api-swagger.yaml](https://1713171471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtOz5vakeeIFF4xdhXZoK%2Fuploads%2F7vSesYn9AbVPrQsNonoy%2Fstryke-api-swagger.yaml?alt=media\&token=3587d8b1-a932-4855-978d-363671da0ce2)
{% endopenapi %}


# Deployed Addresses

All deployed contract addresses of the stryke platform

{% content-ref url="/pages/BaGn74voF1DRDLY86SSq" %}
[Tokens & Others](/developers/deployed-addresses/tokens-and-others)
{% endcontent-ref %}

{% content-ref url="/pages/B8GyPxCdx8gpXU71OEab" %}
[CLAMM](/developers/deployed-addresses/clamm)
{% endcontent-ref %}

{% content-ref url="/pages/5LlOU0t1nI9QKhU88Gbr" %}
[Gauges](/developers/deployed-addresses/gauges)
{% endcontent-ref %}

Note: for older contracts which are now deprecated please refer to <https://docs.dopex.io/developer/contracts>


# CLAMM

Contracts for Stryke's Concentrated Liquidity AMM product

### &#x20;Markets

| Name                    | Arbitrum                                   |
| ----------------------- | ------------------------------------------ |
| WETH/USDC Option Market | 0x2536974545c28F7C7d17038c7623E8132FbD82bb |
| WBTC/USDC Option Marke  | 0xaBa531Ae39Fa20a0D6B16CD1f9b393862aDb602e |

### Handlers

| Contract Name      | Arbitrum                                   |
| ------------------ | ------------------------------------------ |
| Uniswap V3 Handler | 0x6F73aFB6598d7a3881577f884f2E01574aEFC373 |

### PositionManager

| Contract Name   | Arbitrum                                   |
| --------------- | ------------------------------------------ |
| PositionManager | 0x467f2E854C53DFC44e592600c4E0E9e86898E84b |

### Deprecated Contracts

### Arbitrum

| Contract                              | Address                                    |
| ------------------------------------- | ------------------------------------------ |
| WETH/USDC Option Market               | 0xcD697B919AA000378fe429b47eb0fF0D17d3D435 |
| WBTC/USDC Option Market               | 0x502751c59fEb16959526f1f8aa767D84b028bFbD |
| ARB/USDC Option Market                | 0x20b2431557bB90954744a6D404f45aD1aD8719f4 |
| BOOP/WETH Option Market               | 0xA23233775ed58669CB0c2c7A6fa0380B6CcC1094 |
| Position Manager V2                   | 0x8f6C063c4B7d6037730f984C6dC38febdACE9eb8 |
| UniswapV3Handler V3                   | 0xdeD9741Cd7B4B8ffc1DbCFEcd84B20D35538FFaf |
| SushiswapV3Handler V3                 | 0x36dfa3488E2974f003481fc18388fd6a0741A4Be |
| PancakeSwapV3Handler V3               | 0x23aD242c41b965DB6343ec4A9890fcF80da1c314 |
| WETH/USDC Option Market (deprecated)  | 0x501B03BdB431154b8Df17BF1c00756E3a8F21744 |
| WBTC/USDC Option Market  (deprecated) | 0x550e7E236912DaA302F7d5D0d6e5D7b6EF191f04 |
| ARB/USDC Option Market  (deprecated)  | 0x4eed3A2b797Bf5630517EcCe2e31C1438A76bb92 |
| BOOP/WETH Option Market  (deprecated) | 0xE9e1310d3E6401DFa1f5A3544CC6B0fced68c189 |
| UniswapV3Handler V2  (deprecated)     | 0x29BbF7EbB9C5146c98851e76A5529985E4052116 |
| PancakeswapV3Handler V2  (deprecated) | 0x9ae336B61D7d2e19a47607f163A3fB0e46306b7b |
| SushiswapV3Handler V2 (deprecated)    | 0x89ED51a5C586C3E1634A2de5542d037a74FcDA38 |
| PositionManager  (deprecated)         | 0xE4bA6740aF4c666325D49B3112E4758371386aDc |
| CLAMM FeeStrategy                     | 0xdcb12fCBf30B6824ef852f65D529038fAA1142bD |
| AutoExercise                          | 0xb223eD797742E096632c39d1b2e0c313750B25FE |
| ClammRouterV2                         | 0x2dD8BF6bf68dD903F32B9dEfB20443305D301fA6 |
| Bounded TTL Hook 0Day                 | 0x8c30c7F03421D2C9A0354e93c23014BF6C465a79 |
| Bounded TTL Hook 1Week                | 0x0fC0744eACe0aEA3c3CF91FDF5b4A5428533aA3A |
|                                       |                                            |

### Mantle

| Contract                | Address                                    |
| ----------------------- | ------------------------------------------ |
| WMNT/USDT Option Market | 0x1D5DE630BbBF68c9bf17D8462605227D79eA910C |
| WETH/USDC Option Market | 0x50d31b053c3a099b2CAE50eb63848ECcF87D72Df |
| WETH/USDT Option Market | 0xcDA890C42365dCb1A8a1079F2f47379Ad620bC99 |
| AgniHandler             | 0x5DdA827f304Aeb693573720B344eD160e7D4703C |
| FusionXHandler          | 0x210D2963b555Ce5AC7e3d9b0e2F38d7AEBd4B43F |
| PositionManager         | 0xE4bA6740aF4c666325D49B3112E4758371386aDc |
| CLAMM FeeStrategy       | 0xBb1cF6f913DE129900faefb7FBDa2e247A7f22aF |
| AutoExercise            | 0x39d8AD7f378266dD995EEea3B87C7C7EC7Da7490 |
| ClammRouterV2           | 0xb1eF5f36cBa3e741F8264BcfaCeF590686FDfE68 |
| Bounded TTL Hook 0Day   | 0xe68Db25857261874359bC5CFB8D04C0C012ac24C |
| Bounded TTL Hook 1Week  | 0xff41642C69a1FFcC29E541e777CC73717A209Fa9 |

### Base

| Contract                 | Address                                    |
| ------------------------ | ------------------------------------------ |
| WETH/USDC Option Market  | 0x9fd06bb305d74c85961ce2307dab72b07d06606f |
| cbBTC/USDC Option Market | 0x499218af9349bf35E70bf72d157cC8EbD291A7C3 |
| BRETT/WETH Option Market | 0x10f95FA355F2C2C44Afa975B784fF88443Fe21Dc |
| DEGEN/WETH Option Market | 0x849f74700b0714c6B87680f7af49B72677298d86 |
| UniswapV3Handler V2      | 0xa51175f9076b2535003ac146921485083ab3a63c |
| PositionManager          | 0x99fF939Ef399f5569d57868d43118e6586F574d9 |
| CLAMM FeeStrategy        | 0x0189D0E3965FCa86bCA5659eBDbFe8dCc9aa36B0 |
| AutoExercise             | 0x872C7AC60F27Ffd76c5BC3F2FE7EF9da59659818 |
| ClammRouterV2            | 0x8C4D42ACdAf0dea678B02A092276E2313eD7D820 |
| Bounded TTL Hook 0Day    | 0x853ca947d0AD6408aC4f57C507dFcaE151240D2D |
| Bounded TTL Hook 1Week   | 0x4e83CD2C50d270C4Bf264C4C16836047173C08c0 |

### Blast

| Contract                 | Address                                    |
| ------------------------ | ------------------------------------------ |
| BLAST/USDB Option Market | 0x40211ac3637F342C964B4A1a24b3E997F217E8dA |
| ThrusterV3Handler V2     | 0x872C7AC60F27Ffd76c5BC3F2FE7EF9da59659818 |
| PositionManager          | 0x99fF939Ef399f5569d57868d43118e6586F574d9 |
| CLAMM FeeStrategy        | 0x0189d0e3965fca86bca5659ebdbfe8dcc9aa36b0 |
| AutoExercise             | 0xc0941da9731aC05ED523fefd7271222D1D89ad8e |
| ClammRouterV2            | 0x1Bfa26a0dc850B3a9B7586Cc6f8f868B5204a3F1 |
| Bounded TTL Hook 0Day    | 0x4e83CD2C50d270C4Bf264C4C16836047173C08c0 |
| Bounded TTL Hook 1Week   | 0xfC4508461f24afc99B76Ae580d1A2dec518a70c1 |

### Sonic

| Contract                  | Address                                    |
| ------------------------- | ------------------------------------------ |
| WETH/USDC.e Option Market | 0x9d3828e89Fadc4DEc77758988b388435Fe0f8DCa |
| wS/USDC.e Option Market   | 0x342e4068bA07bbCcBDDE503b2451FAa3D3C0278B |
| Equalizer Handler V2      | 0x247fcfB55BFC33945A37F289d5Af2a622CBE4500 |
| Equalizer handler V3      | 0x461f057030Fbfd2C20f32DEA392D67b1174eec82 |
| Shadow Handler V3         | 0xFD9612B25C843833c79B52Bf4C6137756D5E3b3D |
| PositionManager           | 0xa8C29FD16c272092b4361804736B4f7193a61c92 |
| CLAMM FeeStrategy         | 0x85f82B50dBB3Da1853b2A3396b921F0cB9A983f9 |
| AutoExercise              | 0xC57175761E91D38A45E70820613551C855b700EF |
| ClammRouterV2             | 0x9FD06bb305d74C85961CE2307dab72b07d06606F |
| Bounded TTL Hook 0Day     | 0x78d96C07B16d8f911c4cD14EE10601921E4fb8aF |
| Bounded TTL Hook 1Week    | 0xf6314300b42B7D88c153348921a95d3CA95E74Bd |

### Berachain

| Contract                  | Address                                    |
| ------------------------- | ------------------------------------------ |
| WETH/HONEY Option Market  | 0xC57175761E91D38A45E70820613551C855b700EF |
| WBTC/HONEY Option Market  | 0x9692179d2f9D8db30E39D0A33E607e8f427Db071 |
| WBERA/HONEY Option market | 0x0A11E980Cab9da65846840A8cfa4340cE80b00bC |
| Kodiak V3 Handler         | 0xf6314300b42B7D88c153348921a95d3CA95E74Bd |
| PositionManager           | 0xe119959Ba5CA47E9567f40c8215FFf98F587337A |
| CLAMM FeeStrategy         | 0xb97aa593Dde7d2657E55a17336962D2d34f05265 |
| AutoExercise              | 0x2e14a482e200307e1395836042b80F5659637d44 |
| ClammRouterV2             | 0xD10d74cD68Ea8914d700D849EEB76207261c6AC8 |
| Bounded TTL Hook 0Day     | 0xa8C29FD16c272092b4361804736B4f7193a61c92 |
| Bounded TTL Hook 1Week    | 0xF24C12926c8BF7d4d0C6443583766c6D0EBcd74F |


# Tokens & Others

Contract addresses for tokens and other miscellaneous contracts

### Arbitrum

| Contract            | Address                                    |
| ------------------- | ------------------------------------------ |
| SYK                 | 0xACC51FFDeF63fB0c014c882267C3A17261A5eD50 |
| xSYK                | 0x50e04e222fc1be96e94e86acf1136cb0e97e1d40 |
| SYK Migrator        | 0x65b1ca92a017ecfa4060231dfc28f69264daa3b0 |
| AccessManager       | 0x91BDa4174c25EfeEF6f4e5721fa36e31e0015801 |
| xSYK Staking        | 0x8263A867eF2d952a3fC0c7cD3cE0895Db30cEb4B |
| GaugeController     | 0xFdf1B2c4E291b17f8E998e89cF28985fAF3cE6A1 |
| SykLzAdapter        | 0x8022418FBE0e8668a9BaCa3b87F933Cc52225c8e |
| SykBridgeController | 0x33A46fbcAd7bbC05e38817d972111793bD1AF487 |

Base

<table><thead><tr><th>Contract</th><th>Address</th><th data-hidden></th></tr></thead><tbody><tr><td>SYK</td><td>0xACC51FFDeF63fB0c014c882267C3A17261A5eD50</td><td></td></tr><tr><td>AccessManager</td><td>0x91BDa4174c25EfeEF6f4e5721fa36e31e0015801</td><td></td></tr><tr><td>SykLzAdapter</td><td>0x954EC795Bc449Cdc765a4aD4958dA23FC7Cff47c</td><td></td></tr><tr><td>SykBridgeController</td><td>0xe2cBB642f5a900F7E1B50D4E0aE094D3AFbF4DFA</td><td></td></tr></tbody></table>


# Gauges

Contract addresses for all gauges.

### Arbitrum

| Contract                    | Address                                    |
| --------------------------- | ------------------------------------------ |
| Pancakeswap WETH/USDC Gauge | 0xc16f3f88Bd88CD28fb95df9628866149b1561528 |
| Pancakeswap WBTC/USDC Gauge | 0x51d4D761346B8ce4667896825dce39e8c9849D06 |
| Orange PCS WETH/USDC Gauge  | 0x4927a62feFE180f9E6307Ef5cb34f94FcAd09227 |
| Orange PCS WBTC/USDC Gauge  | 0x97b1f6a13500de55B62b57B2D9e30Ca9E9bAB11B |
| Orange PCS ARB/USDC Gauge   | 0x61e9B42f28cdF30173c591b2eB38023ed969d437 |


# Bug Bounty Program

Stryke's bug bounty program can be found [here.](https://github.com/stryke-xyz/bug-bounty)


# Glossary

This glossary serves as a key resource for navigating the world of Stryke, offering concise definitions of terms used within the technical documentation. For further clarifications, head to our official channels or reach out to our team.

## **A**

* **Annual Inflation Rate:** The rate at which the supply of a cryptocurrency increases over a year. In the context of SYK, it's approximately 3%.
* **Auto-Exercise Feature:** An automated mechanism in options trading on the Stryke platform that executes in-the-money options just before their expiration, if previously enabled by the trader.

## **B**

* **Black-Scholes Model:** A foundational mathematical model for pricing options and other financial derivatives.

## C

* **Call Option:** A call option is a financial contract that gives the buyer the right, but not the obligation, to buy a specified amount of an underlying asset at a predetermined price, known as the strike price, within a specified time frame, called the expiration date. In the context of Stryke, a call option allows traders to speculate on the price increase of an asset. When a trader buys a call option, they pay a premium for the potential to purchase the underlying asset at the strike price, which could be profitable if the asset’s market price exceeds the strike price plus the premium paid. If the market price does not surpass this breakeven point, the call option may expire worthless, with the trader losing only the premium.
* **Capital Efficiency:** Refers to the strategic use of financial resources to maximize the return on investment in derivatives trading.
* **CLAMM (Concentrated Liquidity Automated Market Maker):** A development in DeFi combining liquidity provision and options trading, utilizing range-based liquidity akin to Uniswap V3.
* **Conversion Ratios:** The specific ratios used to convert old tokens (DPX and rDPX) to new SYK tokens during the migration process.

## D

* **Dopex:** The predecessor of Stryke, known for its success in options products and community engagement in the LPDfi space.
* **DPX and rDPX Tokens:** The original tokens of Dopex, which were migrated to SYK tokens as part of the platform's evolution.

## E

* **Exercise (of options):** The process by which an options holder activates the right to buy or sell the underlying asset.
* **Expiration Timeframes:** The specific periods until an options contract expires, available in various lengths on Stryke.

## G

* **Greeks:** In options trading, the Greeks are important risk measures that provide traders with an understanding of how sensitive an option's price is to various factors. Each Greek measures the sensitivity to one aspect: Delta (Δ) is the rate of change in the option's price per unit change in the underlying asset's price, Gamma (Γ) measures the rate of change in Delta per unit change in the underlying asset's price, Theta (Θ) is the change in the option's price with respect to time, Vega (ν) measures sensitivity to volatility, and Rho (ρ) measures sensitivity to the interest rate. Understanding the Greeks is essential for advanced options trading strategies, and they may be relevant for traders using Stryke's sophisticated trading mechanisms.

## I

* **Implied Volatility (IV):** The market's forecast of a likely movement in a security's price and a key component in options pricing.
* **In-the-Money (ITM):** An options term that indicates a positive intrinsic value. For a call option, it means the market price of the underlying asset is above the strike price; for a put option, the market price is below the strike price. Being ITM doesn't necessarily mean the holder will profit, as the option's cost and other factors come into play. A term that help traders evaluate the current status of their options positions on Stryke.

## L

* **Liquidity Provider (LP):** Individuals or entities that fund a liquidity pool with their assets to facilitate trading on a platform.
* **Liquidity Provision:** Refers to the process of supplying capital to a pool used for executing trades, including options contracts.

## M

* **Manual Exercise:** The action taken by traders to exercise their options before expiry.

## O

* **Out-of-the-Money (OTM):** This term describes an option with no intrinsic value. A call option is OTM if the underlying asset's market price is below the strike price; conversely, a put option is OTM if the asset's price is above the strike price. OTM options are typically less expensive and will only become profitable if the market price moves to exceed the strike price by more than the cost of the premium paid. A term that help traders evaluate the current status of their options positions on Stryke.
* **Options Trading:** Engaging in contracts that offer the right to buy or sell an asset at a specified price within a certain period.

## P

* **Put Option:** A put option is the opposite of a call option. It grants the buyer the right, but not the obligation, to sell the underlying asset at the strike price before the option expires. Put options are used by traders to speculate on the price decline of an asset or to hedge against potential price drops of assets they already own. When purchasing a put option, the buyer pays a premium for the right to sell at the strike price, which could lead to profit if the market price falls below the strike price minus the premium. If the asset’s price stays above this level, the put may expire worthless, and the buyer's loss is limited to the premium paid.
* **Premiums:** The price paid by the buyer to the seller for an options contract.
* **Pricing Oracles:** In DeFi, oracles that provide real-time data used in determining the pricing of options on the Stryke platform.
* **Protocol Fees:** Fees incurred by users for executing transactions within Stryke, used to fund rewards, an insurance fund, and operational costs.

## R

* **Reward Gauges:** A mechanism within Stryke designed to allocate rewards based on engagement and contribution.

## S

* **Strike Prices:** The predetermined price at which the holder of an option can buy or sell the underlying asset.
* **Supported Chains:** Blockchain networks that Stryke’s CLAMM supports for options trading.
* **Supported Tokens:** Cryptocurrencies that CLAMM supports for options trading, including major ones like WBTC and WETH.
* **SYK Token:** The central token of Stryke’s ecosystem, designed to underpin platform features and user rewards.

## **T**

* **Tick-Based System:** A mechanism used in liquidity provisioning to delineate price ranges.
* **Trading on UniV3 Ticks:** The mechanism by which options within the CLAMM system are traded.
* **Traders:** Individuals or entities engaging in buying and selling options, utilizing strategies to capitalize on expected market movements.

## U

* **UniV3 (Uniswap V3):** A version of the Uniswap protocol that introduced concentrated liquidity provisioning.
* **Underlying Asset:** The asset which an option contract gives the holder the right to buy or sell.
* **Utilized Ticks:** Specific price ranges within CLAMM where liquidity is used for options contracts.
* **Utility and Economic Model:** The functional role and economic strategy of SYK tokens within the Stryke ecosystem.

## V

* **Volatility:** A measure of the price movement's intensity of an asset. In options trading, it's crucial for pricing models and strategy planning.
* **Volatility & Pricing:** How volatility influences the pricing of options within Stryke.

## X

* **xSYK Tokens:** Tokens issued from locking SYK tokens into a staking mechanism, designed to incentivize long-term holding and deeper ecosystem participation.


# Audits

Stryke Contract Audits

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>yAudit</strong></td><td>CLAMM</td><td><a href="/files/wcOMvKw2bD1XLGXkbOrs">/files/wcOMvKw2bD1XLGXkbOrs</a></td><td><a href="https://github.com/dopex-io/dopex-v2-clamm/blob/master/audits/yaudit/Dopex_CLAMM_yAudit_report.pdf">https://github.com/dopex-io/dopex-v2-clamm/blob/master/audits/yaudit/Dopex_CLAMM_yAudit_report.pdf</a></td></tr><tr><td><strong>yAudit</strong></td><td>CLAMM V2 Update</td><td><a href="/files/wcOMvKw2bD1XLGXkbOrs">/files/wcOMvKw2bD1XLGXkbOrs</a></td><td><a href="https://github.com/stryke-xyz/dopex-v2-clamm/blob/master/audits/yaudit/yAudit_dopex_clamm_updates_report.pdf">https://github.com/stryke-xyz/dopex-v2-clamm/blob/master/audits/yaudit/yAudit_dopex_clamm_updates_report.pdf</a></td></tr></tbody></table>


# Partners

Meet our esteemed partners who play a pivotal role in enhancing and expanding our ecosystem. Each protocol represents a shared commitment to innovation and success.

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Orange Finance</td><td></td><td></td><td><a href="/files/S9ct0sNiaoVE9rH8jyZK">/files/S9ct0sNiaoVE9rH8jyZK</a></td><td><a href="https://www.orangefinance.io">https://www.orangefinance.io</a></td></tr><tr><td>PancakeSwap</td><td></td><td></td><td><a href="/files/ryGrlkxocKBfxsiCzGAE">/files/ryGrlkxocKBfxsiCzGAE</a></td><td><a href="https://pancakeswap.finance">https://pancakeswap.finance</a></td></tr><tr><td>Mantle Chain</td><td></td><td></td><td><a href="/files/4HgpHYOKUZesikzPLEIt">/files/4HgpHYOKUZesikzPLEIt</a></td><td><a href="https://www.mantle.xyz">https://www.mantle.xyz</a></td></tr><tr><td>Arbitrum Foundation</td><td></td><td></td><td><a href="/files/nKTMzdzwozYqcA6IOQEh">/files/nKTMzdzwozYqcA6IOQEh</a></td><td><a href="https://arbitrum.io">https://arbitrum.io</a></td></tr></tbody></table>


# Media Kit

Stryke Media Kit

{% embed url="<https://stryke.notion.site/Stryke-Media-Kit-c899c0daa4e74716ab4ab7f232135b78>" %}
Stryke Media Kit
{% endembed %}


