Інтеграція бота з API MEXC

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція бота з API MEXC
Простий
~2-3 дні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1121
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    858

Інтеграція бота з API HTX

HTX (раніше Huobi) — одна з найбільших азіатських бірж. API підтримує spot, margin та futures. Особливості: аутентифікація через HMAC-SHA256, специфічна структура WebSocket повідомлень з gzip стиском.

Підключення до HTX API

import ccxt

exchange = ccxt.htx({
    'apiKey': API_KEY,
    'secret': SECRET,
    'enableRateLimit': True,
})

# Отримання балансу
balance = exchange.fetch_balance()
usdt_balance = balance['USDT']['free']

# Розміщення ордера
order = exchange.create_order(
    symbol='BTC/USDT',
    type='limit',
    side='buy',
    amount=0.001,
    price=42000,
)

Прямий API HTX з аутентифікацією

HTX використовує специфічну схему підпису: URL-encode параметрів в алфавітному порядку + HMAC-SHA256:

import hmac, hashlib, base64, urllib.parse, time

class HTXClient:
    BASE_URL = 'https://api.huobi.pro'
    
    def __init__(self, access_key: str, secret_key: str):
        self.access_key = access_key
        self.secret_key = secret_key
    
    def _sign(self, method: str, path: str, params: dict) -> str:
        params_sorted = sorted({
            'AccessKeyId': self.access_key,
            'SignatureMethod': 'HmacSHA256',
            'SignatureVersion': '2',
            'Timestamp': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S'),
            **params,
        }.items())
        
        query_string = urllib.parse.urlencode(params_sorted)
        payload = f"{method}\napi.huobi.pro\n{path}\n{query_string}"
        
        signature = hmac.new(
            self.secret_key.encode('utf-8'),
            payload.encode('utf-8'),
            hashlib.sha256
        ).digest()
        
        return base64.b64encode(signature).decode()
    
    def get_accounts(self):
        path = '/v1/account/accounts'
        params = {}
        sig = self._sign('GET', path, params)
        
        response = requests.get(
            f"{self.BASE_URL}{path}",
            params={
                **params,
                'AccessKeyId': self.access_key,
                'SignatureMethod': 'HmacSHA256',
                'SignatureVersion': '2',
                'Timestamp': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S'),
                'Signature': sig,
            }
        )
        return response.json()

WebSocket з gzip

HTX WebSocket використовує gzip стиск — потрібна розпаковка:

import websockets, gzip, json

async def subscribe_htx():
    async with websockets.connect('wss://api.huobi.pro/ws') as ws:
        # Підписка на тикер
        await ws.send(json.dumps({
            'sub': 'market.btcusdt.ticker',
            'id': 'ticker-sub',
        }))
        
        async for message in ws:
            # Декомпресія gzip
            decompressed = gzip.decompress(message).decode('utf-8')
            data = json.loads(decompressed)
            
            # Відповідь на ping (HTX вимагає pong протягом 5 сек)
            if 'ping' in data:
                await ws.send(json.dumps({'pong': data['ping']}))
                continue
            
            if 'ch' in data and 'tick' in data:
                ticker = data['tick']
                process_ticker(ticker['close'], ticker['vol'])

Обмеження швидкості HTX

HTX обмеження: 10 запитів/сек для приватних endpoints, 100 запитів/сек для публічних. При перевищенні — відповідь {"status":"error","err-code":"api-limit-reached"}.

HTX також підтримує bulk order operations — розміщення кількох ордерів одним запитом, що допомагає в управлінні rate limit для high-frequency стратегій.

Інтеграція бота з HTX API: 1–2 тижні. CCXT абстрагує більшість особливостей HTX, але прямий API потрібен для специфічних функцій (bulk orders, margin, futures).