> For the complete documentation index, see [llms.txt](https://docs.algodex.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.algodex.com/developer-tools/algodex-sdk-v2/tutorial-closing-orders.md).

# Tutorial: Closing Orders

### Closing an Order from the [Order book](/developer-tools/algodex-sdk-v2/tutorial-order-book.md)

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

#### Cancel a Maker Order \[<mark style="color:red;">JavaScript</mark>]

```
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 \[**<mark style="color:red;">**JavaScript**</mark>**]**

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.&#x20;

```
  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])
}
```

{% hint style="info" %}
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.
{% endhint %}

**Cancelling All Existing Orders \[**<mark style="color:red;">**JavaScript**</mark>**]**

```
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)
    })
  )
```
