Skip to content

Integrate new Iranian and Global Exchanges (v4.9.5 - 2025-10-10) - #20

Merged
mohammadnasher merged 25 commits into
masterfrom
feature/add-new-exchanges
Oct 15, 2025
Merged

mohammadnasher merged 25 commits into
masterfrom
feature/add-new-exchanges

Conversation

@mohammadnasher

@mohammadnasher mohammadnasher commented Oct 11, 2025 •

Copy link
Copy Markdown

This pull request adds support for 7 new cryptocurrency exchanges and includes important bug fixes for existing exchanges. The changes span
from v4.9.5 to v4.9.10.

🆕 New Exchange Integrations

  1. Kifpool (v4.9.6) - Spot Trading
  • Market data fetching with USDT and IRT quote currencies
  • Real-time ticker endpoints with bid/ask prices
  • OHLCV data with 8 timeframes (1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w)
  • API: https://api.kifpool.app
  1. Cafearz (v4.9.5) - OTC Trading
  1. Bitbarg (v4.9.5) - OTC Trading
  1. Bydfi (v4.9.5) - Spot Trading
  • Dual API architecture (public + quote endpoints)
  • CSV-formatted ticker parsing with 11 fields
  • Order book depth data
  • OHLCV with 9 timeframes including 1M
  • TradingView-compatible data format
  1. Pooleno (v4.9.8) - Spot Trading
  • Support for TMN (Toman) and USDT pairs
  • 24h price change tracking via sparkline data
  • Market cap and volume data
  1. Pingi (v4.9.10) - OTC Trading
  • UDF (Universal Data Feed) format for chart data
  • Multiple quote currencies (IRT, USDT)
  • Real-time market statistics
  • API v5: https://api5.pingi.co
  1. Mazdax (v4.9.10) - OTC Trading
  • IRR (Iranian Rial) quote currency support
  • Market precision and fee information (taker/maker)
  • Order book depth functionality
  • Order size limits tracking

🐛 Bug Fixes

Twox Exchange (v4.9.7)

  • Fixed ticker data parsing for sellPrice, buyPrice, and latestPrice
  • Improved bid/ask price mapping based on quote currency
  • Added proper price change tracking

Afratether Exchange (v4.9.7)

  • Changed market type from spot to otc
  • Updated API endpoint to https://api.abantether.com
  • Fixed price parsing for IRR pairs
  • Updated symbol construction format

Abantether Exchange (v4.9.10)

  • Updated API endpoint from abantether.com to api.abantether.com
  • Changed endpoint path from /management/all-coins/ to /manager/coins/data
  • Changed market type from spot to otc

Tetherland Exchange (v4.9.6)

  • Fixed API endpoint (api.teterlands.com → service.tetherland.com)
  • Improved data parsing for array responses
  • Enhanced number parsing for formatted strings

📊 Summary

  • Total new exchanges: 7
  • Supported exchange count: 137 → 144 (+7)
  • Bug fixes: 4 exchanges
  • Version bumps: 4.9.4 → 4.9.10

All integrations include proper TypeScript definitions, multi-language support (JavaScript, Python, PHP, C#, Go), and comprehensive API
documentation.

Omid Nasher added 8 commits October 10, 2025 21:27
- Add abstract class with public API endpoint
- Implement fetchMarkets, fetchTickers and fetchTicker methods
- Add type definitions and parsing logic for market data
Improve code maintainability by using the extend method instead of spread operator for ticker object construction
Move market object construction from fetchMarkets into parseMarket method to improve code reuse and maintainability
Implement initial Bitbarg exchange support including market data fetching, ticker endpoints, and API integration. Add abstract class, public API endpoints, and type definitions for market data parsing. Support real-time trading pair information with IRT quote.
- Implement abstract class with dual API endpoints architecture
- Add support for spot market data fetching (markets, tickers, order book, OHLCV)
- Include type definitions and parsing logic for spot markets
- Add API method routing for quote and public endpoints
- Update CHANGELOG.md with integration details
@mohammadnasher mohammadnasher self-assigned this Oct 11, 2025
@mohammadnasher mohammadnasher added the enhancement New feature or request label Oct 11, 2025
…oints

- Implement abstract class and public API endpoints
- Add support for fetching markets, tickers and OHLCV data
- Handle both USDT and IRT quote currencies
- Include type definitions and parsing logic
- Change public API endpoint from api.teterlands.com to service.tetherland.com
- Replace safeDict with safeList for market data parsing
- Use asFloat for more robust number parsing in ticker prices
Add details about critical API endpoint and data parsing fixes for Tetherland Exchange in the CHANGELOG
- Change public API endpoint from abantether.com to api.abantether.com
- Update endpoint path from management/all-coins to manager/coins/data
- Adjust response parsing to handle new data structure with 'data' field
- Update market and ticker parsing to match new API response format
handle bid/ask prices differently based on quote currency
add percentage change calculation
update market capabilities (spot/otc flags)
Add details about recent improvements to Twox Exchange ticker data parsing including price field mapping, bid/ask logic, and change tracking
Update parseMarket and parseTicker methods to handle new USDT/IRR market structure
Change market type from spot to otc and use fixed quote currency (IRR)
Implement new price parsing logic for bid/ask prices from prices.IRR object
Add details about USDT/IRR market and ticker parsing updates including OTC market type, fixed quote currency, and new price fields
- Add new v4.9.7 section with fixes for Twox and Afratether exchanges
- Reorganize previous entries to maintain chronological order
- Document Kifpool exchange integration and Tetherland fixes under correct versions
Add abstract class and public API endpoints for Mazdax OTC exchange
Implement market data fetching (fetchMarkets, fetchTicker, fetchTickers)
Add OHLCV candlestick data support with multiple timeframes
Implement order book depth fetching (fetchOrderBook)
Implement abstract class and public API endpoints for Pingi OTC exchange
Add support for market data, tickers, and OHLCV endpoints
Include type definitions and parsing logic for OTC markets
Add type parameter to market requests to differentiate between spot and OTC markets. Refactor market parsing into separate methods for spot and OTC markets.
…e handling

remove duplicate otcMarkets API call in fetchMarkets
add default 'spot' type to fetchTickers and fetchTicker params
update market type handling in various methods to use params.type
add OTC market validation in fetchTicker
The default 'type': 'spot' parameter was removed from fetchMarkets, fetchTickers, and fetchTicker methods to make them more flexible and not enforce a default market type. This allows the methods to work with any market type specified by the caller.
…e abantether API endpoint

fix: correct tetherland API URL and market data parsing

chore: bump version to 4.9.10 across all files

refactor: move otc flag in exchange definitions for consistency
@mohammadnasher
mohammadnasher requested review from gorfist and removed request for mohammadanaraki October 14, 2025 09:35
@mohammadnasher
mohammadnasher merged commit 675a26e into master Oct 15, 2025
10 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants