# Client Order ID

Client order ID is a client-supplied order identifier that Gemini will echo back to you in all subsequent messages about that order.

Although this identifier is optional, Gemini strongly recommends supplying `client_order_id` when placing orders using the [Create New Order](/rest/orders#create-new-order) endpoint.

This makes it easy to track the [Order Events: Accepted](/websocket/archived/order-events#accepted) and [Order Events: Booked](/websocket/archived/order-events#booked) responses in your [Order Events](/websocket/streams#order-events) WebSocket subscription.

## Visibility

Your client order ids are only visible to the Gemini exchange and you. They are never visible on any public API endpoints.

## Uniqueness

Gemini recommends that your client order IDs should be unique per trading session.

## Allowed characters

Your client order ids should match against this PCRE regular expression: `[:\-_\.#a-zA-Z0-9]{1,36}`.

| Characters | Description                   | ASCII Codes (Dec) |
| ---------- | ----------------------------- | ----------------- |
| `A-Z`      | Uppercase A-Z                 | 65 - 90           |
| `a-z`      | Lowercase a-z                 | 97 - 122          |
| `0-9`      | Digits                        | 48 - 57           |
| `#`        | Hash, octothorpe, number sign | 35                |
| `-`        | Hyphen                        | 45                |
| `.`        | Period                        | 46                |
| `:`        | Colon                         | 58                |
| `_`        | Underscore                    | 95                |
