Available GDAX Order Statuses and Meanings
Asked Answered
M

3

6

The GDAX API docs don't do a great job of enumerating the available statuses that an order can have. I see at least open, pending, active, done, and maybe settled[^1]. Has anyone determined a comprehensive list, and what each status means?

I've also tried looking at some of the libraries available, but the official clients are all weakly typed (Node, Ruby), and among the unofficial clients, the Java client uses strings, the Rust client uses strings, and the Haskell client does enumerate the types, but they're also undocumented.

[^1]: settled is probably its own field, actually.

Melmela answered 6/1, 2018 at 21:28 Comment(0)
B
4

I had the same question back in November, and emailed Coinbase. Here is the response I (eventually) received:

-- quote --

I’ve requested a list of all order types be added to the docs. Meanwhile, off the type of my head:

  • Pending – Order received and not yet processed by the trading engine
  • Open – Limit order exists on the order book
  • Active – Stop order exists on the order book
  • Done – Order no longer resting on the order book (executed)
  • Rejected – Order couldn’t be placed as specified (e.g. Post only is true, but price was at a price that would execute immediately)
  • Cancelled – Order cancelled by user or by trading engine due to Self Trade Prevention

-- end quote --

As far as I can tell, they haven't actually updated the docs yet, and the "off the top of my head" isn't too confidence-inspiring, but at least it is a response from Coinbase :)

Beaver answered 30/3, 2018 at 17:44 Comment(0)
L
0

I came here with the very same question, but at least some states are described somewhere in their documentation:

received, pending, open, done

https://docs.gdax.com/#order-lifecycle

Valid orders sent to the matching engine are confirmed immediately and are in the received state. If an order executes against another order immediately, the order is considered done. An order can execute in part or whole. Any part of the order not filled immediately, will be considered open. Orders will stay in the open state until canceled or subsequently filled by new orders. Orders that are no longer eligible for matching (filled or canceled) are in the done state.

Interestingly the above cited documentation doesn't mention the state pending. However pending is mentioned on other places of the documentation without further explanation. But one such place is the example response of a POST request for placing a new order, which happens very closely to the received state of the life cycle. They might have confused the names, or there might be a received and pending state. Without real world API responses or a statement from Coinbase it's pure speculation.

active

https://docs.gdax.com/#place-a-new-order

Stop orders become active and wait to trigger based on the movement of the last trade price.

Liquefacient answered 22/2, 2018 at 23:11 Comment(0)
S
-1

My interpretation would be

  1. pending - the order has been received by the matching engine but is not live on the order book yet (I would have considered this the same as 'received' message type for the websocketfeed - but this could be wrong)

  2. open - order is live on the orderbook

  3. settled - order has been filled but there may be some holds (funds) to release/clear down.

  4. done - order no longer on the book and order no longer on the book cleared.

Solid answered 12/2, 2018 at 12:59 Comment(2)
Thanks for your effort, but I came here to avoid interpretation. It would be nice to have evidence from real world API responses, or references of the documentation.Liquefacient
thanks for the feedback."pending - The report request has been accepted and is awaiting processing" presumably its the same for orders - which matches what is described for "received" message types on the websocket feed. Again there's no official documentation so what your asking for is only going to be peoples' interpretations.Solid

© 2022 - 2024 — McMap. All rights reserved.