Интеграция с Changelly API

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Интеграция с Changelly API
Простой
~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
    1122
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    859

Интеграция с Changelly API

Changelly — агрегатор обменников криптовалют. Интеграция позволяет встроить мгновенный обмен криптовалют в своё приложение без необходимости держать ликвидность. Changelly сам роутит сделки через партнёрские биржи.

Подключение к API

Changelly предоставляет REST API v2 с API-key аутентификацией. Базовый URL: https://api.changelly.com/v2.

import crypto from 'crypto';

class ChangellyClient {
  private apiKey: string;
  private apiSecret: string;
  
  constructor(apiKey: string, apiSecret: string) {
    this.apiKey = apiKey;
    this.apiSecret = apiSecret;
  }
  
  private signRequest(body: object): string {
    const message = JSON.stringify(body);
    return crypto.createHmac('sha512', this.apiSecret).update(message).digest('hex');
  }
  
  async getExchangeAmount(from: string, to: string, amount: string) {
    const body = {
      jsonrpc: '2.0',
      id: Date.now().toString(),
      method: 'getExchangeAmount',
      params: { from, to, amount },
    };
    
    const response = await fetch('https://api.changelly.com/v2', {
      method: 'POST',
      headers: {
        'api-key': this.apiKey,
        'sign': this.signRequest(body),
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(body),
    });
    
    return response.json();
  }
}

Основные вызовы API

// Получение минимальной суммы для обмена
const minAmount = await changelly.request('getMinAmount', { from: 'btc', to: 'eth' });

// Получение курса обмена
const rate = await changelly.request('getExchangeAmount', {
  from: 'btc', to: 'eth', amount: '0.1'
});

// Создание транзакции обмена
const transaction = await changelly.request('createTransaction', {
  from: 'btc',
  to: 'eth',
  amount: '0.1',
  address: userEthAddress,  // адрес получения
  refundAddress: userBtcAddress,  // адрес возврата при ошибке
});

// Отслеживание статуса
const status = await changelly.request('getTransactions', {
  id: transaction.result.id
});

Workflow обмена

  1. Получить курс → показать пользователю
  2. Пользователь подтверждает → createTransaction → получаем депозитный адрес
  3. Пользователь отправляет криптовалюту на депозитный адрес
  4. Polling статуса каждые 30–60 сек: waiting → confirming → exchanging → sending → finished
  5. При failed — показываем refund информацию

Интеграция Changelly API в существующее приложение: 1 неделя включая UI для выбора пар и отображения статуса.