Node reference library for Bitfinex API - Modernized Fork
npm install @jcbit/bitfinex-api-node> Modernized fork of the official Bitfinex API Node.js library with updated dependencies, Node.js 20+ support, and enhanced development experience.



- Node.js 20+ minimum requirement
- All 47 dependencies updated to latest versions
- Enhanced npm scripts for better development experience
- Comprehensive .env configuration system
- Complete technical documentation and improvement roadmap
- Fixed critical ws v8+ compatibility issue
- Improved WebSocket message handling
- Better error handling and debugging
- Zero linting errors with updated standards
- 228 tests passing with enhanced validation
- TECHNICAL-REVIEW.md - Complete code analysis
- IMPROVEMENT-PROPOSALS.md - Future enhancement roadmap
- ENV-SETUP.md - Configuration guide
- MODERNIZATION.md - Detailed changelog
``bashConfigure npm to use GitHub Package Registry for @jcbit scope
echo "@jcbit:registry=https://npm.pkg.github.com" >> ~/.npmrc
$3
- Node.js: โฅ20.0.0
- npm: โฅ10.0.0
๐ง Quick Start
`javascript
const { BFX } = require("@jcbit/bitfinex-api-node");// REST API
const bfx = new BFX({
apiKey: process.env.API_KEY,
apiSecret: process.env.API_SECRET,
transform: true,
});
const rest = bfx.rest(2);
// Get ticker
rest.ticker("tBTCUSD").then((ticker) => {
console.log("BTC/USD:", ticker);
});
// WebSocket API
const ws = bfx.ws(2);
ws.on("open", () => {
console.log("Connected to Bitfinex WebSocket");
ws.subscribeTicker("tBTCUSD");
});
ws.onTicker({ symbol: "tBTCUSD" }, (ticker) => {
console.log("Ticker update:", ticker);
});
ws.open();
`๐ Configuration
Create a
.env file in your project root:`bash
Copy the example configuration
cp node_modules/@jcbit/bitfinex-api-node/.env.example .envEdit with your credentials
API_KEY=your_api_key_here
API_SECRET=your_api_secret_here
`See
ENV-SETUP.md for complete configuration options.๐ Differences from Original
This is a modernized fork of the official
bitfinex-api-node with:| Feature | Original | This Fork |
| ----------------- | ----------- | --------------------- |
| Node.js | โฅ16.0.0 | โฅ20.0.0 |
| Dependencies | Outdated | All updated (47 deps) |
| ws Library | v7 (broken) | v8+ (fixed) |
| Configuration | Manual | .env + guide |
| Documentation | Basic | Comprehensive |
| Development | Limited | Enhanced scripts |
| Testing | Basic | Validated + examples |
๐ Available Scripts
`bash
Development
npm run dev # Start with nodemon
npm run test:watch # Run tests in watch modeTesting
npm test # Run linter + tests
npm run unit # Run unit tests only
npm run lint # Run linter
npm run lint:fix # Fix linting issuesDocumentation
npm run docs # Generate JSDoc documentation
npm run docs:serve # Serve docs on localhost:8080Maintenance
npm run clean # Clean node_modules
npm run fresh-install # Clean install
`๐ API Reference
This package maintains 100% compatibility with the original Bitfinex API. All methods, events, and functionality work exactly the same.
$3
- Account management (wallets, positions, orders)
- Market data (tickers, trades, order books)
- Trading operations (submit, cancel, modify orders)
- Funding (loans, credits, offers)
$3
- Real-time market data
- Account updates
- Order management
- Custom calculations
For detailed API documentation, see the official Bitfinex docs.
๐งช Validation
All functionality has been thoroughly tested:
- โ
228 unit tests passing
- โ
All REST endpoints verified
- โ
WebSocket connections validated
- โ
Public examples tested
- โ
Authenticated examples verified with real API keys
- โ
Zero linting errors
๐ง Future Roadmap
See
IMPROVEMENT-PROPOSALS.md` for detailed enhancement plans:- TypeScript migration for better DX
- Smart reconnection with exponential backoff
- Enhanced error handling with typed errors
- Connection pooling for REST optimization
- Debug dashboard for real-time monitoring
- CLI tools for development and testing
This is a personal fork focused on modernization. For issues with the core API functionality, please refer to the official repository.
For modernization-specific issues or suggestions:
1. Check existing issues
2. Create a new issue with detailed description
3. PRs welcome for bug fixes and improvements
MIT License - see LICENSE.md
- Original Library: Bitfinex Team
- Modernization: JC
- All Contributors: See package.json contributors list
---
โ ๏ธ Disclaimer: This is an unofficial modernized fork. For production use, consider the maintenance implications and evaluate whether the original library meets your needs.
๐ Links:
- Original Repository
- This Fork
- Release Notes
- Technical Review