finfusion
v0.1.0
Published
A TypeScript library for integrating with financial and cryptocurrency exchange APIs
Maintainers
Readme
FinFusion
A TypeScript library for integrating with multiple financial and cryptocurrency exchange APIs.
Features
- GMOCoin SDK: Complete integration with GMOCoin exchange
- Public API (tickers, orderbooks, trades, klines)
- Private API (trading, positions, account management)
- WebSocket support for real-time data
- Rate limiting and error handling
- Full TypeScript support
Installation
npm install finfusionQuick Start
GMOCoin SDK
Public API
import { GMOCoinClient } from 'finfusion/gmocoin';
const client = new GMOCoinClient();
// Get ticker
const ticker = await client.public.getTicker('BTC_JPY');
console.log(ticker);
// Get orderbook
const orderbook = await client.public.getOrderbook('BTC_JPY');
console.log(orderbook);Private API
import { GMOCoinClient } from 'finfusion/gmocoin';
const client = new GMOCoinClient({
apiKey: 'YOUR_API_KEY',
apiSecret: 'YOUR_API_SECRET',
});
// Get account balance
const assets = await client.private.getAssets();
console.log(assets);
// Place an order
const order = await client.private.createOrder({
symbol: 'BTC_JPY',
side: 'BUY',
executionType: 'LIMIT',
size: '0.001',
price: '5000000',
});WebSocket
const ws = client.createPublicWebSocket();
ws.on('ticker', (ticker) => {
console.log('Ticker update:', ticker);
});
await ws.connect();
ws.subscribeTicker('BTC_JPY');API Documentation
GMOCoinClient
Main client class for interacting with GMOCoin API.
Constructor Options
apiKey(string, optional): API key for private endpointsapiSecret(string, optional): API secret for private endpointsbaseURL(string, optional): Base URL for API requeststimeout(number, optional): Request timeout in millisecondstier(1 | 2, optional): Rate limit tier based on trading volumeenableRateLimiter(boolean, optional): Enable/disable rate limiting
Public API Methods
getStatus(): Get exchange statusgetTicker(symbol?): Get ticker informationgetOrderbook(symbol): Get orderbook/depthgetTrades(symbol): Get recent tradesgetKlines(params): Get kline/candlestick datagetSymbols(): Get trading rules for all symbols
Private API Methods
Account:
getMargin(): Get margin informationgetAssets(): Get asset balancesgetTradingVolume(): Get trading volume and fee tier
Orders:
createOrder(params): Create new ordercancelOrder(orderId): Cancel ordergetActiveOrders(params?): Get active orders
Positions:
getOpenPositions(params?): Get open positionsgetPositionSummary(params?): Get position summarychangeLosscutPrice(params): Change losscut priceclosePosition(params): Close specific position
Executions:
getExecutions(params?): Get execution historygetLatestExecutions(params): Get latest executions
Development
# Install dependencies
npm install
# Run tests
npm test
# Build
npm run build
# Format code
npm run format
# Lint
npm run lintExamples
See the examples/ directory for more detailed usage examples.
License
MIT
