1.0.5 • Published 7 months ago

@xfilecom/gateio-api v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

Gate.io API Client

A TypeScript/JavaScript client for the Gate.io API v4, providing a simple and intuitive interface for interacting with the Gate.io cryptocurrency exchange.

Features

  • Full TypeScript support with comprehensive type definitions
  • Support for all Gate.io Spot API endpoints
  • Automatic request signing for authenticated endpoints
  • Comprehensive error handling
  • Well-documented API methods
  • Test coverage for all endpoints

Installation

npm install gateio-api-client

Usage

import { GateioClient } from "gateio-api-client";

// Create a client instance
const client = new GateioClient({
  apiKey: "your-api-key",
  apiSecret: "your-api-secret",
});

// Public API examples
async function publicApiExamples() {
  // Get all trading pairs
  const pairs = await client.getTradingPairs();
  console.log("Trading pairs:", pairs);

  // Get ticker for a specific pair
  const ticker = await client.getTicker("BTC_USDT");
  console.log("BTC/USDT ticker:", ticker);

  // Get order book
  const orderBook = await client.getOrderBook("BTC_USDT");
  console.log("Order book:", orderBook);
}

// Private API examples
async function privateApiExamples() {
  // Get account balances
  const balances = await client.getBalances();
  console.log("Account balances:", balances);

  // Place a limit order
  const order = await client.createOrder({
    currency_pair: "BTC_USDT",
    side: "buy",
    amount: "0.001",
    price: "45000",
    type: "limit",
  });
  console.log("Created order:", order);

  // Get open orders
  const openOrders = await client.getOpenOrders();
  console.log("Open orders:", openOrders);
}

// Stop order examples
async function stopOrderExamples() {
  // Create a stop order
  const stopOrder = await client.createStopOrder({
    currency_pair: "BTC_USDT",
    type: "stop",
    side: "sell",
    amount: "0.001",
    stop_price: "44000",
    price: "43900",
  });
  console.log("Created stop order:", stopOrder);

  // Get stop orders
  const stopOrders = await client.getStopOrders();
  console.log("Stop orders:", stopOrders);
}

API Documentation

The client provides access to the following API endpoints:

Public APIs

  • getTradingPairs(): Get list of all trading pairs
  • getTicker(symbol): Get ticker information for a specific trading pair
  • getAllTickers(): Get ticker information for all trading pairs
  • getOrderBook(symbol): Get order book for a specific trading pair
  • getTrades(symbol): Get recent trades for a specific trading pair
  • getCandles(symbol): Get candlestick data for a specific trading pair

Private APIs

  • getBalances(): Get all account balances
  • getBalance(currency): Get balance for a specific currency
  • createOrder(params): Create a new spot order
  • cancelOrder(orderId): Cancel an existing spot order
  • getOrder(orderId): Get details of a specific order
  • getOpenOrders(): Get list of open orders
  • getTransactionHistory(): Get deposit or withdrawal history

Stop Order APIs

  • createStopOrder(params): Create a new stop order
  • getStopOrders(): Get list of stop orders
  • getStopOrder(orderId): Get details of a specific stop order
  • cancelStopOrder(orderId): Cancel an existing stop order

Error Handling

The client includes comprehensive error handling. All API errors are wrapped in a GateioError class with additional context:

try {
  await client.createOrder({
    // Invalid order parameters
  });
} catch (error) {
  if (error instanceof GateioError) {
    console.error("API Error:", error.message);
    console.error("Error Label:", error.label);
    console.error("Error Data:", error.data);
  }
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

1.0.5

7 months ago

1.0.4

7 months ago

1.0.3

7 months ago

1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago