> For the complete documentation index, see [llms.txt](https://docs.aevo.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aevo.xyz/api-reference/urls/private-api/postquotespreview.md).

# POST /quotes/preview

Simulate a new quote.

`POST https://api.aevo.xyz/quotes/preview`

> **Authentication required.** Include your `AEVO-KEY` and `AEVO-SECRET` headers. See [Authentication](/api-reference/urls/authentication.md).

## Body Parameters

| Field         | Type           | Required | Description                                                                                                                          |
| ------------- | -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `block_id`    | string         | Yes      | Block ID is the unique identifier of the block Example: `0x4c43e0ab72a4edb72dfe4b129148899815d816837b9a7e22d964b884834639f8`         |
| `account`     | string         | Yes      | Account's Ethereum address. Example: `0xE9b3a48d15BE316A8e34FAd53fFDFDddf0C3D24b`                                                    |
| `amount`      | string         | Yes      | Number of contracts. In 6 decimals fixed number. Example: `1000000`                                                                  |
| `is_buy`      | boolean        | Yes      | True for long order, false for short order. Example: `True`                                                                          |
| `salt`        | string         | Yes      | A randomly generated number to guarantee transaction uniqueness. In 6 decimals fixed number. Example: `12345678`                     |
| `timestamp`   | string         | Yes      | Timestamp used in order signing in UNIX timestamp in seconds. Example: `1680249600`                                                  |
| `signature`   | string         | Yes      | Hash of order payload signature signed by the account. Example: `0x4c55895aa6f2dfc2da8189a71a054348ce63abbc1ae27267977e0d9cc6848e91` |
| `legs`        | array\[object] | No       |                                                                                                                                      |
| `limit_price` | string         | No       | Order limit price. In 6 decimals fixed number. Example: `1000000`                                                                    |
| `system_type` | string         | No       | Can be set to API or WEB (API is set by default)                                                                                     |

## Example Request

```bash
curl --request POST \
     --url https://api.aevo.xyz/quotes/preview \
     --header 'accept: application/json' \
     --header 'AEVO-KEY: <your-api-key>' \
     --header 'AEVO-SECRET: <your-api-secret>' \
     --header 'content-type: application/json' \
     --data '{ ... }'
```

## Responses

**`200`** — Quote created.

| Field               | Type           | Required | Description                                                                                                                  |
| ------------------- | -------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `block_id`          | string         | Yes      | Block ID is the unique identifier of the block Example: `0x4c43e0ab72a4edb72dfe4b129148899815d816837b9a7e22d964b884834639f8` |
| `quote_id`          | string         | Yes      | Quote ID is the hash of the quote payload Example: `0x4c43e0ab72a4edb72dfe4b129148899815d816837b9a7e22d964b884834639f8`      |
| `amount`            | string         | Yes      | Number of contracts. In 6 decimals fixed number. Example: `1000000`                                                          |
| `initial_margin`    | string         | Yes      | Margin required to keep an open order. Example: `12.23`                                                                      |
| `filled`            | string         | Yes      | Amount filled. Example: `12.23`                                                                                              |
| `limit_price`       | string         | Yes      | Order limit price. In 6 decimals fixed number. Example: `1000000`                                                            |
| `quote_status`      | string         | Yes      | Quote status. Example: `filled`                                                                                              |
| `legs`              | array\[object] | No       |                                                                                                                              |
| `avg_price`         | string         | No       | Average entry price of the position. Example: `12.23`                                                                        |
| `created_timestamp` | string         | Yes      | Created timestamp in UNIX timestamp in nanoseconds. Example: `1680249600000000000`                                           |

**`400`** — Bad request.

| Field   | Type   | Required | Description                                     |
| ------- | ------ | -------- | ----------------------------------------------- |
| `error` | string | Yes      | Error message. Example: `ERR_MALFORMED_REQUEST` |

**`401`** — Unauthorized.

| Field   | Type   | Required | Description                            |
| ------- | ------ | -------- | -------------------------------------- |
| `error` | string | Yes      | Error message. Example: `UNAUTHORIZED` |

**`429`** — Rate limit exceeded.

| Field   | Type   | Required | Description                                   |
| ------- | ------ | -------- | --------------------------------------------- |
| `error` | string | Yes      | Error message. Example: `RATE_LIMIT_EXCEEDED` |

**`500`** — Internal server error.

| Field   | Type   | Required | Description                              |
| ------- | ------ | -------- | ---------------------------------------- |
| `error` | string | Yes      | Error message. Example: `INTERNAL_ERROR` |
