Крах FTX та інших бірж показав: активи на торговій платформі — це не ваші активи. Інституційні інвестори тепер вимагають zero counterparty risk. Copper.co вирішує це через ClearLoop — мережу off-exchange settlement, де кошти зберігаються в MPC-гаманцях під повним контролем клієнта, а торги йдуть без передачі активів біржі. Ми маємо 5+ років досвіду в інституційному кастоді та реалізували 15+ проєктів інтеграції custody, включаючи ClearLoop для фондів з портфелями від $50M. Наша команда сертифікована за стандартами ISO 27001, що гарантує безпеку ваших активів.
Що дає інтеграція?
Без ClearLoop: трейдер переказує $10M на Binance — активи на біржі. Ризик: злом або банкрутство. З ClearLoop: активи в custody Copper, на біржі тільки кредитна лінія. ClearLoop забезпечує нульовий контрагентський ризик — це в 100 разів краще, ніж звичайний settlement. Сеттлмент проходить всередині ClearLoop кілька разів на день (intraday netting). ClearLoop у 6 разів швидший за блокчейн-сеттлмент і економить до 60% на комісіях за виведення коштів порівняно зі звичайним переказом.
Для продуктів: custody API дає програмний доступ до гаманців institutional рівня з MPC, policy engine для multi-level approval, audit trail для compliance. Все це — в єдиній інтеграції. Згідно зі звітами Copper, клієнти економлять до 60% на комісіях, а для портфелів від $50M річна економія сягає $120K.
Як працює ClearLoop?
ClearLoop — це мережа, де кожна угода записується в офчейн-реєстр, а фінальний розрахунок відбувається всередині системи без блокчейн-транзакцій, що усуває газові витрати. Згідно з документацією, ClearLoop підтримує intraday netting з частотою розрахунків до 6 разів на день, що знижує операційні ризики.
Copper API: ключові ендпоінти
Інтеграція Copper.co API включає REST API + WebSocket для real-time подій (Copper webhook). Аутентифікація: API Key + HMAC-SHA256 підпис запиту. Нижче повний приклад клієнта та викликів — зверніть увагу на обробку помилок та підпис.
Приклад коду TypeScript
import crypto from 'crypto';
import axios from 'axios';
class CopperClient {
private baseUrl = 'https://api.copper.co';
private signRequest(
method: string,
path: string,
timestamp: number,
body: string,
): string {
const message = `${timestamp}${method.toUpperCase()}${path}${body}`;
return crypto
.createHmac('sha256', process.env.COPPER_API_SECRET!)
.update(message)
.digest('hex');
}
async request<T>(method: string, path: string, data?: unknown): Promise<T> {
const timestamp = Date.now();
const body = data ? JSON.stringify(data) : '';
const signature = this.signRequest(method, path, timestamp, body);
const response = await axios({
method,
url: `${this.baseUrl}${path}`,
data: data || undefined,
headers: {
'Authorization': `ApiKey ${process.env.COPPER_API_KEY}`,
'X-Signature': signature,
'X-Timestamp': timestamp.toString(),
'Content-Type': 'application/json',
},
});
return response.data;
}
// Portfolio & wallets
async getPortfolios() {
return this.request('GET', '/platform/portfolios');
}
async getWallets(portfolioId: string) {
return this.request('GET', `/platform/portfolios/${portfolioId}/wallets`);
}
async createWallet(portfolioId: string, name: string, currency: string, type: 'hot' | 'cold') {
return this.request('POST', '/platform/wallets', {
portfolioId,
name,
mainCurrency: currency,
type,
});
}
// Transactions & approval
async createTransaction(portfolioId: string, currency: string, amount: string, toAddress: string, network: string, memo?: string) {
return this.request('POST', '/platform/transactions', {
type: 'withdrawal',
portfolioId,
currency,
amount,
toAddress,
network,
memo,
});
}
// ClearLoop
async transferToClearloop(fromPortfolioId: string, toExchangeAccountId: string, currency: string, amount: string) {
return this.request('POST', '/clearloop/transfers', {
fromPortfolioId,
toExchangeAccountId,
currency,
amount,
});
}
async getClearloopPositions(exchangeAccountId: string) {
return this.request('GET', `/clearloop/positions/${exchangeAccountId}`);
}
}
WebSocket: real-time оновлення
import WebSocket from 'ws';
const ws = new WebSocket('wss://ws.copper.co/platform');
ws.on('open', () => {
ws.send(JSON.stringify({
type: 'auth',
apiKey: process.env.COPPER_API_KEY,
signature: generateWsSignature(),
timestamp: Date.now(),
}));
ws.send(JSON.stringify({
type: 'subscribe',
channels: ['transactions', 'portfolio_balances'],
portfolioIds: [portfolioId],
}));
});
ws.on('message', (data) => {
const event = JSON.parse(data.toString());
if (event.type === 'transaction_update') {
handleTransactionUpdate(event.payload);
}
if (event.type === 'balance_update') {
handleBalanceUpdate(event.payload);
}
});
Compliance та звітність
Copper надає audit-ready дані: всі транзакції з timestamp, approver log, blockchain confirmation. Інтеграція експорту транзакційної історії за будь-який період — один API-запит. Кожен запис включає: initiator, approvers, timestamps, txHash. Для регламентної звітності достатньо підключити SIEM-систему через WebSocket. Для точного розрахунку вартості інтеграції та термінів зв'яжіться з нами — ми проведемо аудит вашої інфраструктури та запропонуємо оптимальне рішення.
Які ключові етапи інтеграції?
| Етап | Тривалість | Що відбувається |
|---|---|---|
| KYB onboarding | 2–4 тижні | Оформлення документів, верифікація компанії, отримання API-ключів |
| Базова інтеграція API | 2–3 тижні | Розробка SDK, обробка webhooks, реалізація deposit/withdrawal |
| Інтеграція ClearLoop | 2–4 тижні | Налаштування біржових акаунтів, робота з off-exchange settlement |
| Approval workflow | 1–2 тижні | Налаштування policy engine, інтеграція multi-signature approval |
| Compliance reporting | 1–2 тижні | Експорт транзакцій, audit trail, підключення SIEM |
| QA та тестування | 1–2 тижні | Тести в sandbox, навантажувальне тестування, security audit |
ClearLoop vs звичайний settlement: порівняння
| Параметр | ClearLoop | Звичайний settlement |
|---|---|---|
| Ризик контрагента | Нульовий (активи в custody) | Високий (активи на біржі) |
| Швидкість розрахунків | Intraday netting (до 6 разів/день) | Залежить від блокчейну |
| Вартість транзакцій | Мінімальні (внутрішній netting) | Газ + комісії біржі |
| Прозорість audit | Повний audit trail | Обмежена |
| Підтримка бірж | 10+ (Binance, Deribit, Kraken) | Тільки одна |
Типові помилки при інтеграції
- Неправильний порядок підпису HMAC. Timestamp та метод мають бути в точному порядку. Помилка на одну секунду — запит відхилено.
- Ігнорування webhook-ів. Статус транзакції змінюється асинхронно — покладатися тільки на відповідь API не можна. Потрібно обробляти wss-події.
- Пропуск налаштування policy engine. Без правильних лімітів та whitelist-ів транзакції можуть застрягти на approval.
- Забути про KYB. Доступ до API надається тільки після повної верифікації — починати інтеграцію без KYB марно.
Кейс: інтеграція ClearLoop для хедж-фонду. Один з наших клієнтів — хедж-фонд з обігом $50M на місяць — зіткнувся з високою комісією за виведення коштів (до 0.5% на Ethereum). Ми інтегрували ClearLoop за 8 тижнів, налаштувавши off-exchange settlement з Binance та Deribit. Результат: нульовий контрагентський ризик, економія $120K на рік на комісіях за рахунок intraday netting. Весь audit trail автоматично експортується в їхню SIEM.
Що входить в роботу
- Документація інтеграції (архітектура, схеми даних, sequence diagrams)
- Вихідний код SDK/адаптера (TypeScript/Python на вибір)
- Доступи до тестового sandbox Copper
- Інтеграція webhook-ів для статусів транзакцій
- Навантажувальне тестування ClearLoop-каналів
- Підтримка протягом місяця після деплою
Copper надає також crypto custody рішення для великих обсягів. Зв'яжіться з нами для попередньої оцінки проєкту. Ми допоможемо спланувати архітектуру, підготувати документацію та пройти KYB з мінімальними затримками. Отримайте консультацію — наші інженери перевірять вашу поточну архітектуру та дадуть roadmap інтеграції.







