POST
/
api
/
v3
/
brokerage
/
orders
Create Order
curl --request POST \
  --url https://api.coinbase.com/api/v3/brokerage/orders \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "client_order_id": "0000-00000-000000",
  "product_id": "BTC-USD",
  "side": "BUY",
  "order_configuration": {
    "market_market_ioc": {
      "quote_size": "10.00",
      "base_size": "0.001"
    },
    "market_market_fok": {
      "quote_size": "10.00",
      "base_size": "0.001"
    },
    "sor_limit_ioc": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00"
    },
    "limit_limit_gtc": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00",
      "post_only": false
    },
    "limit_limit_gtd": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00",
      "end_time": "2021-05-31T09:59:59.000Z",
      "post_only": false
    },
    "limit_limit_fok": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00"
    },
    "twap_limit_gtd": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "start_time": "2021-05-31T07:59:59.000Z",
      "end_time": "2021-05-31T09:59:59.000Z",
      "limit_price": "10000.00",
      "number_buckets": "5",
      "bucket_size": "2.00",
      "bucket_duration": "300s"
    },
    "stop_limit_stop_limit_gtc": {
      "base_size": "0.001",
      "limit_price": "10000.00",
      "stop_price": "20000.00",
      "stop_direction": "20000.00"
    },
    "stop_limit_stop_limit_gtd": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_price": "20000.00",
      "end_time": "2021-05-31T09:59:59.000Z",
      "stop_direction": "20000.00"
    },
    "trigger_bracket_gtc": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_trigger_price": "20000.00"
    },
    "trigger_bracket_gtd": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_trigger_price": "20000.00",
      "end_time": "2021-05-31T09:59:59.000Z"
    }
  },
  "leverage": "2.0",
  "margin_type": "CROSS",
  "retail_portfolio_id": "11111111-1111-1111-1111-111111111111",
  "preview_id": "b40bbff9-17ce-4726-8b64-9de7ae57ad26",
  "attached_order_configuration": {
    "market_market_ioc": {
      "quote_size": "10.00",
      "base_size": "0.001"
    },
    "market_market_fok": {
      "quote_size": "10.00",
      "base_size": "0.001"
    },
    "sor_limit_ioc": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00"
    },
    "limit_limit_gtc": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00",
      "post_only": false
    },
    "limit_limit_gtd": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00",
      "end_time": "2021-05-31T09:59:59.000Z",
      "post_only": false
    },
    "limit_limit_fok": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00"
    },
    "twap_limit_gtd": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "start_time": "2021-05-31T07:59:59.000Z",
      "end_time": "2021-05-31T09:59:59.000Z",
      "limit_price": "10000.00",
      "number_buckets": "5",
      "bucket_size": "2.00",
      "bucket_duration": "300s"
    },
    "stop_limit_stop_limit_gtc": {
      "base_size": "0.001",
      "limit_price": "10000.00",
      "stop_price": "20000.00",
      "stop_direction": "20000.00"
    },
    "stop_limit_stop_limit_gtd": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_price": "20000.00",
      "end_time": "2021-05-31T09:59:59.000Z",
      "stop_direction": "20000.00"
    },
    "trigger_bracket_gtc": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_trigger_price": "20000.00"
    },
    "trigger_bracket_gtd": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_trigger_price": "20000.00",
      "end_time": "2021-05-31T09:59:59.000Z"
    }
  },
  "sor_disabled": false
}'
{
  "success": true,
  "success_response": {
    "order_id": "11111-00000-000000",
    "product_id": "BTC-USD",
    "side": "BUY",
    "client_order_id": "0000-00000-000000"
  },
  "error_response": {
    "error": "UNKNOWN_FAILURE_REASON",
    "message": "The order configuration was invalid",
    "error_details": "Market orders cannot be placed with empty order sizes",
    "preview_failure_reason": "UNKNOWN_PREVIEW_FAILURE_REASON",
    "new_order_failure_reason": "UNKNOWN_FAILURE_REASON"
  },
  "order_configuration": {
    "market_market_ioc": {
      "quote_size": "10.00",
      "base_size": "0.001"
    },
    "market_market_fok": {
      "quote_size": "10.00",
      "base_size": "0.001"
    },
    "sor_limit_ioc": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00"
    },
    "limit_limit_gtc": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00",
      "post_only": false
    },
    "limit_limit_gtd": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00",
      "end_time": "2021-05-31T09:59:59.000Z",
      "post_only": false
    },
    "limit_limit_fok": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "limit_price": "10000.00"
    },
    "twap_limit_gtd": {
      "quote_size": "10.00",
      "base_size": "0.001",
      "start_time": "2021-05-31T07:59:59.000Z",
      "end_time": "2021-05-31T09:59:59.000Z",
      "limit_price": "10000.00",
      "number_buckets": "5",
      "bucket_size": "2.00",
      "bucket_duration": "300s"
    },
    "stop_limit_stop_limit_gtc": {
      "base_size": "0.001",
      "limit_price": "10000.00",
      "stop_price": "20000.00",
      "stop_direction": "20000.00"
    },
    "stop_limit_stop_limit_gtd": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_price": "20000.00",
      "end_time": "2021-05-31T09:59:59.000Z",
      "stop_direction": "20000.00"
    },
    "trigger_bracket_gtc": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_trigger_price": "20000.00"
    },
    "trigger_bracket_gtd": {
      "base_size": 0.001,
      "limit_price": "10000.00",
      "stop_trigger_price": "20000.00",
      "end_time": "2021-05-31T09:59:59.000Z"
    }
  }
}

Authorizations

Authorization
string
header
required

A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Creating API Keys section of our Coinbase App Authentication docs for information on how to generate your Bearer Token.

Body

application/json
client_order_id
string
required

A unique ID (max 128 characters) provided for the order (used for identification purposes). If the ID provided is not unique, the order will not be created and the order corresponding with that ID will be returned instead.

Example:

"0000-00000-000000"

product_id
string
required

The trading pair (e.g. 'BTC-USD').

Example:

"BTC-USD"

side
enum<string>
default:""
required

The side of the market that the order is on (e.g. 'BUY', 'SELL').

Available options:
BUY,
SELL
order_configuration
object
required

The configuration of the order (e.g. the order type, size, etc).

leverage
string

The amount of leverage for the order (default is 1.0).

Example:

"2.0"

margin_type
enum<string>
default:""

Margin Type for this order (default is CROSS).

  • CROSS: Cross margin applies margin to the position of the entire portfolio
  • ISOLATED: Isolated margin applies margin to a single position
Available options:
CROSS,
ISOLATED
retail_portfolio_id
string

(Deprecated) The ID of the portfolio to associate the order with. Only applicable for legacy keys. CDP keys will default to the key's permissioned portfolio.

Example:

"11111111-1111-1111-1111-111111111111"

preview_id
string

Preview ID for this order, to associate this order with a preview request

Example:

"b40bbff9-17ce-4726-8b64-9de7ae57ad26"

attached_order_configuration
object

The configuration of the attached order. Only TriggerBracketGtc is eligible. Size field must be omitted as the size of the attached order is the same as that of the parent order.

sor_disabled
boolean

If true, disables Smart Order Routing (SOR) for this order. Defaults to false.

Example:

false

Response

A successful response.

success
boolean
required

Whether the order was created.

Example:

true

success_response
object
error_response
object
order_configuration
object

The configuration of the order (e.g. the order type, size, etc).