Order flow

An order can go through several statuses. It can never go back to a previous status. Both on-chain and off-chain orders go through the same statuses and they can be differentiated by the updatedAtBlockNumber field.

The main statuses, derived from the 0x protocol are the following:

  • open: order was just listed by the maker

  • filled: order was filled by a taker

  • cancelled: order was cancelled

We have also added three cancel statuses to improve the on-chain system:

  • cancelled_by_transfer: The owner of the order's asset lost ownership of the asset.

  • expired: The expiry date was reached, all orders are periodically checked and cancelled when this happens.

  • invalid: Some context on chain made the order invalid. For example, the user might have lost the required ERC20 or lower his allowances.

Last updated