---
title: "Post a new order"
method: POST
path: "/orders/new"
tags: ["Orders"]
---

# Post a new order

`POST /orders/new`

This endpoint offers new orders on the exchange (market making). Offering orders does not cost any fee.

## Request body

- object
  - `orders` SignedNewOrder[], required — Array of signed orders to post
    - `marketHash` string, required — The market you wish to place this order under
    - `maker` string, required — The ethereum address offering the bet. The address in the `maker` field must match the account being used to create the signature!
    - `baseToken` string, required — The token this order is denominated in. Token addresses vary by network — see the `addresses` field in GET /metadata or the References page for the correct address.
    - `totalBetSize` string, required — The total bet size of the order in Ethereum units. Minimum 10 USDC.
    - `percentageOdds` string, required — The odds the maker will be receiving as this order gets filled. Must be on the odds ladder or will be rejected.
    - `expiry` integer, required — Deprecated. Time in UNIX seconds after which this order is no longer valid. Must always be 2209006800.
    - `apiExpiry` integer, required — Time in UNIX seconds after which this order is no longer valid.
    - `executor` string, required — The sx.bet executor address. See the metadata section for where to get this address
    - `salt` string, required — A random 32 byte string to differentiate between orders with otherwise identical parameters
    - `isMakerBettingOutcomeOne` boolean, required — `true` if the maker is betting outcome one (and hence taker is betting outcome two if filled)
    - `signature` string, required — The signature of the maker on this order payload

## Response `201`

- object
  - `status` string — `success` or `failure` if the request succeeded or not
  - `data` object
    - `orders` string[] — The order hashes corresponding to the new orders
    - `statuses` object — Map of order hash to status string for each submitted order
    - `inserted` number — The number of new orders successfully inserted

## Other responses

- `400` — Error Codes: `TOO_MANY_DIFFERENT_MARKETS` — More than 3 different markets queried `ORDERS_MUST_HAVE_IDENTICAL_MARKET` — All orders must be for the same network, either `SXN` or `SXR` `BAD_BASE_TOKEN` — All orders must be for the same base token, either `USDC` or `WSX` `ACCOUNT_SUSPENDED` — Your account has been suspended `INSUFFICIENT_KYC` — user has not registered on sx.bet

---

[API](https://skmtc.net/sx/apis/sx-bet-api.md) · [All operations](https://skmtc.net/sx/apis/sx-bet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sx/sx-bet-api/versions/eb2c05c3a98e/schema)
