# Margin Trading

## Query product information

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-product-information-4>
{% endhint %}

#### Function Name:

```javascript
getProductInfo()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getProductInfo(exchange, options) {
    try {
        let result = await exchange.getProductInfo(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getProductInfo(myMainPhemexExchange);
```

### Place order <a href="#place-order-http-put-prefered-4" id="place-order-http-put-prefered-4"></a>

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io/#place-order-http-put-prefered-4>
{% endhint %}

#### Function Name:

```javascript
placeOrderMargin()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function placeOrderMargin(exchange, options) {
    try {
        let result = await exchange.placeOrderMarginrderMargin(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await placeOrderMargin(myMainPhemexExchange, {
        symbol: "sBTCUSDT",
        side: "Buy",
        qtyType: "ByBase",
        baseQtyRq: "1",
        priceRp: "1000",
        ordType: "Limit"
    });

```

## Cancel order

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#cancel-order-2>
{% endhint %}

#### Function Name:

```javascript
cancelOrderMargin()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function cancelOrderMargin(exchange, options) {
    try {
        let result = await exchange.cancelOrderMargin(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await cancelOrderMargin(myMainPhemexExchange, {
         symbol: "sBTCUSDT",
         orderID: "jwkndqwklqkdw"
     });
```

## Cancel all order by symbol

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#cancel-all-order-by-symbol-2>
{% endhint %}

#### Function Name:

```javascript
cancelAllOrdersMargin()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function cancelAllOrdersMargin(exchange, options) {
    try {
        let result = await exchange.cancelAllOrdersMargin(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await cancelAllOrdersMargin(myMainPhemexExchange, {
         symbol: "sBTCUSDT"
     });
```

## Query open order by order ID or client order ID

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-open-order-by-order-id-or-client-order-id-2>
{% endhint %}

#### Function Name:

```javascript
getOpenOrderMargin()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getOpenOrderMargin(exchange, options) {
    try {
        let result = await exchange.getOpenOrderMargin(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getOpenOrderMargin(myMainPhemexExchange, {
         symbol: "sBTCUSDT",
         orderID: "swjndklwndwdkmn"
     });
```

## Query all open orders by symbol

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-all-open-orders-by-symbol-2>
{% endhint %}

#### Function Name:

```javascript
getAllOpenOrdersMargin()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getAllOpenOrdersMargin(exchange, options) {
    try {
        let result = await exchange.getAllOpenOrdersMargin(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getAllOpenOrdersMargin(myMainPhemexExchange, {
         symbol: "sBTCUSDT"
     });
```

## Query margin orders details

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-margin-orders-details>
{% endhint %}

#### Function Name:

```javascript
getMarginOrdersDetails()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getMarginOrdersDetails(exchange, options) {
    try {
        let result = await exchange.getMarginOrdersDetails(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getMarginOrdersDetails(myMainPhemexExchange, {
     });
```

## Query margin order trades details

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-margin-order-trades-details>
{% endhint %}

#### Function Name:

```javascript
getMarginOrderTradesDetails()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getMarginOrderTradesDetails(exchange, options) {
    try {
        let result = await exchange.getMarginOrderTradesDetails(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getMarginOrderTradesDetails(myMainPhemexExchange, {
     });
```

## Query margin borrow interest history

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-margin-borrow-interest-history>
{% endhint %}

#### Function Name:

```javascript
getMarginBorrowInterestHistory()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getMarginBorrowInterestHistory(exchange, options) {
    try {
        let result = await exchange.getMarginBorrowInterestHistory(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getMarginBorrowInterestHistory(myMainPhemexExchange, {
     });
```

## Query margin borrow history records

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-margin-borrow-history-records>
{% endhint %}

#### Function Name:

```javascript
getMarginBorrowHistory()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getMarginBorrowHistory(exchange, options) {
    try {
        let result = await exchange.getMarginBorrowHistory(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getMarginBorrowHistory(myMainPhemexExchange, {
     });
```

## Query margin payback history

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-margin-payback-history>
{% endhint %}

#### Function Name:

```javascript
getMarginPaybackHistory()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getMarginPaybackHistory(exchange, options) {
    try {
        let result = await exchange.getMarginPaybackHistory(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getMarginPaybackHistory(myMainPhemexExchange, {
     });
```

## Post margin borrow request

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#post-margin-borrow-request>
{% endhint %}

#### Function Name:

```javascript
marginBorrow()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function marginBorrow(exchange, options) {
    try {
        let result = await exchange.marginBorrow(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await marginBorrow(myMainPhemexExchange, {
        currency: "USDT",
        amountRv: "100"
     });
```

## Post margin payback history

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#post-margin-payback-history>
{% endhint %}

#### Function Name:

```javascript
marginPayback()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function marginPayback(exchange, options) {
    try {
        let result = await exchange.marginPayback(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await marginPayback(myMainPhemexExchange, {
        currency: "USDT",
        amountRv: "1"
     });
```

## Query wallets

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io#query-wallets-2>
{% endhint %}

#### Function Name:

```javascript
getWalletsMargin()
```

#### Usage:

```javascript
import { createExchange } from "./exchanges/exchange.js";

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

async function getWalletsMargin(exchange, options) {
    try {
        let result = await exchange.getWalletsMargin(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

let result = await getWalletsMargin(myMainPhemexExchange, {

     });
```


---

# 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.compendium.finance/pendax/using-pendax-sdk/phemex-functions/margin-trading.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.
