openapi: 3.0.0 paths: /clamm/purchase/quote: get: operationId: PurchaseController_getQuote summary: Get quote for purchasing options parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: user required: true in: query schema: type: string - name: strike required: true in: query schema: type: number - name: markPrice required: true in: query schema: type: number - name: type required: true in: query schema: enum: - call - put type: string - name: amount required: true in: query schema: type: number - name: ttl required: true in: query schema: type: number responses: '200': description: Get cost of purchasing an option content: application/json: schema: $ref: '#/components/schemas/QuoteResponseDto' tags: - purchase /clamm/purchase/positions: get: operationId: PurchaseController_getPurchasePositions summary: Get current options positions of a user parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: user required: true in: query description: Address of the user schema: type: string - name: first required: true in: query description: Pagination parameter for first (Similar to Qraphql) schema: enum: - 100 - 200 - 300 type: number - name: skip required: true in: query description: Pagination parameter for skip (Similar to Qraphql) schema: enum: - 0 - 100 - 200 type: number responses: '200': description: List of options positions content: application/json: schema: type: array items: $ref: '#/components/schemas/PurchasePositionsResponseDto' tags: - purchase /clamm/purchase/history: get: operationId: PurchaseController_getHistory summary: Get history of options purchases for a user parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: user required: true in: query description: Address of the user schema: type: string - name: first required: true in: query description: Pagination parameter for first (Similar to Qraphql) schema: enum: - 100 - 200 - 300 type: number - name: skip required: true in: query description: Pagination parameter for skip (Similar to Qraphql) schema: enum: - 0 - 100 - 200 type: number responses: '200': description: History of options purchases by an address content: application/json: schema: type: array items: $ref: '#/components/schemas/PurchaseHistoryResponseDto' tags: - purchase /clamm/deposit/prepare: get: operationId: DepositController_prepareDeposit summary: >- Prepare a executable transaction and a summary for providing liquidity into CLAMM parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: pool required: true in: query description: Address of the token pair pool schema: type: string - name: hook required: true in: query description: Address of the hook to deposit through schema: type: string - name: handler required: true in: query description: Address of the handler to deposit through schema: type: string - name: maxStrike required: true in: query description: Range max strike price schema: type: number - name: minStrike required: true in: query description: Range min strike price schema: type: number - name: optionsAmount required: true in: query description: Amount of options to provide liquidity for. schema: type: number responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PrepareDepositResponseDto' tags: - deposit /clamm/deposit/history: get: operationId: DepositController_getHistory summary: Get history of deposit activity parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: first required: true in: query description: Pagination parameter for first (Similar to Qraphql) schema: enum: - 100 - 200 - 300 type: number - name: skip required: true in: query description: Pagination parameter for skip (Similar to Qraphql) schema: enum: - 0 - 100 - 200 type: number - name: pool required: true in: query description: Address of the token pair pool schema: type: string - name: user required: true in: query description: Address of the user schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/DepositHistoryResponseDto' tags: - deposit /clamm/deposit/positions: get: operationId: DepositController_getPositions summary: Get current deposit positions parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: first required: true in: query description: Pagination parameter for first (Similar to Qraphql) schema: enum: - 100 - 200 - 300 type: number - name: skip required: true in: query description: Pagination parameter for skip (Similar to Qraphql) schema: enum: - 0 - 100 - 200 type: number - name: pool required: true in: query description: Address of the token pair pool schema: type: string - name: user required: true in: query description: Address of the user schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/DepositPositionsResponseDto' tags: - deposit /clamm/withdraw/history: get: operationId: WithdrawController_getHistory summary: Get history of withdraws from CLAMM for a user parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: user required: true in: query description: Address of the user schema: type: string - name: first required: true in: query description: Pagination parameter for first (Similar to Qraphql) schema: enum: - 100 - 200 - 300 type: number - name: skip required: true in: query description: Pagination parameter for skip (Similar to Qraphql) schema: enum: - 0 - 100 - 200 type: number - name: pool required: true in: query description: Address of the token pair pool schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/WithdrawHistoryResponseDto' '400': description: Failed to fetch withdraw history tags: - withdraw /clamm/exercise/prepare: get: operationId: ExerciseController_getExerciseTx summary: Get information required to exercise an options position parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: optionId required: true in: query description: ERC721 token ID of the options position schema: type: number - name: swapperId required: true in: query description: Swapper contract to route exercise swap through schema: enum: - 1inch - uni-v3 type: string - name: slippage required: true in: query description: >- Max slippage allowance for the swap that takes place when options' position collateral tokens are swapped to the profit token schema: type: number responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PrepareExerciseResponseDto' tags: - exercise /clamm/exercise/history: get: operationId: ExerciseController_getHistory summary: Get history of exercise activity for a user parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: user required: true in: query description: Address of the user schema: type: string - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: first required: true in: query description: Pagination parameter for first (Similar to Qraphql) schema: enum: - 100 - 200 - 300 type: number - name: skip required: true in: query description: Pagination parameter for skip (Similar to Qraphql) schema: enum: - 0 - 100 - 200 type: number responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/ExerciseHistoryResponseDto' tags: - exercise /clamm/strikes-chain: get: operationId: StrikesChainController_getStrikesChain summary: Get strikes chain or options chain of a options market parameters: - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: callsReach required: true in: query schema: enum: - 100 - 200 type: number - name: putsReach required: true in: query schema: enum: - 100 - 200 type: number responses: '200': description: List of strikes of the option market content: application/json: schema: type: array items: $ref: '#/components/schemas/StrikesChainResponseDto' tags: - strikes-chain /clamm/option-markets: get: operationId: OptionMarketsController_getOptionMarkets summary: Get option markets on a chain parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number responses: '200': description: List of option markets on specified chain content: application/json: schema: type: array items: $ref: '#/components/schemas/OptionMarketsResponseDtoV1' tags: - option-markets /v1.1/clamm/option-markets: get: operationId: OptionMarketsController_getOptionMarketsV2 summary: Get option markets on chains specified parameters: - name: chains required: true in: query description: Chain IDs of networks to query option markets for schema: type: array items: type: string responses: '200': description: List of option markets on specified chain content: application/json: schema: type: array items: $ref: '#/components/schemas/OptionMarketsResponseDtoV2' tags: - option-markets /clamm/stats/fees: get: operationId: StatsController_getFees summary: Get premium and protocol fees earned by a options market parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: from required: true in: query schema: type: number - name: to required: true in: query schema: type: number responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/FeesResponseDto' tags: - stats /clamm/stats/volume: get: operationId: StatsController_getVolume summary: Get volume generated by a options market parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: from required: true in: query schema: type: number - name: to required: true in: query schema: type: number responses: '200': description: '' content: application/json: schema: type: number tags: - stats /clamm/stats/dau: get: operationId: StatsController_getDau summary: Get number of unique users parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string - name: from required: true in: query schema: type: number - name: to required: true in: query schema: type: number responses: '200': description: '' content: application/json: schema: type: number tags: - stats /clamm/stats/open-interest: get: operationId: StatsController_getOpenInterest summary: Get current open interest of a options market parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string responses: '200': description: '' content: application/json: schema: type: number tags: - stats /clamm/stats/tvl: get: operationId: StatsController_getTvl summary: Get total value locked in a options market parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: optionMarket required: true in: query description: Address of the option market schema: type: string responses: '200': description: '' content: application/json: schema: type: number tags: - stats /clamm/stats/tvl/{pool}: get: operationId: StatsController_getTvlForPool summary: Get total value locked in a pool specific to CLAMM parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: pool required: true in: path description: Address of the pool schema: type: string responses: '200': description: '' content: application/json: schema: type: number tags: - stats /clamm/stats/delta: get: operationId: StatsController_getPnlDelta summary: Get trade performance of a user on specified chains parameters: - name: chains required: true in: query description: Chain IDs of networks to query option markets for schema: type: array items: type: string - name: user required: true in: query description: Address of the user schema: type: string - name: from required: true in: query schema: type: number - name: to required: true in: query schema: type: number responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/PnlDeltaResponseDto' tags: - stats /xsyk/vest-positions/{account}: get: operationId: VestPositionsController_getUserData parameters: - name: chainId required: true in: query description: Chain ID of the network schema: enum: - 5000 - 42161 type: number - name: account required: true in: path description: Address of user schema: type: string responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/UserXSykDataResponseDto' tags: - xSYK info: title: Stryke API description: '' version: '1.0' contact: {} tags: - name: CLAMM description: '' servers: - url: https://api.stryke.xyz components: schemas: TokenDto: type: object properties: address: type: string description: Address of the ERC20 token decimals: type: string description: Decimals of the ERC20 token symbol: type: string description: Symbol of the ERC20 token required: - address - decimals - symbol QuoteResponseDto: type: object properties: token: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' premium: type: string readOnly: true fees: type: string readOnly: true required: - token - premium - fees PurchasePositionMetaHandlerDto: type: object properties: name: type: string readOnly: true deprecated: type: boolean readOnly: true handler: type: object readOnly: true pool: type: object readOnly: true required: - name - deprecated - handler - pool PurchasePositionMetaDto: type: object properties: tokenId: type: string readOnly: true expiry: type: number readOnly: true handlers: readOnly: true type: array items: $ref: '#/components/schemas/PurchasePositionMetaHandlerDto' liquidities: readOnly: true type: array items: type: string required: - tokenId - expiry - handlers - liquidities PurchasePositionsResponseDto: type: object properties: size: type: string readOnly: true premium: type: string readOnly: true strike: type: number readOnly: true type: type: string readOnly: true enum: - call - put token: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' meta: readOnly: true allOf: - $ref: '#/components/schemas/PurchasePositionMetaDto' required: - size - premium - strike - type - token - meta PurchaseHistoryResponseDto: type: object properties: txHash: type: object readOnly: true timestamp: type: number readOnly: true strike: type: number readOnly: true size: type: string readOnly: true ttl: type: number readOnly: true type: type: string readOnly: true enum: - call - put premium: type: string readOnly: true token: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' required: - txHash - timestamp - strike - size - ttl - type - premium - token TransactionData: type: object properties: to: type: string description: Address to send the transaction calldata to data: type: string description: Transaction calldata required: - to - data IntersectionAmountTokenDto: type: object properties: amount: type: string address: type: string description: Address of the ERC20 token decimals: type: string description: Decimals of the ERC20 token symbol: type: string description: Symbol of the ERC20 token required: - amount - address - decimals - symbol PrepareDepositResponseDto__Tokens: type: object properties: callToken: description: Call token details and amount allOf: - $ref: '#/components/schemas/IntersectionAmountTokenDto' putToken: description: Put token details and amount allOf: - $ref: '#/components/schemas/IntersectionAmountTokenDto' required: - callToken - putToken PrepareDepositResponseDto: type: object properties: tx: readOnly: true allOf: - $ref: '#/components/schemas/TransactionData' strikes: readOnly: true type: array items: type: number tokens: readOnly: true allOf: - $ref: '#/components/schemas/PrepareDepositResponseDto__Tokens' required: - tx - strikes - tokens Strikes: type: object properties: call: type: number description: Call strike put: type: number description: Put strike required: - call - put LiquidityToken0Token1: type: object properties: amount0: type: string description: Amount of token0 provided as liquidity amount1: type: string description: Amount of token1 provided as liquidity required: - amount0 - amount1 Token0Token1: type: object properties: token0: description: Token0 details and amount allOf: - $ref: '#/components/schemas/TokenDto' token1: description: Token1 token details and amount allOf: - $ref: '#/components/schemas/TokenDto' required: - token0 - token1 HandlerMeta: type: object properties: name: type: string deprecated: type: boolean handler: type: object pool: type: string required: - name - deprecated - handler - pool DepositHistoryResponseDto: type: object properties: strikes: readOnly: true allOf: - $ref: '#/components/schemas/Strikes' txHash: type: string readOnly: true timestamp: type: number readOnly: true liquidity: readOnly: true allOf: - $ref: '#/components/schemas/LiquidityToken0Token1' tokens: readOnly: true allOf: - $ref: '#/components/schemas/Token0Token1' handler: readOnly: true allOf: - $ref: '#/components/schemas/HandlerMeta' required: - strikes - txHash - timestamp - liquidity - tokens - handler Token0Token1Composition: type: object properties: token0: type: string description: Amount of token0 token1: type: string description: Amount of token1 required: - token0 - token1 DepositResponseDto__ReservedWithdrawable: type: object properties: token0: type: string description: Amount of token0 token1: type: string description: Amount of token1 liquidity: type: string readOnly: true required: - token0 - token1 - liquidity DepositResponseDto__Reserved: type: object properties: token0: type: string description: Amount of token0 token1: type: string description: Amount of token1 withdrawable: readOnly: true allOf: - $ref: '#/components/schemas/DepositResponseDto__ReservedWithdrawable' lastReserve: type: number readOnly: true required: - token0 - token1 - withdrawable - lastReserve DepositPositionsResponseDto: type: object properties: strikes: readOnly: true allOf: - $ref: '#/components/schemas/Strikes' tokens: readOnly: true allOf: - $ref: '#/components/schemas/Token0Token1' earned: readOnly: true allOf: - $ref: '#/components/schemas/Token0Token1Composition' liquidity: readOnly: true allOf: - $ref: '#/components/schemas/Token0Token1Composition' withdrawable: readOnly: true allOf: - $ref: '#/components/schemas/Token0Token1Composition' reserved: readOnly: true allOf: - $ref: '#/components/schemas/DepositResponseDto__Reserved' required: - strikes - tokens - earned - liquidity - withdrawable - reserved WithdrawHistoryResponseDto: type: object properties: liquidity: readOnly: true allOf: - $ref: '#/components/schemas/LiquidityToken0Token1' timestamp: type: number readOnly: true strikes: readOnly: true allOf: - $ref: '#/components/schemas/Strikes' txHash: type: string readOnly: true tokens: readOnly: true allOf: - $ref: '#/components/schemas/Token0Token1' handler: readOnly: true allOf: - $ref: '#/components/schemas/HandlerMeta' required: - liquidity - timestamp - strikes - txHash - tokens - handler PrepareExerciseResponseDto: type: object properties: profit: type: string readOnly: true token: type: string readOnly: true swapData: readOnly: true type: array items: type: string swappers: readOnly: true type: array items: type: string tx: readOnly: true allOf: - $ref: '#/components/schemas/TransactionData' required: - profit - token - swapData - swappers - tx ExerciseHistoryResponseDto: type: object properties: strike: type: number readOnly: true exercisePrice: type: number readOnly: true premium: type: string readOnly: true timestamp: type: string readOnly: true ttl: type: number readOnly: true type: type: string readOnly: true profit: type: string readOnly: true size: type: string readOnly: true sizeToken: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' profitToken: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' txHash: type: string readOnly: true required: - strike - exercisePrice - premium - timestamp - ttl - type - profit - size - sizeToken - profitToken - txHash StrikesChainMetaDto: type: object properties: hook: type: string readOnly: true tickLower: type: number readOnly: true tickUpper: type: number readOnly: true totalTokenLiquidity: type: string readOnly: true availableTokenLiquidity: type: string readOnly: true totalLiquidity: type: string readOnly: true availableLiquidity: type: string readOnly: true required: - hook - tickLower - tickUpper - totalTokenLiquidity - availableTokenLiquidity - totalLiquidity - availableLiquidity StrikesChainDto: type: object properties: totalLiquidity: type: string readOnly: true availableLiquidity: type: string readOnly: true utilization: type: string readOnly: true apr: type: string readOnly: true handler: readOnly: true allOf: - $ref: '#/components/schemas/HandlerMeta' meta: readOnly: true allOf: - $ref: '#/components/schemas/StrikesChainMetaDto' token: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' required: - totalLiquidity - availableLiquidity - utilization - apr - handler - meta - token StrikesChainResponseDto: type: object properties: : readOnly: true allOf: - $ref: '#/components/schemas/StrikesChainDto' required: - OptionMarketsResponseDtoV1: type: object properties: deprecated: type: boolean readOnly: true address: type: string readOnly: true callToken: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' putToken: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' primePool: type: string readOnly: true dpFee: type: string readOnly: true optionsPricing: type: string readOnly: true tokenURIFetcher: type: string readOnly: true totalPremium: type: string readOnly: true totalVolume: type: string readOnly: true totalFees: type: string readOnly: true pairName: type: string readOnly: true ticker: type: string readOnly: true required: - deprecated - address - callToken - putToken - primePool - dpFee - optionsPricing - tokenURIFetcher - totalPremium - totalVolume - totalFees - pairName - ticker OptionMarketsResponseDtoV2__Pools: type: object properties: {} OptionMarketsResponseDtoV2: type: object properties: deprecated: type: boolean readOnly: true address: type: string readOnly: true callToken: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' putToken: readOnly: true allOf: - $ref: '#/components/schemas/TokenDto' primePool: type: string readOnly: true optionsPricing: type: string readOnly: true tokenURIFetcher: type: string readOnly: true pairName: type: string readOnly: true ticker: type: string readOnly: true chainId: type: number readOnly: true pools: readOnly: true type: array items: $ref: '#/components/schemas/OptionMarketsResponseDtoV2__Pools' feeStrategy: type: object readOnly: true premiums24h: type: number readOnly: true volume24h: type: number readOnly: true protocolFees24h: type: number readOnly: true totalLiquidity: type: number readOnly: true availableLiquidity: type: number readOnly: true openInterest: type: number readOnly: true required: - deprecated - address - callToken - putToken - primePool - optionsPricing - tokenURIFetcher - pairName - ticker - chainId - pools - feeStrategy - premiums24h - volume24h - protocolFees24h - totalLiquidity - availableLiquidity - openInterest FeesResponseDto: type: object properties: premiums: type: number readOnly: true protocolFees: type: number readOnly: true required: - premiums - protocolFees PnlDeltaResponseDto: type: object properties: delta: type: number readOnly: true timestamp: type: number readOnly: true required: - delta - timestamp VestPositionsResponseDto: type: object properties: account: type: string readOnly: true duration: type: number readOnly: true xSykAmount: type: string readOnly: true sykAmount: type: string readOnly: true vestIndex: type: string readOnly: true blockTimestamp: type: number readOnly: true transactionHash: type: string readOnly: true required: - account - duration - xSykAmount - sykAmount - vestIndex - blockTimestamp - transactionHash UserXSykDataResponseDto: type: object properties: totalXSykAllocated: type: string readOnly: true totalSykPending: type: string readOnly: true positions: readOnly: true type: array items: $ref: '#/components/schemas/VestPositionsResponseDto' required: - totalXSykAllocated - totalSykPending - positions