---
title: "Create New Broker Order"
method: POST
path: "/v1/clearing/broker/new"
tags: ["Clearing"]
---

# Create New Broker Order

`POST /v1/clearing/broker/new`

## Request

- Base URL: `https://api.gemini.com`
- URL: `https://api.gemini.com/v1/clearing/broker/new`
- Auth: API key in header `X-GEMINI-APIKEY` and API key in header `X-GEMINI-SIGNATURE` and API key in header `X-GEMINI-PAYLOAD`

Gemini Clearing also allows for brokers to facilitate trades between two Gemini customers. A broker can submit a new Gemini Clearing order that must then be confirmed by each counterparty before settlement.

## Headers

- `X-GEMINI-APIKEY` string, required
- `X-GEMINI-SIGNATURE` string, required
- `X-GEMINI-PAYLOAD` string, required
- `Content-Type` string
- `Content-Length` string
- `Cache-Control` string

## Request body

- object
  - `request` string, required: The literal string "/v1/clearing/broker/new"
  - `nonce` union, required: The nonce, as described in [Private API Invocation](/authentication/api-key#private-api-invocation)
    - union: timestamp
      - string: Gemini strongly recommends using milliseconds instead of seconds for timestamps. | Timestamp format | Example | Supported request type | |-----------------------|-----------------------|------------------------| | string (seconds) | `1495127793` | `POST` only | | string (milliseconds) | `1495127793000` | `POST` only |
      - integer: Gemini strongly recommends using milliseconds instead of seconds for timestamps. | Timestamp format | Example | Supported request type | |-----------------------------|---------------------------|------------------------| | whole number (seconds) | `1495127793` | `GET`, `POST` | | whole number (milliseconds) | `1495127793000` | `GET`, `POST` |
    - integer
  - `source_counterparty_id` string, required: A symbol that corresponds with the counterparty sourcing the clearing trade
  - `target_counterparty_id` string, required: A symbol that corresponds with the counterparty where the clearing trade is targeted
  - `symbol` string, required: The [symbol](/market-data/symbols-and-minimums) of the order
  - `amount` string, decimal, required: Quoted decimal amount to purchase
  - `expires_in_hrs` integer, required: The number of hours before the trade expires. Your counterparty will need to confirm the order before this time expires.
  - `price` string, decimal, required: Quoted decimal amount to spend per unit
  - `side` 'buy' | 'sell', required: "buy" or "sell". This side will be assigned to the `source_counterparty_id`. The opposite side will be sent to the `target_counterparty_id`
  - `account` string: Required for Master API keys as described in [Private API Invocation](/authentication/api-key#private-api-invocation). The name of the account within the subaccount group. Specifies the broker account on which to place the order. Only available for exchange accounts.

## Response `200`

Successful operation

- object
  - `result` string: Will return `AwaitSourceTargetConfirm`, meaning the order is waiting for both the source and the target parties to confirm the order
  - `clearing_id` string: A unique identifier for the clearing order.

## Other responses

- `400`: Bad request - malformed request or invalid parameters
- `401`: Unauthorized - missing or invalid authentication
- `403`: ApiKey fails IP Filtering Check
- `404`: Resource not found
- `429`: Too many requests - you have exceeded the rate limit
- `500`: Internal server error

---

[API](https://skmtc.dev/gemini/apis/rest-api.md) - [All operations](https://skmtc.dev/gemini/apis/rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gemini/apis/rest-api/revisions/24979792d748?raw)
