v1

latestOpenAPI 3.0.02026-07-26117342409.6 KB
Orders

Create Order

For limit orders, create an order for buying or selling an asset:

  • To buy, set side = BUY and set base_amount to the crypto amount you want to buy.
  • To sell, set side = SELL and set base_amount to the crypto amount you want to sell.

For market orders, create an order for buying or selling an asset:

  • To buy, set side = BUY and set quote_amount to the dollar amount you want to spend.
  • To sell, set side = SELL and set base_amount to the crypto amount you want to sell.

There are five types of orders:

  • Limit Orders: Buy or sell at a specified price or better. Execution not guaranteed. Taker orders will be rejected if price deviates 15% from midpoint.
  • Post-Only Limit Orders: have the same properties as Limit Orders, but get rejected if they cross the orderbook.
  • Market Orders: Operate as Immediate or Cancel (IOC) orders. Price is variable, executes at best available price at time of order.
  • Stop Market Orders: Will convert to a market sell order with the specified quantity when the stop price is hit. The stop price does not guarantee that it will be executed at that price. Market conditions (price) might change between the order being triggered and order being executed. Currently only sell stop loss orders are supported.
  • Stop Limit Orders: have a Stop Price which when hit, will convert to a limit sell order that will be executed at a specified price (or better)

Order size limits vary by asset and order type. For current limits, see https://docs.paxos.com/guides/crypto-brokerage/orders-precision-rounding#order-limitations

post/profiles/{profile_id}/orders

Path parameters

profile_idstring required

The profileId the order will be associated with.

Request body

ref_idstring

The idempotence ID for order creation. Can be reused if the order has been closed for more than 24 hours.

side'BUY' | 'SELL' required

Trade side.

market'ETHEUR' | 'ETHSGD' | 'ETHUSD' | 'BTCEUR' | 'BTCSGD' | 'BTCUSD' | 'PAXGUSD' | 'BCHUSD' | 'LTCUSD' | 'USDPUSD' | 'LINKUSD' | 'AAVEUSD' | 'UNIUSD' | 'PEPEUSD' | 'TRUMPUSD' | 'SHIBUSD' | 'ARBUSD' | 'BONKUSD' | 'ENAUSD' | 'MNTUSD' | 'ONDOUSD' | 'PENGUUSD' | 'QNTUSD' | 'RENDERUSD' | 'SKYUSD' | 'WIFUSD' | 'WLDUSD' | 'DOGEUSD' | 'AVAXUSD' | 'SUIUSD' | 'POLUSD' | 'XLMUSD' | 'BNBUSD' required
type'LIMIT' | 'MARKET' | 'POST_ONLY_LIMIT' | 'STOP_MARKET' | 'STOP_LIMIT' required

Trade type.

base_amountstring

The base currency amount for any limit order or the exact amount to sell for a market sell order.

pricestring decimal

The quote price.

quote_amountstring

The quote currency amount of purchase for a market buy order.

metadataobject

Metadata to store on the quote and created order. Up to 6 key/value pairs may be stored, with each key and value at most 100 characters.

await_fill_millisinteger

The amount of time to wait for the order to fill, in milliseconds. When await_fill_millis is set to a non-zero value, the Create Order call does not return immediately on order creation. Instead, the call blocks until either:

  1. The order has filled completely
  2. The time await_fill_millis has elapsed The maximum wait timeout is 10 seconds (10000 milliseconds).
time_in_force'GTC' | 'FOK' | 'IOC' | 'GTT'

How long an order will remain active before it expires.

  • Immediate-or-Cancel (IOC): Cancel if not executed immediately, partial fills allowed.
  • Good-Til-Canceled (GTC): Order can be canceled at any point until executed.
  • Good-Til-Time (GTT): Expires if not executed by a specified time. GTT must be greater than 10 seconds after the order is placed, otherwise the order will be rejected.
  • Fill-or-Kill (FOK): Fill entire order only or cancel entire order, does not allow for partial filling.

Time in Force validity for Order Types

Order typeImmediate or Cancel (IOC)Good Til Canceled (GTC)Good Til Time (GTT)Fill or Kill (FOK)
Market OrderDefault---
Limit OrderValidDefaultValidValid
Post Only LimitValidDefaultValidValid
Stop Market-DefaultValid-
Stop Limit-DefaultValid-
expiration_datestring uint64

The date the order will expire if not completed when specified time in force is GTT. Format is a unix timestamp in milliseconds (13-digits) UTC (total milliseconds that have elapsed since January 1st, 1970 UTC).

identity_idstring

The end user that requests the trade. This field must be used in conjunction with identity_account_id, otherwise the order is rejected. Depending on your integration type, identity_id and identity_account_id may be required.

identity_account_idstring

The account under which this order is placed. The provided identity must be allowed to trade on behalf of this account. This field must be used in conjunction with identity_id, otherwise the order is rejected. Depending on your integration type, identity_account_id and identity_id may be required.

stop_pricestring decimal
recipient_profile_idstring

The profileId that will receive settled currency (base for buy orders, quote for sell orders).

self_match_prevention_idstring

The string field used to prevent matching against an opposite side order submitted by the same Crypto Brokerage customer. If this field is not submitted, an order that matches against another order submitted by the same customer will cancel the original resting order. Up to 36 characters are supported. This field requires additional permissions only available to certain accounts. Reach out to your Paxos Representative for more information.

Example request

{
  "side": "BUY",
  "market": "ETHUSD",
  "type": "LIMIT",
  "price": "190.23",
  "base_amount": "2.35781498",
  "metadata": {
    "customer_id": "9b8c9cba-801e-4418-adc0-ede709df6339"
  }
}

Response

A successful response.

idstring

The UUID of the order.

profile_idstring

The profile ID the order is associated with.

ref_idstring

The idempotence ID for order creation. Can be reused if the order has been closed for more than 24 hours.

status'PENDING_SUBMISSION' | 'SUBMITTED' | 'OPEN' | 'FILLED' | 'CANCELLED' | 'REJECTED' | 'EXPIRED'

Status of the order. The EXPIRED status is only applicable for Smart Order Routing customers.

side'BUY' | 'SELL'

Trade side.

market'ETHEUR' | 'ETHSGD' | 'ETHUSD' | 'BTCEUR' | 'BTCSGD' | 'BTCUSD' | 'PAXGUSD' | 'BCHUSD' | 'LTCUSD' | 'USDPUSD' | 'LINKUSD' | 'AAVEUSD' | 'UNIUSD' | 'PEPEUSD' | 'TRUMPUSD' | 'SHIBUSD' | 'ARBUSD' | 'BONKUSD' | 'ENAUSD' | 'MNTUSD' | 'ONDOUSD' | 'PENGUUSD' | 'QNTUSD' | 'RENDERUSD' | 'SKYUSD' | 'WIFUSD' | 'WLDUSD' | 'DOGEUSD' | 'AVAXUSD' | 'SUIUSD' | 'POLUSD' | 'XLMUSD' | 'BNBUSD'
type'LIMIT' | 'MARKET' | 'POST_ONLY_LIMIT' | 'STOP_MARKET' | 'STOP_LIMIT'

Trade type.

base_amountstring decimal

The base amount or purchase amount for a market sell order.

pricestring decimal

The quote price.

quote_amountstring decimal

The quote amount of purchase for a market buy order.

metadataobject

Client-specified metadata.

created_atstring date-time

The time at which the order was created.

modified_atstring date-time

The time at which the order was last modified.

amount_filledstring decimal

The amount that was filled.

volume_weighted_average_pricestring decimal

The volume-weighted average price.

time_in_force'GTC' | 'FOK' | 'IOC' | 'GTT'

How long an order will remain active before it expires.

  • Immediate-or-Cancel (IOC): Cancel if not executed immediately, partial fills allowed.
  • Good-Til-Canceled (GTC): Order can be canceled at any point until executed.
  • Good-Til-Time (GTT): Expires if not executed by a specified time. GTT must be greater than 10 seconds after the order is placed, otherwise the order will be rejected.
  • Fill-or-Kill (FOK): Fill entire order only or cancel entire order, does not allow for partial filling.

Time in Force validity for Order Types

Order typeImmediate or Cancel (IOC)Good Til Canceled (GTC)Good Til Time (GTT)Fill or Kill (FOK)
Market OrderDefault---
Limit OrderValidDefaultValidValid
Post Only LimitValidDefaultValidValid
Stop Market-DefaultValid-
Stop Limit-DefaultValid-
expiration_datestring date-time

The date the order will expire if not completed when specified time in force is GTT.

identity_idstring

The end user that requests the trade. This field must be used in conjunction with identity_account_id, otherwise the order is rejected. Depending on your integration type, identity_id and identity_account_id may be required.

identity_account_idstring

The account under which this order is placed. The provided identity must be allowed to trade on behalf of this account. This field must be used in conjunction with identity_id, otherwise the order is rejected. Depending on your integration type, identity_account_id and identity_id may be required.

stop_pricestring decimal
recipient_profile_idstring

The profileId that will receive settled currency (base for buy orders, quote for sell orders).

is_triggeredboolean

Returns true when a stop order has been triggered.