Reputation: 5091
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.
Upvotes: 6
Views: 996
Reputation: 436
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:
-- 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 :)
Upvotes: 4
Reputation: 7878
I came here with the very same question, but at least some states are described somewhere in their documentation:
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.
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.
Upvotes: 0
Reputation: 2874
My interpretation would be
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)
open - order is live on the orderbook
settled - order has been filled but there may be some holds (funds) to release/clear down.
done - order no longer on the book and order no longer on the book cleared.
Upvotes: -1