@xfilecom/gateio-api
v1.0.5
Published
Gate.io API client for Node.js with TypeScript support
Downloads
440
Maintainers
Readme
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 pairsgetTicker(symbol)
: Get ticker information for a specific trading pairgetAllTickers()
: Get ticker information for all trading pairsgetOrderBook(symbol)
: Get order book for a specific trading pairgetTrades(symbol)
: Get recent trades for a specific trading pairgetCandles(symbol)
: Get candlestick data for a specific trading pair
Private APIs
getBalances()
: Get all account balancesgetBalance(currency)
: Get balance for a specific currencycreateOrder(params)
: Create a new spot ordercancelOrder(orderId)
: Cancel an existing spot ordergetOrder(orderId)
: Get details of a specific ordergetOpenOrders()
: Get list of open ordersgetTransactionHistory()
: Get deposit or withdrawal history
Stop Order APIs
createStopOrder(params)
: Create a new stop ordergetStopOrders()
: Get list of stop ordersgetStopOrder(orderId)
: Get details of a specific stop ordercancelStopOrder(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.