# Create swap EIP 7702 calldata (POST /swap_7702)

Operation `create_swap_7702_transaction` of the Uniswap API. Base URL: `https://trade-api.gateway.uniswap.org/v1`.

Create the EIP 7702 calldata for a swap transaction (including wrap/unwrap and bridging) against the Uniswap Protocols. If the `quote` parameter includes the fee parameters, then the calldata will include the fee disbursement. The gas estimates will be **more precise** when the the response calldata would be valid if submitted on-chain.

Native ETH / UniswapX setup: When `x-erc20eth-enabled` is `true` and the input token is native ETH, the response may include an additional native approval call (e.g. an `approveNative` step) to enable ERC20-ETH (EIP-7914) spending for the wallet. This native allowance is a prerequisite for native ETH input on UniswapX (`/quote` then `/order`) for supported wallets.

Parameters: 3 header, 7 body · Request: `application/json` · Auth: apiKey · Responses: 200, 400, 401, 404, 429, 500, 504

## Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `x-api-key` | string | yes | Your API key for authentication. |
| `x-universal-router-version` | enum | no | The version of the Universal Router to use for the swap journey. *MUST* be consistent throughout the API calls. |
| `x-erc20eth-enabled` | boolean | no | Enable native ETH input support for UniswapX via ERC20-ETH (EIP-7914). When set to true and `tokenIn` is the native currency address (e.g. `0x0000000000000000000000000000000000000000`), the API may return UniswapX routes that spend native ETH for supported wallets. |

## Body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `quote` | ClassicQuote | WrapUnwrapQuote | BridgeQuote | yes |  |
| `permitData` | object | no | the permit2 message object for the customer to sign to permit spending by the permit2 contract. |
| `smartContractDelegationAddress` | string | no |  |
| `includeGasInfo` | boolean | no |  |
| `deadline` | number | no | The unix timestamp at which the order will be reverted if not filled. |
| `urgency` | enum | UrgencyWithOverrides | no | The urgency impacts the estimated gas price of the transaction. The higher the urgency, the higher the gas price, and the faster the transaction is likely to be selected from the mempool. Send the bare string form (e.g. `"normal"`) for the common case, or the object form `{ level, overrides }` to supply caller caps for `maxPriorityFeePerGas`, `maxFeePerGas`, and `gasLimit`. |
| `simulateTransaction` | boolean | no |  |

## Responses

- `200` — Create 7702 swap successful.
- `400` — RequestValidationError, Bad Input
- `401` — UnauthorizedError eg. Account is blocked or  Fee is not enabled.
- `404` — ResourceNotFound eg. No quotes available or Gas fee/price not available
- `429` — Ratelimited
- `500` — Unexpected error
- `504` — Request duration limit reached.

Interactive playground: https://developers.uniswap.org/docs/api-reference/create_swap_7702_transaction
All endpoints: https://developers.uniswap.org/docs/api-reference
