{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":false}},"agentGuidance":{"description":"General guidance for external AI agents using this MCP server. Read before selecting a project endpoint, requesting tool schemas, or calling protocol tools.","skillUrl":"https://erc8004.heyanon.ai/mcp/skill.md"},"serverInfo":{"name":"heyanon-erc8004-v3pools","version":"1.0.0"},"tools":[{"name":"getSupportedChains","title":"Get Supported Chains","description":"Get supported chains for the project","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"chains":{"type":"array","items":{"type":"string"},"description":"List of supported chain identifiers"}},"required":["chains"],"additionalProperties":false,"description":"Supported chain identifiers for concentrated liquidity"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getDexInfo","title":"Get DEX Info","description":"Get which DEX protocol (Uniswap, PancakeSwap, WAGMI, OkuTrade) is used for concentrated liquidity on each chain, along with available fee tiers. Pass null to get info for all chains, or a chain name for a specific chain.","inputSchema":{"type":"object","properties":{"chainName":{"anyOf":[{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"]},{"type":"null"}],"description":"The chain to query. Pass null to get info for all chains."}},"required":["chainName"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","description":"Chain identifier"},"dex":{"type":"string","description":"DEX protocol name"},"feeTiers":{"type":"array","items":{"type":"string"},"description":"Available fee tiers"}},"required":["chain","dex","feeTiers"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string","description":"Chain identifier"},"dex":{"type":"string","description":"DEX protocol name"},"feeTiers":{"type":"array","items":{"type":"string"},"description":"Available fee tiers"}},"required":["chain","dex","feeTiers"],"additionalProperties":false}}],"description":"DEX protocol and fee tier configuration per chain"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"collectFees","title":"Collect Fees","description":"Collect earned fees from a position","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"positionIds":{"type":"array","items":{"type":"string"},"description":"The ids of the positions to collect the fees from"},"userAddress":{"description":"The wallet address of the user","type":"string"}},"required":["chainName","positionIds"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createPool","title":"Create Pool","description":"Create a new concentrated liquidity pool","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"baseToken":{"type":"string","description":"The address of the base token for the initial price calculation"},"quoteToken":{"type":"string","description":"The address of the quote token for the initial price calculation"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000"},"initialPrice":{"type":"string","description":"The initial price of the pool in human-readable decimal format (e.g. \"1.5\"). Set to \"-1\" string if you want to use the default price"}},"required":["chainName","baseToken","quoteToken","fee","initialPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createPosition","title":"Create Position","description":"Create a new concentrated liquidity position. If you want to create a position with price ranges in USD, use the estimateRangesAndAmountsForUsdPositionCreation tool first","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"lowerPrice":{"type":"string","description":"The lower price of the position range in human-readable decimal format. Set to \"-1\" string if you want to use full range"},"upperPrice":{"type":"string","description":"The upper price of the position range in human-readable decimal format. Set to \"-1\" string if you want to use full range"},"userAddress":{"description":"The wallet address of the user","type":"string"}},"required":["chainName","token0","token1","amount0","amount1","fee","lowerPrice","upperPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"decreaseLiquidity","title":"Decrease Liquidity","description":"Decrease the liquidity of already created concentrated liquidity position","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"positionId":{"type":"string","description":"The id of the position"},"liquidityPercentage":{"type":"number","description":"The percentage of the liquidity to decrease. Should be between 0 and 100"},"userAddress":{"description":"The wallet address of the user","type":"string"}},"required":["chainName","positionId","liquidityPercentage"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getAllPositionsIds","title":"Get All Position IDs","description":"Get all the ids of the active positions created.","inputSchema":{"type":"object","properties":{"chainNames":{"type":"array","items":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"]},"description":"The chains where the positions are located"},"userAddress":{"description":"The wallet address of the user","type":"string"}},"required":["chainNames"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"totalPositions":{"type":"number","description":"Total active positions found"},"chains":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string","description":"Chain identifier"},"dex":{"type":"string","description":"DEX protocol name"},"positionIds":{"type":"array","items":{"type":"string"},"description":"Active position IDs on this chain"}},"required":["chain","dex","positionIds"],"additionalProperties":false},"description":"Positions grouped by chain"}},"required":["totalPositions","chains"],"additionalProperties":false,"description":"Active concentrated liquidity position IDs per chain"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getLpPosition","title":"Get LP Position","description":"Get detailed information about a concentrated liquidity positions","inputSchema":{"type":"object","properties":{"lpPositions":{"type":"array","items":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the position is located"},"positionId":{"type":"string","description":"The id of the position to get information about"}},"required":["chainName","positionId"],"additionalProperties":false},"description":"The positions to get information about"}},"required":["lpPositions"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"positions":{"type":"array","items":{"type":"object","properties":{"chainName":{"type":"string","description":"Chain where the position lives"},"protocol":{"type":"string","description":"DEX protocol name"},"positionId":{"type":"string","description":"NFT position ID"},"token0":{"type":"object","properties":{"symbol":{"type":"string","description":"Token symbol"},"address":{"type":"string","description":"Token contract address"}},"required":["symbol","address"],"additionalProperties":false},"token1":{"type":"object","properties":{"symbol":{"type":"string","description":"Token symbol"},"address":{"type":"string","description":"Token contract address"}},"required":["symbol","address"],"additionalProperties":false},"fee":{"type":"string","description":"Fee tier percentage"},"liquidity":{"type":"string","description":"Raw liquidity amount"},"amount0":{"type":"string","description":"Current token0 amount in the position, human-readable decimal"},"amount0Pct":{"type":"number","description":"Percentage of position value in token0"},"amount1":{"type":"string","description":"Current token1 amount in the position, human-readable decimal"},"amount1Pct":{"type":"number","description":"Percentage of position value in token1"},"pendingFee0":{"type":"string","description":"Uncollected fee in token0, human-readable decimal"},"pendingFee1":{"type":"string","description":"Uncollected fee in token1, human-readable decimal"},"currentPrice":{"type":"string","description":"Current pool price (token1/token0), human-readable decimal"},"lowerPrice":{"type":"string","description":"Position lower bound price (token1/token0), human-readable decimal"},"upperPrice":{"type":"string","description":"Position upper bound price (token1/token0), human-readable decimal"}},"required":["chainName","protocol","positionId","token0","token1","fee","liquidity","amount0","amount0Pct","amount1","amount1Pct","pendingFee0","pendingFee1","currentPrice","lowerPrice","upperPrice"],"additionalProperties":false},"description":"Detailed LP position entries"}},"required":["positions"],"additionalProperties":false,"description":"Detailed state for each requested LP position"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"increaseLiquidity","title":"Increase Liquidity","description":"Increase the liquidity of already created concentrated liquidity position","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"positionId":{"type":"string","description":"The id of the position"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be added, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be added, in human-readable decimal format (e.g. \"1.5\")"},"userAddress":{"description":"The wallet address of the user","type":"string"}},"required":["chainName","positionId","token0","token1","amount0","amount1"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"createSingleSidePosition","title":"Create Single Side Position","description":"Create a new concentrated liquidity position on a single side of the current pool price. Uses for buying or selling a token in current pool. If you want to sell token with price ranges in USD, use the estimateRangesForSellingUsdSingleSide tool first. If you want to buy token with price ranges in USD, use the estimateRangesForBuyingUsdSingleSide tool first.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"tokenIn":{"type":"string","description":"The address of the token to be deposited"},"amountIn":{"type":"string","description":"The amount of the token to be deposited in human-readable decimal format (e.g. \"1.5\"). Set to \"-1\" string if you want to use all the balance."},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"priceLower":{"type":"string","description":"The price to sell or buy the token in lower range, in human-readable decimal format. Set to \"-1\" string if price will setup automatically just near the current pool price"},"priceUpper":{"type":"string","description":"The price to sell or buy the token in upper range, in human-readable decimal format. Set to \"-1\" string if there is only one price"},"userAddress":{"description":"The wallet address of the user","type":"string"}},"required":["chainName","token0","token1","tokenIn","amountIn","fee","priceLower","priceUpper"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"transactions":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"number","description":"EVM chain ID"},"transaction":{"type":"object","properties":{"target":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"ABI-encoded calldata"},"value":{"description":"Native token value in wei","type":"string"}},"required":["target","data"],"additionalProperties":false,"description":"EVM transaction parameters"}},"required":["chainId","transaction"],"additionalProperties":false},"description":"EVM transactions to sign and broadcast"}},"required":["project","operation","transactions"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"estimateAmountsForPositionCreation","title":"Estimate Amounts for Position","description":"Estimate the correct amounts of tokens to be deposited for a new concentrated liquidity position. Adjusts the amounts based on the current pool price.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"lowerPrice":{"type":"string","description":"The lower price of the position range in human-readable decimal format. Set to \"-1\" string if you want to use full range"},"upperPrice":{"type":"string","description":"The upper price of the position range in human-readable decimal format. Set to \"-1\" string if you want to use full range"}},"required":["chainName","token0","token1","amount0","amount1","fee","lowerPrice","upperPrice"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"note":{"type":"string","description":"Human-readable explanation of the adjustment"},"amount0":{"type":"string","description":"Adjusted amount of token0, human-readable decimal"},"amount1":{"type":"string","description":"Adjusted amount of token1, human-readable decimal"}},"required":["note","amount0","amount1"],"additionalProperties":false,"description":"Estimated token0 and token1 amounts for a new position at the current pool price"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"estimateRangesAndAmountsForUsdPositionCreation","title":"Estimate USD Ranges for Position","description":"Estimate rational ranges and the correct amounts of tokens to be deposited for a new concentrated liquidity position when price ranges are in USD. Adjusts the amounts based on the current pool price. Only used for USD price ranges","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"lowerPrice":{"type":"string","description":"The lower price of the position range in USD only per base token, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided"},"upperPrice":{"type":"string","description":"The upper price of the position range in USD only per base token, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided"},"baseToken":{"type":"string","description":"The address of the base token per which usd price ranges are set up"}},"required":["chainName","token0","token1","amount0","amount1","fee","lowerPrice","upperPrice","baseToken"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"note":{"type":"string","description":"Human-readable explanation of the adjustment"},"amount0":{"type":"string","description":"Adjusted amount of token0, human-readable decimal"},"amount1":{"type":"string","description":"Adjusted amount of token1, human-readable decimal"}},"required":["note","amount0","amount1"],"additionalProperties":false,"description":"USD price ranges and matching deposit amounts for position creation"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"estimateRangesForSellingUsdSingleSide","title":"Estimate USD Sell Ranges","description":"Estimates price ranges for selling a token in a pool when prices are provided in USD. For example, when user wants to sell 20 KAVA for $1 in WAGMI/KAVA 0.3% fee pool on Kava chain. This tool converts USD price ranges to the correct ranges for the pool and adjusts them based on the current pool price.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"tokenIn":{"type":"string","description":"The address of the token to be deposited"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"priceLower":{"type":"string","description":"The price provided in USD to sell the token in lower range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if price will setup automatically just near the current pool price"},"priceUpper":{"type":"string","description":"The price provided in USD to sell the token in upper range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if there is only one price"}},"required":["chainName","token0","token1","tokenIn","fee","priceLower","priceUpper"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"note":{"type":"string","description":"Human-readable result summary"}},"required":["note"],"additionalProperties":false,"description":"Pool price ranges converted from USD sell targets"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"estimateRangesForBuyingUsdSingleSide","title":"Estimate USD Buy Ranges","description":"Estimates price ranges for buying a token in a pool when prices are provided in USD. For example, when user wants to buy 20 KAVA for $0.2 in WAGMI/KAVA 0.3% fee pool on Kava chain. This tool converts USD price ranges to the correct ranges for the pool and adjusts them based on the current pool price. Also this tool converts tokenIn and amount to inversed token and adjusted amount","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"tokenIn":{"type":"string","description":"The address of the token to be bought"},"amountIn":{"type":"string","description":"The amount of the token to be bought, in human-readable decimal format (e.g. \"1.5\")"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"priceLower":{"type":"string","description":"The price provided in USD to buy the token in lower range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if price will setup automatically just near the current pool price"},"priceUpper":{"type":"string","description":"The price provided in USD to buy the token in upper range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if there is only one price"}},"required":["chainName","token0","token1","tokenIn","amountIn","fee","priceLower","priceUpper"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"note":{"type":"string","description":"Human-readable result summary"}},"required":["note"],"additionalProperties":false,"description":"Pool price ranges and adjusted tokenIn or amount for USD buy targets"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"estimateAmountsForIncreasePosition","title":"Estimate Amounts for Increase","description":"Estimate the correct amounts of tokens to be added for a concentrated liquidity position. Adjusts the amounts based on the current pool price.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"positionId":{"type":"string","description":"The id of the position"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be added, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be added, in human-readable decimal format (e.g. \"1.5\")"}},"required":["chainName","positionId","token0","token1","amount0","amount1"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"note":{"type":"string","description":"Human-readable explanation of the adjustment"},"amount0":{"type":"string","description":"Adjusted amount of token0, human-readable decimal"},"amount1":{"type":"string","description":"Adjusted amount of token1, human-readable decimal"}},"required":["note","amount0","amount1"],"additionalProperties":false,"description":"Estimated token0 and token1 amounts to add for the given position"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getCurrentPoolPrice","title":"Get Pool Price","description":"Get the current price of the pool","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"}},"required":["chainName","token0","token1","fee"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"dex":{"type":"string","description":"DEX protocol name"},"poolPrice":{"type":"string","description":"Current pool price, human-readable decimal"},"token0Symbol":{"type":"string","description":"Token0 symbol"},"token1Symbol":{"type":"string","description":"Token1 symbol"},"fee":{"type":"string","description":"Fee tier percentage"},"oraclePrice":{"description":"Oracle reference price if available","type":"number"}},"required":["dex","poolPrice","token0Symbol","token1Symbol","fee"],"additionalProperties":false,"description":"Current pool price for the token pair and fee tier"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}},{"name":"getPredefinedPriceRanges","title":"Get Predefined Ranges","description":"Get the predefined price ranges for existing pool","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["kava_evm","metis","sonic","bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","zksync","plasma"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"shortcut":{"type":"string","enum":["risky","wide","safe"],"description":"The shortcut for the predefined price ranges. For example \"risky\" for 1% deviation, \"wide\" for 5% deviation, \"safe\" for 10% deviation"}},"required":["chainName","token0","token1","fee","shortcut"],"additionalProperties":false},"outputSchema":{"type":"object","anyOf":[{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"note":{"description":"Human-readable summary of the action","type":"string"},"data":{"type":"object","properties":{"pool":{"type":"string","description":"Token pair label"},"lowerPrice":{"type":"string","description":"Lower price bound, human-readable decimal"},"upperPrice":{"type":"string","description":"Upper price bound, human-readable decimal"}},"required":["pool","lowerPrice","upperPrice"],"additionalProperties":false,"description":"Predefined lower and upper price bounds for the shortcut"}},"required":["project","operation","data"],"additionalProperties":false},{"type":"object","properties":{"project":{"type":"string","description":"Protocol identifier"},"operation":{"type":"string","description":"Operation that produced this response"},"error":{"type":"string","description":"Error message"}},"required":["project","operation","error"],"additionalProperties":false}]}}]}