Uniswap · Schema

CreatePositionRequest

CreatePositionRequest schema from Uniswap Trading API

BlockchainCryptocurrencyDeFiDecentralized ExchangeLiquiditySwaps

Properties

Name Type Description
walletAddress object
existingPool object Parameters for an existing pool. Provide either existingPool or newPool, not both.
newPool object Parameters for creating a new pool. Provide either existingPool or newPool, not both.
chainId object
protocol object
independentToken object The token whose amount you are specifying.
dependentToken object The other token. The server computes the required amount. If provided, the amount is used as a maximum.
priceBounds object Price bounds for the position range. Provide either priceBounds or tickBounds, not both.
tickBounds object Tick bounds for the position range. Provide either priceBounds or tickBounds, not both.
slippageTolerance number Slippage tolerance as a decimal (e.g., 0.5 for 0.5%).
deadline integer Unix timestamp after which the transaction will revert.
simulateTransaction boolean If true, the response will include the gas fee.
urgency object
batchPermitData object Batch permit data for V4 positions.
signature string The signed permit.
nativeTokenBalance string The wallet's native token balance, used for wrapping calculations when one of the tokens is the native token.
View JSON Schema on GitHub

JSON Schema

uniswap-create-position-request-schema.json Raw ↑
{
  "$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"
  ]
}