Compendium Trading Tools Documentation
CompendiumPENDAXCompendexOfficial Links
  • ⭐Platform Overview
  • ⚫PENDAX
    • 🌐What is PENDAX?
    • 🖱️PENDAX Capabilities
    • 💾Installing PENDAX modules
    • 💡Using PENDAX SDK
      • 💻Common Functions
      • 💻OKX Functions
        • Trading & Orders
        • Funding
        • Convert
        • Account & Subaccount
        • Grid Trading
        • Market Data
        • Public Data
        • Trading Data
      • 💻Bitget Functions
        • Public (Spot)
        • Market (Spot)
        • Wallet (Spot)
        • Account (Spot)
        • Trade (Spot)
        • Market (Futures)
        • Account (Futures)
        • Trade (Futures)
        • CopyTrade (Futures)
        • Sub Account Interface (Broker)
        • Sub API Interface (Broker)
      • 💻ByBit Functions
        • Market
        • Trading
        • Position
        • Account
        • Asset
        • User
        • Spot Leverage Token
        • Spot Margin Trade (UTA)
        • Spot Margin Trade (Normal)
        • Institutional Lending
      • 💻Mexc Functions
        • Market
        • Sub-Account
        • Spot Account/Trade
        • Wallet
        • ETF
        • Rebate
        • Futures Market
        • Futures Account and Trading
      • 💻Phemex Functions
        • Contract
        • Hedged Contract
        • Spot
        • Margin Trading
        • Transfer
        • Convert
        • Deposit And Withdraw
      • 💻BloFin Functions
        • Websocket
        • Account
        • Affiliate
        • Public Data
        • Trading
        • User
      • 💻BingX Functions
        • Fund Account
        • Wallet Deposits and Withdrawals
        • Sub-Account Managenent
        • Market Data (USDT-M)
        • Account (USDT-M)
        • Trades (USDT-M)
        • Market Data (Coin-M)
        • Trades (Coin-M)
        • Market Data (Spot)
        • Fund Account (Spot)
        • Trades (Spot)
        • CopyTrader
      • ⚠️FTX Functions
    • 📜License Agreement
  • 🟣Compendium App
    • 📈Compendium Trading Tools
    • 🔗Connect An Exchange Account
      • 🗝️OKX.com API Keys
    • 🤖Verified Trading Bots
      • Explore The Marketplace
      • For Algo & Strategy Authors
        • Get Listed & Verified
        • Strategy Monetization
        • Sending Trading Signals
        • Simplified Signal Program
      • For Users & Subscribers
        • Subscribing To Bots
        • Managing A Subscription
    • 💫Copy Trading Groups
      • For Copy Group Leaders
        • Creating A Copy Group
        • Linking Leader Account
        • Important Trading Notes
        • Manage A Copy Group
        • Discord Webhooks Setup
      • For Users & Subscribers
        • Subscribe To Copy Group
        • Link Account To Group
    • 📶Signal Provider Groups
      • For Group Leaders
        • Creating A Signal Group
        • Managing A Signal Group
        • Sending Trading Signals
      • For Users & Subscribers
        • Subscribing To Signal Groups
        • Manage Signal Group Subscription
  • 🔵Compendex Suite
    • 🔮DeFi With Compendex
    • ☀️Solana Integrations
      • Supported Solana Wallets
      • Overview And News
      • Openbook Spot Markets
      • Smart Swap Aggregator
      • NFT Metaverse Markets
      • Solana DeFi Analytics Portal
      • Community Tools List
  • 🪙The CMFI Token Ecosystem
    • 📊Tokenomics Breakdown
    • 🍎Trade Incentive Program
    • 🌊Staking And Liquidity Pools
      • ✨Raydium Liquidity Pools
      • 🐳Orca Liquidity Whirlpools
      • 🐋Orca Liquidity Pools
    • 🐷Compendi-Pigs NFT
  • 👥Community Info
    • ✅Links And Social Pages
    • 🎨Branding Guidelines
Powered by GitBook
On this page
  • Create an Exchange Object
  • Subaccounts
  • Get All Subaccounts
  • Create Subaccount
  • Change Subaccount Name
  • Delete Subaccount
  • Get Subaccount Balances
  • Transfer Between Subaccounts
  1. PENDAX
  2. Using PENDAX SDK

FTX Functions

Documentation for functions available for FTX through the PENDAX SDK

Due to recent events related to FTX.com - We have decided to stop the development and documentation of FTX capabilities. They will remain in the PENDAX SDK for documentation purposes only. Please use all FTX functions and integrations with caution. Current events may result in failure of FTX servers to respond.

Create an Exchange Object

Before you can interact with PENDAX functions, you must first create an Exchange object with which to use when using PENDAX. You can create one or multiple, and reference them together or individually throughout your code.

Example Exchange Object Creation:

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

let myFtxAccount = createExchange({
  exchange: "ftx",
  authenticate: true,
  key: "myKeys",
  secret: "mySecret",
  subaccount: "mySubaccountName",
  label: "ftx",
});

Once an Exchange object has been created you may use any of the available functions allowed by that exchange by referencing the name of the Exchange object you created.

Example using multiple Exchange Objects for executing PENDAX functions:

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

let myFtxAccount = createExchange({
  exchange: "ftx",
  authenticate: true,
  key: "myKeys",
  secret: "mySecret",
  subaccount: "mySubaccountName",
  label: "ftx",
});

let myOtherFtxAccount = createExchange({
  exchange: "ftx",
  authenticate: true,
  key: "myOtherKeys",
  secret: "myOtherSecret",
  subaccount: "myOtherSubaccountName",
  label: "ftx",
});

async function getAllSubaccounts() {
  try {
    const subaccounts = await myFtxAccount.getAllSubaccounts();
    const subaccounts2 = await myOtherFtxAccount.getAllSubaccounts();
    console.log(subaccounts);
    console.log(subaccounts2);
  } catch (error) {
    console.log(error.message);
  }
}

This code would create two separate FTX exchange objects, then query each account for a list of subaccounts attached to that FTX account.

Subaccounts

Get All Subaccounts

getAllSubaccounts()

You must use api keys from a main account, you cannot use this passing a subaccount api keys

Example usage:

async function getAllSubaccounts() {
  try {
    const accts = await myFtxAccount.getAllSubaccounts();
    console.log(accts);
  } catch (error) {
    console.log(error.message);
  }
}

Create Subaccount

createSubaccount(options)

This function takes in an options object. Optional and required parameters are listed below.

Required Parameters:

nickname: "mySubaccount"

Available Parameters:

nickname: "mySubaccount"

Example Usage:

async function createSubaccount() {
  myFtxAccount.createSubaccount({
    nickname: "myNewSubaccount",
  });
}

Change Subaccount Name

changeSubaccountName(options)

This function takes in an options object. Optional and required parameters are listed below.

Required Parameters:

 nickname: "mySubaccount"
 newNickname: "new name"

Available Parameters:

 nickname: "mySubaccount"
 newNickname: "new name"

nickname is the current subaccount name

Example Usage:

async function changeSubaccountName() {
  myFtxAccount.changeSubaccountName({
    nickname: "currentName",
    newNickname: "newName",
  });
}

Delete Subaccount

deleteSubaccount(options)

This function takes in an options object. Optional and required parameters are listed below.

Required Parameters:

nickname: "mySubaccount"

Available Parameters:

nickname: "mySubaccount"

Example Usage:

async function deleteSubaccount() {
  myFtxAccount.deleteSubaccount({
    nickname: "myUnwantedSubaccount",
  });
}

Get Subaccount Balances

getSubaccountBalances(options)

This function takes in an options object. Optional and required parameters are listed below.

Required Parameters:

nickname: "my subaccount"

Available Parameters:

nickname: "my subaccount"

Example Usage:

async function getSubaccountBalances(options) {
  try {
    let result = await myFtxAccount.getSubaccountBalances(options);
    console.log(result.data.result);
  } catch (error) {
    console.log(error.message);
  }
}

getSubaccountBalances({
nickname: "my subaccount"
});

Transfer Between Subaccounts

transferBetweenSubaccounts(options)

This function takes in an options object. Optional and required parameters are listed below.

Required Parameters:

     "coin": "BTC",
     "size": 10,
     "source": null, 
     //null or "main" denotes the use of main account for source of funds. else supply the subaccount you want to transfer from
     "destination": "sub1"

Available Parameters:

     "coin": "BTC",
     "size": 10,
     "source": null, 
     //null or "main" denotes the use of main account for source of funds. else supply the subaccount you want to transfer from
     "destination": "sub1"

Example Usage:

async function transferBetweenSubaccounts(options) {
  try {
    let result = await myFtxAccount.transferBetweenSubaccounts(options);
    console.log(result.data.result);
  } catch (error) {
    console.log(error.message);
    console.log(error.response.data.error);
  }
}

transferBetweenSubaccounts({
     "coin": "BTC",
     "size": 10,
     "source": null, 
     "destination": "sub1"
});
PreviousCopyTraderNextLicense Agreement

Last updated 2 years ago

⚫
💡
⚠️