---
api: 'Revolut X Crypto Exchange REST API'
---

# Place order

Place a new order.
The user is resolved by the provided API key.

:::note
Rate limit for limit orders: 1000 requests/day.
:::

## Endpoint

POST `/orders`

## Parameters

### header parameters

- `X-Revx-Timestamp` (integer, required)
  Current timestamp in Unix epoch milliseconds. 
  Used to prevent replay attacks and construct the signature.
  Provided with other authentication headers.

- `X-Revx-Signature` (string, required)
  The Ed25519 signature of the request. 
  Provided with other authentication headers.
  
  :::tip
  See **Authentication headers: Signing a request** for details on how to generate this.
  :::

## Request body

Order placement details.

### Attributes

- `client_order_id` (string)
    Unique identifier for idempotency.
- `symbol` (string)
    The trading pair symbol.
- `side` (enum)
    The direction of the order.
    Possible enum values:

    - `buy`
    - `sell`
- `order_configuration` (object)
    Configuration for the order. Must contain exactly one of 'limit' or 'market'.
  - `order_configuration.limit` (object, optional)
      Limit order configuration. Must contain exactly one of 'base_size' or 'quote_size'.
    - `order_configuration.limit.base_size` (string, optional)
        Amount of base currency.
    - `order_configuration.limit.quote_size` (string, optional)
        Amount of quote currency.
    - `order_configuration.limit.price` (string)
        The limit price.
    - `order_configuration.limit.execution_instructions` (array of enum, optional)
        List of execution instructions for the order.
        Can be provided as an empty array `[]` if no specific instructions are required.
  - `order_configuration.market` (object, optional)
      Market order configuration. Must contain exactly one of 'base_size' or 'quote_size'.
    - `order_configuration.market.base_size` (string, optional)
        Amount of base currency.
    - `order_configuration.market.quote_size` (string, optional)
        Amount of quote currency.

## Returns

### 200

OK

The successfully placed order details.

#### Response attributes

- `data` (object)
    Wrapper object containing the order details.
  - `data.venue_order_id` (string)
      ID of the order generated by the system.
  - `data.client_order_id` (string)
      Client order ID provided by the client.
  - `data.state` (enum)
      Order state after submitting it.
      Possible enum values:

      - `pending_new`
      - `new`
      - `partially_filled`
      - `filled`
      - `cancelled`
      - `rejected`
      - `replaced`

## Error responses

| HTTP status code | Description |
| --- | --- |
| 400 | Bad request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 409 | Conflict |
| 429 | Rate Limit Exceeded |
| 5XX | Server Error |
