# Hedged Contract

## 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-2>
{% 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-2" id="place-order-http-put-prefered-2"></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-2>
{% endhint %}

#### Function Name:

```javascript
placeOrderHedged()
```

#### Usage:

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

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

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

let result = await placeOrderHedged(myPhemexExchange, {
        symbol: "BTCUSDT", 
        side: "Buy", 
        posSide: "Long",
        orderQtyRq: "0.01",
        ordType: "Limit",
        priceRp: "20000"
    });
```

## Amend order by orderID

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

<https://phemex-docs.github.io#amend-order-by-orderid>
{% endhint %}

#### Function Name:

```javascript
amendOrderHedged()
```

#### Usage:

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

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

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

let result = await amendOrderHedged(myPhemexExchange, {
         symbol: "BTCUSDT", 
         orderID: "9839ae8f-88e7-431f-94a4-dd8d3312b382",
         priceRp: "21000",
         posSide: "Buy",
         orderQtyRq: "0.02"

     });
```

## Cancel Single Order by orderID

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

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

#### Function Name:

```javascript
cancelOrderHedged()
```

#### Usage:

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

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

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

let result = await cancelOrderHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         posSide: "Sell",
         orderID: "9839ae8f-88e7-431f-94a4-dd8d3312b382"
     });
```

## Bulk Cancel Orders

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

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

#### Function Name:

```javascript
cancelBatchOrderHedged()
```

#### Usage:

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

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

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

let result = await cancelBatchOrderHedged(myMainPhemexExchange, {
        symbol: "BTCUSDT",
        orderID: "234fsfs3,d2123dada2",
        posSide: "Buy"
     });
```

## Cancel All Orders

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

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

#### Function Name:

```javascript
cancelAllOrdersHedged()
```

#### Usage:

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

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

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

let result = await cancelAllOrdersHedged(myPhemexExchange, {});
```

## Query Account Positions

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

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

#### Function Name:

```javascript
getAccountPositionsHedged()
```

#### Usage:

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

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

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

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

## Query Account Positions with unrealized PNL

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

<https://phemex-docs.github.io#query-account-positions-with-unrealized-pnl>
{% endhint %}

#### Function Name:

```javascript
getAccountPositionsUnPnLHedged()
```

#### Usage:

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

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

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

let result = await getAccountPositionsUnPnLHedged(myPhemexExchange, {
         currency: "BTC"
     });
```

## Switch Position Mode Synchronously

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

<https://phemex-docs.github.io#switch-position-mode-synchronously>
{% endhint %}

#### Function Name:

```javascript
switchPositionModeSynchronously()
```

#### Usage:

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

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

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

let result = await switchPositionModeSynchronously(myPhemexExchange, {
         symbol: "BTCUSDT",
         targetPosMode: "Hedged"
     });
```

## Set Leverage

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

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

#### Function Name:

```javascript
setLeverageHedged()
```

#### Usage:

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

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

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

let result = await setLeverageHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         leverageRr: "-10"
     });
```

## Set RiskLimit

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

<https://phemex-docs.github.io#set-risklimit>
{% endhint %}

#### Function Name:

```javascript
setRiskLimitHedged()
```

#### Usage:

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

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

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

let result = await setRiskLimitHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         riskLimitRv: "10",
         posSide: "Buy"
     });
```

## Query 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-open-orders-by-symbol-2>
{% endhint %}

#### Function Name:

```javascript
getOpenOrdersHedged()
```

#### Usage:

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

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

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

let result = await getOpenOrdersHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query closed orders by symbol

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

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

#### Function Name:

```javascript
getClosedOrdersHedged()
```

#### Usage:

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

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

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

let result = await getClosedOrdersHedged(myPhemexExchange, {
         currency: "USDT"
     });
```

## Query user trade

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

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

#### Function Name:

```javascript
getUserTradeHedged()
```

#### Usage:

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

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

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

let result = await getUserTradeHedged(myPhemexExchange, {
         currency: "USDT",
         offset: "0",
         limit: "10"
     });
```

## Query Order Book

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

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

#### Function Name:

```javascript
getOrderBookHedged()
```

#### Usage:

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

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

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

let result = await getOrderBookHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query kline

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

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

#### Function Name:

```javascript
getKlineHedged()
```

#### Usage:

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

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

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

let result = await getKlineHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         resolution: "60"
     });
```

## Query Trade

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

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

#### Function Name:

```javascript
getTradeHedged()
```

#### Usage:

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

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

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

let result = await getTradeHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query 24 ticker

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

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

#### Function Name:

```javascript
get24HourTickerHedged()
```

#### Usage:

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

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

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

let result = await get24HourTickerHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query 24 ticker for all symbols

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

<https://phemex-docs.github.io#query-24-ticker-for-all-symbols>
{% endhint %}

#### Function Name:

```javascript
get24HourTickerAllSymbolsHedged()
```

#### Usage:

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

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

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

let result = await get24HourTickerAllSymbolsHedged(myPhemexExchange);
```

## Query Orders History

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

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

#### Function Name:

```javascript
getOrdersHistoryHedged()
```

#### Usage:

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

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

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

let result = await getOrdersHistoryHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query Orders By Ids

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

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

#### Function Name:

```javascript
getOrdersByIdHedged()
```

#### Usage:

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

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

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

let result = await getOrdersByIdHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         orderID: "9839ae8f-88e7-431f-94a4-dd8d3312b382"
     });
```

## Query Trades History

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

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

#### Function Name:

```javascript
getTradeHistoryHedged()
```

#### Usage:

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

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

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

let result = await getTradeHistoryHedged(myPhemexExchange, {currency:"BTC", symbol: "BTCUSDT"});
```

## Query funding rate history

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

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

#### Function Name:

```javascript
getFundingRateHistoryHedged()
```

#### Usage:

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

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

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

let result = await getFundingRateHistoryHedged(myPhemexExchange, {symbol: ".ETHUSDTFR8H"});
```

## Query funding fee history

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

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

#### Function Name:

```javascript
getFundingFeeHistoryHedged()
```

#### Usage:

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

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

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

let result = await getFundingFeeHistoryHedged(myPhemexExchange, {symbol: "BTCUSDT"});
```


---

# 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/hedged-contract.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.
