Tutorial: Closing Orders

Closing an Order from the Order book

To close an order from the order book, a user must be connected to the wallet that created the order.

Cancel a Maker Order [JavaScript]

const orders = await api.placeOrder({
'asset': {
  'id': 15322902,
  'decimals': 6,
},
'address': 'WYWRYK42XADLY3O62N52BOLT27DMPRA3WNBT2OBRT65N6OEZQWD4OSH6PI',
'price': 3.22,
'amount': 1,
'execution': 'maker',
'type': 'buy',
});
await api.closeOrder(orders[0])

Finding a Single Open Order to Cancel [JavaScript]

If you do not have the order that you want to cancel, you can find all open orders under your wallet address by calling the internal method below. From there, cancelling an order is as simple as finding the specific order you would like to cancel, attaching your wallet to the order under the wallet property, and passing it into the closeOrder function.

This process is demonstrated in the example below.

  const openOrders = await api.http.dexd.fetchOrders("wallet", api.wallet.address)

  const mappedOpenOrders = openOrders.map((order) => {
    return { ...order, wallet: api.wallet }
  })

  await api.closeOrder(mappedOpenOrders[0])
}

Keep in mind that in this example, we are cancelling the first order in the open order's array. It is up to you to filter the specific order you wish to cancel.

Cancelling All Existing Orders [JavaScript]

const openOrders = await api.http.dexd.fetchOrders("wallet", order.address)

  const mappedOpenOrders = openOrders.map((order) => {
    return { ...order, wallet: api.wallet }
  })

  await Promise.all(
    mappedOpenOrders.map((order) => {
      api.closeOrder(order)
    })
  )

Last updated