{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/uniswap/refs/heads/main/json-schema/uniswap-create-position-request-schema.json", "title": "CreatePositionRequest", "description": "CreatePositionRequest schema from Uniswap Trading API", "type": "object", "properties": { "walletAddress": { "$ref": "#/components/schemas/Address" }, "existingPool": { "allOf": [ { "$ref": "#/components/schemas/CreatePositionExistingPoolParameters" } ], "description": "Parameters for an existing pool. Provide either existingPool or newPool, not both." }, "newPool": { "allOf": [ { "$ref": "#/components/schemas/CreatePoolParameters" } ], "description": "Parameters for creating a new pool. Provide either existingPool or newPool, not both." }, "chainId": { "$ref": "#/components/schemas/ChainId" }, "protocol": { "$ref": "#/components/schemas/ProtocolItems" }, "independentToken": { "allOf": [ { "$ref": "#/components/schemas/CreateToken" } ], "description": "The token whose amount you are specifying." }, "dependentToken": { "allOf": [ { "$ref": "#/components/schemas/CreateToken" } ], "description": "The other token. The server computes the required amount. If provided, the amount is used as a maximum." }, "priceBounds": { "allOf": [ { "$ref": "#/components/schemas/PositionPriceBounds" } ], "description": "Price bounds for the position range. Provide either priceBounds or tickBounds, not both." }, "tickBounds": { "allOf": [ { "$ref": "#/components/schemas/PositionTickBounds" } ], "description": "Tick bounds for the position range. Provide either priceBounds or tickBounds, not both." }, "slippageTolerance": { "type": "number", "description": "Slippage tolerance as a decimal (e.g., 0.5 for 0.5%)." }, "deadline": { "type": "integer", "description": "Unix timestamp after which the transaction will revert." }, "simulateTransaction": { "type": "boolean", "description": "If true, the response will include the gas fee." }, "urgency": { "$ref": "#/components/schemas/GasUrgency" }, "batchPermitData": { "allOf": [ { "$ref": "#/components/schemas/NullablePermit" } ], "description": "Batch permit data for V4 positions." }, "signature": { "type": "string", "description": "The signed permit." }, "nativeTokenBalance": { "type": "string", "description": "The wallet's native token balance, used for wrapping calculations when one of the tokens is the native token." } }, "required": [ "walletAddress", "chainId", "protocol", "independentToken" ] }