# Create a gasless order (POST /order)

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

The order endpoint is used to submit a UniswapX intent. If the `routing` field in the response to a quote is any of `DUTCH_V2`, `DUTCH_V3`, `LIMIT_ORDER`, or `PRIORITY` this endpoint is used to submit your order to the UniswapX protocol to be filled by the filler network. These orders are gasless because the filler will pay the gas to complete the transaction.

The order will be validated and, if valid, will be submitted to the filler network. The network will try to fill the order at the quoted `startAmount`. If the order is not filled at the `startAmount` by the `deadline`, the amount will start decaying until the `endAmount` is reached. The order will remain `open` until it is either filled, canceled, or has expired by remaining unfilled beyond the `decayEndTime`.

For simplicity, the order request is identical to the quote response except for the addition of the signed permit.

Native ETH on UniswapX: If the quote you are submitting uses native ETH as the input token (e.g. `tokenIn` is `0x0000000000000000000000000000000000000000`), include `x-erc20eth-enabled: true`. Native ETH input on UniswapX requires wallet support for EIP-7914 and sufficient native allowance. For 7702-delegated smart contract wallets, you can generate the required approval call(s) via `/swap_7702` when needed.

Parameters: 2 header, 3 body · Request: `application/json` · Auth: apiKey · Responses: 201, 400, 401, 429, 500, 503, 504

## Headers

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `x-api-key` | string | yes | Your API key for authentication. |
| `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 |
| --- | --- | --- | --- |
| `signature` | string | yes | The signed permit. |
| `quote` | DutchQuoteV2 | DutchQuoteV3 | PriorityQuote | yes |  |
| `routing` | enum | yes | The routing for the proposed transaction. |

## Responses

- `201` — Encoded order submitted.
- `400` — RequestValidationError, Bad Input
- `401` — UnauthorizedError eg. Account is blocked.
- `429` — Ratelimited
- `500` — Unexpected error
- `503` — Failed to post order to the upstream UniswapX service.
- `504` — Request duration limit reached.

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