Add Liquidity To An Existing Position On Another Chain
Adds liquidity to a position that lives on a different chain than the funds, in a single signature. The user signs one operation on `chainId`; the bridge delivers `destinationToken` on `chainIdOut` and, in the same destination transaction, splits it at the position range ratio and grows the position. The destination side is atomic: if any part of it fails, nothing settles and the deposit is refunded on `chainId`. Platform fees and gas fees are always charged in `tokenIn`.
Authorization
x-api-key In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v1/liquidity/add/cross-chain" \ -H "Content-Type: application/json" \ -d '{ "walletAddress": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464", "chainId": 42161, "gasFeePaymentMethod": "ADD_TO_AMOUNT", "tokenIn": "0x2791bca1f2de4661ed88a30c99a7a9449aa84174", "amountIn": "1.2", "tokenId": "123456", "chainIdOut": 42161, "destinationToken": "0x55d398326f99059ff775485246999027b3197955" }'{ "operation": { "metadata": { "key": "value" }, "userOperationHash": "0x2aac7a66d5331454eafc9b981be3596ad08a40dad24883e3b9c4a5362cd7f7e1", "revertReason": { "decoded": "ERC-20 insufficient balance. Address 0xf12534a4939c7fbda50f893774a9525265fe1a9a has 120. The operation requested 200.", "raw": "0xe450d38c000000000000000000000000f12534a4939c7fbda50f893774a9525265fe1a9a0000000000000000000000000000000000000000000000068155a43676e0000000000000000000000000000000000000000000000000000ad78ebc5ac6200000", "utf8": "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�%4�����\u000f�7t�RRe�\u001a�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006�U�6v�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n�Z� \u0000\u0000" }, "authorization": { "chainId": 42161, "address": "0xd6cedde84be40893d153be9d467cd6ad37875b28", "nonce": 10, "hash": "0x777811ae5d51875409b9978ddc1b40a9da1bbe9570040bdd7c5f186d70ceceba" }, "tokenIn": { "name": "Wrapped Bitcoin", "symbol": "WBTC", "decimals": 18, "address": "0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f", "logoURL": "https://assets.notus.team/wbtc.png" }, "amountIn": "7239.2", "tokenInAmountForToken0": "3619.6", "tokenInAmountForToken1": "3619.6", "walletAddress": "0x6e397ddf51d9f15dbe0414538e7529f51f2e5464", "expiresAt": "2025-10-26T13:27:49.542Z", "amounts": "7239.2", "fees": [ { "amount": "100.5", "token": "0x1234567890123456789012345678901234567890", "toAddress": "0x1234567890123456789012345678901234567890", "type": "NOTUS", "percentage": "2" } ], "estimatedGasFees": { "payGasFeeToken": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f", "maxGasFeeToken": "12.345", "gasFeeTokenAmount": "12.345", "gasFeeTokenAmountUSD": "0.321", "maxGasFeeNative": "string" }, "chain": 42161, "liquidityProvider": "UNISWAP_V3", "nftAddress": "0xc36442b4a4522e871399cd717abdd847ab11fe88", "estimatedApr": "18.42" }}Add Liquidity via Swap POST
This endpoint adds liquidity to an existing position by swapping a single input token into the two pool tokens and increasing the position.
Collect fees from liquidity POST
Collects the fees received by the liquidity NFT. This will both create a user operation to be executed and will show how much will be collected, so you can choose if you really want to collect it or not. Always collects the full amount.