Authorizations
A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.
Headers
An optional UUID v4 request header for making requests safely retryable. When included, duplicate requests with the same key will return identical responses. Refer to our Idempotency docs for more information on using idempotency keys.
36Body
The network on which to perform the swap.
base, ethereum, arbitrum, optimism "base"
The 0x-prefixed contract address of the token to receive.
"0x7F5c764cBc14f9669B88837ca1490cCa17c31607"
The 0x-prefixed contract address of the token to send.
"0x6B175474E89094C44Da98b954EedeAC495271d0F"
The amount of the fromToken to send in atomic units of the token. For example, 1000000000000000000 when sending ETH equates to 1 ETH, 1000000 when sending USDC equates to 1 USDC, etc.
"1000000000000000000"
The 0x-prefixed address that holds the fromToken balance and has the Permit2 allowance set for the swap.
"0xAc0974bec39a17e36ba4a6b4d238ff944bacb478"
The 0x-prefixed Externally Owned Account (EOA) address that will sign the Permit2 EIP-712 permit message. This is only needed if taker is a smart contract.
"0x922f49447d8a07e3bd95bd0d56f35241523fbab8"
The target gas price for the swap transaction, in Wei. For EIP-1559 transactions, this value should be seen as the maxFeePerGas value. If not provided, the API will use an estimate based on the current network conditions.
"1000000000"
The maximum acceptable slippage of the toToken in basis points. If this parameter is set to 0, no slippage will be tolerated. If not provided, the default slippage tolerance is 100 bps (i.e., 1%).
0 <= x <= 10000100
Response
Successfully created swap quote.
- CreateSwapQuoteResponse
A wrapper for the response of a swap quote operation.
The approval object which contains the necessary fields to submit an approval for this transaction. Null if the fromToken is the native token or the transaction is a native token wrap / unwrap.
The details of the transaction to be signed and submitted to execute the swap.
The block number at which the liquidity conditions were examined.
"17038723"
The amount of the toToken that will be received in atomic units of the toToken. For example, 1000000000000000000 when receiving ETH equates to 1 ETH, 1000000 when receiving USDC equates to 1 USDC, etc.
"1000000000000000000"
The 0x-prefixed contract address of the token that will be received.
"0x7F5c764cBc14f9669B88837ca1490cCa17c31607"
The estimated fees for the swap.
{
"gasFee": {
"amount": "1000000000000000000",
"token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
},
"protocolFee": {
"amount": "1000000000000000000",
"token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
}
}An object containing potential issues discovered during validation that could prevent the swap from being executed successfully.
{
"allowance": {
"currentAllowance": "1000000000",
"spender": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
},
"balance": {
"token": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"currentBalance": "900000000000000000",
"requiredBalance": "1000000000000000000"
},
"simulationIncomplete": false
}Whether sufficient liquidity is available to settle the swap. All other fields in the response will be empty if this is false.
true
The minimum amount of the toToken that must be received for the swap to succeed, in atomic units of the toToken. For example, 1000000000000000000 when receiving ETH equates to 1 ETH, 1000000 when receiving USDC equates to 1 USDC, etc. This value is influenced by the slippageBps parameter.
"900000000000000000"
The amount of the fromToken that will be sent in this swap, in atomic units of the fromToken. For example, 1000000000000000000 when sending ETH equates to 1 ETH, 1000000 when sending USDC equates to 1 USDC, etc.
"1000000000000000000"
The 0x-prefixed contract address of the token that will be sent.
"0x6B175474E89094C44Da98b954EedeAC495271d0F"