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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.algodex.com/developer-tools/algodex-sdk-v2/tutorial-closing-orders.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
