npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@barfinex/connectors

v1.0.1

Published

Connectors module for the Barfinex ecosystem. Provides integration with external market data providers (Binance, Alpaca, Tinkoff, etc.) via NestJS.

Downloads

32

Readme

@barfinex/connectors

@barfinex/connectors is the integration layer of the Barfinex ecosystem — an open-source platform for algorithmic trading, quantitative research, and digital asset infrastructure.

This package provides data and trading connectors to external exchanges and brokers (e.g., Binance, Bybit, etc.), ensuring real-time market access and execution capabilities.

By centralizing connector logic, it guarantees:

  • 🔌 Seamless integration — unified abstraction over multiple exchanges.
  • Low-latency market data — historical and live data feeds with caching.
  • 📈 Trading operations — order placement, updates, and cancellations.
  • 🛡 Reliability — reconnection strategies and error-handling built in.
  • 🌍 Extensibility — easily add support for new providers without breaking existing services.

It helps to:

  • abstract differences between exchange APIs;
  • provide a uniform interface for historical and live data;
  • ensure type-safety by aligning with @barfinex/types.

📦 Installation

npm install @barfinex/connectors

or

yarn add @barfinex/connectors

📘 Example Usage

1. Importing the Connector Module

import { Module } from '@nestjs/common';
import { ConnectorModule } from '@barfinex/connectors';

@Module({
  imports: [ConnectorModule],
})
export class AppModule {}

This registers connector providers globally inside your NestJS service.


2. Using the Connector Service

import { Injectable, OnModuleInit } from '@nestjs/common';
import { ConnectorService } from '@barfinex/connectors';

@Injectable()
export class MarketWatcher implements OnModuleInit {
  constructor(private readonly connectorService: ConnectorService) {}

  async onModuleInit() {
    // Example: subscribe to live candles for BTCUSDT
    await this.connectorService.subscribe('binance', 'BTCUSDT', '1m', (candle) => {
      console.log('New candle:', candle);
    });
  }
}

The ConnectorService handles stream subscriptions, order events, and trade execution depending on the connector type.


3. Accessing Historical Candles

import { getHistory } from '@barfinex/connectors/history';

async function main() {
  const candles = await getHistory({
    exchange: 'binance',
    symbol: 'BTCUSDT',
    interval: '1h',
    limit: 100,
  });

  console.log('Fetched candles:', candles.length);
}

The history utility allows you to fetch cached or on-demand historical data for backtesting and analysis.


📚 What's Included

  • ConnectorModule — NestJS module for DI.
  • ConnectorService — main abstraction for connector logic (market data, orders, subscriptions).
  • history.ts — utilities for loading and transforming historical candles.
  • index.ts — public exports for integration.

🤝 Contributing

We welcome contributions to help grow the open Barfinex standard:

  • 🛠 Open an issue or submit a PR
  • 💡 Add new connector support (e.g., Bybit, OKX, Coinbase)
  • 💬 Share feedback or use cases

Join our Telegram community: t.me/barfinex


📜 License

This repository is licensed under the Apache License 2.0 with additional restrictions.

Key Terms:

  1. Attribution: Credit to Barfin Network Limited, with a link to https://barfin.network/.
  2. Non-Commercial Use: Commercial use is prohibited without explicit permission.
  3. Display Requirements: Must show "Barfin Network Limited", the logo, and a link to https://barfinex.com/.