---
title: "Preview crypto order"
method: POST
path: "/accounts/{accountId}/trading/crypto/preview"
tags: ["Trading"]
---

# Preview crypto order

`POST /accounts/{accountId}/trading/crypto/preview`

Previews an order using the specified account.

## Path parameters

- `accountId` string, uuid, required — Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.

## Query parameters

- `userId` string, required — SnapTrade User ID. This is chosen by the API partner and can be any string that is a) unique to the user, and b) immutable for the user. It is recommended to NOT use email addresses for this property because they are usually not immutable.
- `userSecret` string, required — SnapTrade User Secret. This is a randomly generated string and should be stored securely. If compromised, please rotate it via the [rotate user secret endpoint](/reference/Authentication/Authentication_resetSnapTradeUserSecret).

## Request body

- CryptoOrderForm
  - `instrument` CryptoTradingInstrument, required
    - `symbol` string, required — The instrument's trading ticker symbol
    - `type` 'CRYPTOCURRENCY' | 'CRYPTOCURRENCY_PAIR', required — The instrument's type
  - `side` 'BUY' | 'SELL', required — The action describes the intent or side of a trade. This is either `BUY` or `SELL`.
  - `type` 'MARKET' | 'LIMIT' | 'STOP_LOSS_MARKET' | 'STOP_LOSS_LIMIT' | 'TAKE_PROFIT_MARKET' | 'TAKE_PROFIT_LIMIT', required — The type of order to place.
  - `time_in_force` 'GTC' | 'FOK' | 'IOC' | 'GTD', required — The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order must be executed immediately. Any portion of the order that cannot be filled immediately will be canceled. - `GTD` - Good Til Date. The order is valid until the specified date.
  - `amount` string, decimal, required — The amount of the base currency to buy or sell.
  - `limit_price` string, decimal — The limit price. Required if the order type is `LIMIT`, `STOP_LOSS_LIMIT` or `TAKE_PROFIT_LIMIT`.
  - `stop_price` string, decimal — The stop price. Required if the order type is `STOP_LOSS_MARKET`, `STOP_LOSS_LIMIT`, `TAKE_PROFIT_MARKET` or `TAKE_PROFIT_LIMIT`.
  - `post_only` boolean — Valid and required only for order type `LIMIT`. If true orders that would be filled immediately are rejected to avoid incurring TAKER fees.
  - `expiration_date` string, date-time — The expiration date of the order. Required if the time_in_force is `GTD`.

## Response `200`

OK

- CryptoOrderPreview — Preview of an order.
  - `estimated_fee` object — The estimated order fee.
    - `currency` string, required — Symbol to identify a cryptocurrency or fiat currency on a crypto exchange. Fiat currencies symbols are ISO-4217 codes.
    - `amount` string, decimal, required

## Other responses

- `400` — Invalid request
- `500` — Unexpected Error

---

[API](https://skmtc.net/passiv/apis/snaptrade.md) · [All operations](https://skmtc.net/passiv/apis/snaptrade/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/passiv/snaptrade/revisions/78cac0377d17/schema)
