openapi: 3.0.3 info: title: ParaSwap Market API v5 prices transactions API description: The ParaSwap Market API (now Velora Market API) provides real-time optimal swap routing across 170+ DEXes on 12 EVM-compatible chains. Retrieve price quotes with optimal routes, build transaction call data, or combine both in a single call. Supports the Augustus v5 smart contract. contact: email: contact@paraswap.io license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html version: '5.0' servers: - url: https://apiv5.paraswap.io tags: - name: transactions description: Build parameters for a transaction paths: /transactions/{network}: post: operationId: buildTransaction tags: - transactions summary: Build Transaction to be sent to the blockchain. description: Builds a transaction object ready to sign and send to the blockchain. Pass the priceRoute returned from /prices unmodified. requestBody: $ref: '#/components/requestBodies/TransactionsRequestBody' parameters: - $ref: '#/components/parameters/Network' - name: gasPrice in: query description: The set gas-price for the transaction in wei. required: false schema: type: string examples: ? '' : value: null fast: value: '50000000000' - name: ignoreChecks description: 'Allows the API to skip performing onchain checks such as balances, allowances, as well as transaction simulations. Note: The response does not contain gas parameter when ignoreChecks is set to `true`. ' in: query required: false schema: type: boolean - name: ignoreGasEstimate description: Allows the API to skip gas checks Note: The response does not contain gas parameter when ignoreGasEstimate is set to `true`. in: query required: false schema: type: boolean - name: onlyParams description: Allows the API to return the contract parameters only. in: query required: false schema: type: boolean responses: '200': $ref: '#/components/responses/TransactionsBuildSuccessResponse' '400': $ref: '#/components/responses/TransactionsBuildErrorResponse' components: schemas: TransactionsError: type: object required: - error properties: error: type: string RouterParameters: description: Returned when /transactions is called with onlyParams=true type: array items: oneOf: - type: string - type: array items: type: string OptimalRoute: type: object required: - percent - swaps properties: percent: type: number example: 100 swaps: type: array items: $ref: '#/components/schemas/OptimalSwap' Network: type: number enum: - 1 - 3 - 56 - 137 PriceRoute: description: Response body returned from /prices endpoint. Pass this object unmodified to /transactions. type: object required: - blockNumber - network - srcToken - srcDecimals - srcAmount - destToken - destDecimals - destAmount - bestRoute - gasCost - gasCostUSD - side - tokenTransferProxy - contractAddress - contractMethod - srcUSD - destUSD - partner - partnerFee - maxImpactReached - hmac properties: blockNumber: type: integer minimum: 0 example: 13015909 network: $ref: '#/components/schemas/Network' srcToken: description: Source Token Address type: string example: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' srcDecimals: $ref: '#/components/schemas/TokenDecimals' srcAmount: type: string example: '1000000000000000000' destToken: description: Destination Token Address type: string example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' destDecimals: $ref: '#/components/schemas/TokenDecimals' destAmount: type: string example: '1000000000000000000' bestRoute: type: array items: $ref: '#/components/schemas/OptimalRoute' others: description: Available if /prices was called with otherExchangePrices=true type: array items: $ref: '#/components/schemas/OptionalRate' gasCostUSD: type: string example: '11.947163' gasCost: type: string example: '111435' side: $ref: '#/components/schemas/SwapSide' tokenTransferProxy: type: string example: '0x3e7d31751347BAacf35945074a4a4A41581B2271' contractAddress: type: string example: '0x485D2446711E141D2C8a94bC24BeaA5d5A110D74' contractMethod: type: string example: swapOnUniswap srcUSD: type: string example: '3230.3000000000' destUSD: type: string example: '3218.9300566052' partner: type: string example: paraswap.io partnerFee: type: integer minimum: 0 example: 0 maxImpactReached: type: boolean example: false hmac: type: string example: 319c5cf83098a07aeebb11bed6310db51311201f TransactionsBuildResponse: type: object properties: from: type: string example: '0xbe0eb53f46cd790cd13851d5eff43d12404d33e8' to: type: string example: '0xDEF171Fe48CF0115B1d80b88dc8eAB59176FEe57' value: type: string example: '10000000000000000' data: type: string gasPrice: type: string example: '42452400000' chainId: $ref: '#/components/schemas/Network' gas: description: Included only if neither ignoreChecks nor ignoreGasEstimate are true type: string example: '197142' OptimalSwap: type: object required: - srcToken - srcDecimals - destToken - destDecimals - swapExchanges properties: srcToken: type: string srcDecimals: $ref: '#/components/schemas/TokenDecimals' destToken: type: string destDecimals: $ref: '#/components/schemas/TokenDecimals' swapExchanges: type: array items: $ref: '#/components/schemas/OptimalSwapExchange' SwapSide: type: string enum: - SELL - BUY TokenDecimals: type: integer minimum: 0 OptimalSwapExchange: type: object required: - exchange - srcAmount - destAmount - percent properties: exchange: type: string example: UniswapV2 srcAmount: type: string example: '1000000000000000000' destAmount: type: string example: '1000000000000000000' percent: type: number example: 100 data: type: object OptionalRate: type: object required: - exchange - srcAmount - destAmount properties: exchange: type: string example: UniswapV2 srcAmount: type: string example: '1000000000000000000' destAmount: type: string example: '3255989380' unit: type: string example: '3255989380' data: type: object TransactionsRequestPayload: type: object required: - srcToken - destToken - userAddress - priceRoute properties: srcToken: description: Source Token Address. Only Token Symbol could be specified for tokens from /tokens. type: string example: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' srcDecimals: description: Source Token Decimals; can be omitted if Symbol is provided for srcToken. type: integer example: 18 destToken: description: Destination Token Address. Only Token Symbol could be specified for tokens from /tokens. type: string example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' destDecimals: description: Destination Token Decimals; can be omitted if Symbol is provided for destToken. type: integer example: 6 srcAmount: description: Amount in the Denomination of srcToken as returned from the /prices endpoint. Required if side=SELL. type: string example: '10000000000000000' destAmount: description: Amount in the Denomination of destToken as returned from the /prices endpoint. Required if side=BUY. type: string example: '29504841' slippage: description: Slippage percentage in basis points. E.g. 250 = 2.5%. Can be passed instead of destAmount (SELL) or srcAmount (BUY). type: integer minimum: 0 maximum: 10000 userAddress: description: Address of the signer / transaction sender. type: string example: '0xF7B2F3cD946052f8b397F801299b80F053515AF9' txOrigin: description: When msg.sender (userAddress) differs from the address calling the ParaSwap contract, txOrigin must be passed along with userAddress. type: string receiver: description: Address of the token receiver. type: string partnerAddress: description: Partner address. If provided, takes precedence over partner string. type: string partnerFeePercent: description: Partner fee in basis points. Used together with partner if provided. type: integer minimum: 0 maximum: 10000 partner: description: Partner identifier string. type: string example: metamask permit: description: Permit hash (hex-string) to skip token approval before swap, saving gas. type: string deadline: description: Unix timestamp (seconds) until which the transaction is valid. type: integer priceRoute: $ref: '#/components/schemas/PriceRoute' responses: TransactionsBuildSuccessResponse: description: Ethereum transaction request object. `gas` is included only if neither of `ignoreChecks` and `ignoreGasEstimate` are true. When `onlyParams=true` RouterParameters is returned. content: application/json: schema: oneOf: - $ref: '#/components/schemas/TransactionsBuildResponse' - $ref: '#/components/schemas/RouterParameters' TransactionsBuildErrorResponse: description: Transaction Building Error content: application/json: schema: $ref: '#/components/schemas/TransactionsError' parameters: Network: name: network in: path description: ID of the network. (Mainnet - 1, Ropsten - 3, Polygon - 56, BSC - 137). required: true schema: allOf: - $ref: '#/components/schemas/Network' - default: 1 requestBodies: TransactionsRequestBody: description: Transaction request payload. The priceRoute object should be parsed directly without any change. required: true content: application/json: schema: $ref: '#/components/schemas/TransactionsRequestPayload' externalDocs: description: Velora / ParaSwap Developer Documentation url: https://developers.velora.xyz/api/velora-api/velora-market-api