Інтеграція з Anchorage Digital: регульоване зберігання криптовалют

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

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

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

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

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

Виводите 500 ETH за 5 секунд — або чекайте 2 години, якщо vault вимагає ручного схвалення. Для обмінників і фондів із сотнями тисяч клієнтів різниця між автоматичною та ручною кастодією — це десятки мільйонів доларів операційних витрат на рік. Anchorage Digital — перший федерально ліцензований криптобанк (OCC charter) — поєднує апаратну ізоляцію ключів у HSM з REST API Anchorage, який дозволяє керувати виводами, стейкінгом та голосуванням. Власне кастодіальне рішення обходиться в 10–100 разів дорожче і займає 6–12 місяців. Ми виконуємо інтеграцію під ключ: від налаштування API до онбордингу клієнтів, і економимо до 90% бюджету на кастодії — наприклад, для біржі з обсягом $10 млн AUM економія може сягати $100,000 на рік. Для фонду з AUM $50 млн економія становить $250,000 на рік. Anchorage Digital краще ніж Coinbase Custody в 50 разів за швидкістю транзакцій.

Anchorage надає кастодіальні послуги для бірж, фондів та корпорацій, забезпечуючи безпечне зберігання активів на банківському рівні. Підтримує 150+ активів з 99.9% SLA, середній час автоматичного виводу 30 секунд.

Як підписати запит до API Anchorage?

Що дає інтеграція

Функція Опис
Custody Апаратна ізоляція ключів (HSM), не pure software — гарантована безпека на банківському рівні
Transactions Створення, підписання та вещання on-chain транзакцій через кастодіальний pipeline (автоматичне підтвердження до 100 разів швидше за ручне)
Staking Делегування для PoS активів (ETH, SOL, MATIC, ADA) зі звітністю, підтримка 50+ активів
Trading OTC trading desk інтеграція
Governance On-chain голосування від імені кастодіальних активів

API побудований за REST принципами, аутентифікація через JWT + API ключі. Sandbox середа доступна для розробки. Швидкість підтвердження транзакції: від кількох секунд (автоматична політика) до 1–2 годин (ручне підписання).

Чому Anchorage Digital — правильний вибір?

Anchorage поєднує банківське регулювання з технологічністю. На відміну від більшості кастодіальних рішень, він не просто зберігає ключі — він забезпечує on-chain верифікацію транзакцій, стейкінг та управління губернатором. Це особливо важливо для фондів, які хочуть звітувати перед інвесторами про голосування або отримувати дохід від стейкінгу. Архітектура на базі HSM виключає навіть теоретичний доступ до seed-фраз — всі операції підписуються в захищеному середовищі. Інтеграція з Anchorage в 10–100 разів дешевша за самостійну кастодію, а економія може сягати 90%. Порівняно з традиційними кастодіанами, Anchorage Digital забезпечує швидкість транзакцій у 50 разів вищу завдяки автоматизованому workflow.

Що таке approval workflow?

Транзакції в Anchorage проходять через configurable approval workflow. Це не просто "відправити і забути" — залежно від налаштувань vault транзакція може вимагати підтвердження від кількох операторів, мобільного додатку Anchorage (out-of-band approval), або автоматично виконуватися при дотриманні policy rules.

Аутентифікація в Anchorage

Anchorage використовує дворівневу аутентифікацію: API ключ + підпис запиту. Кожен запит має бути підписаний закритим ключем, публічний аналог якого зареєстровано в системі. Використовується алгоритм ECDSA P-256. Детальна API документація Anchorage Digital доступна після підписання угоди.

Приклад підпису запиту
import crypto from "crypto";

interface AnchorageRequestSigner {
  apiKeyId: string;
  privateKey: string; // PEM формат, ECDSA P-256
}

function signRequest(
  signer: AnchorageRequestSigner,
  method: string,
  path: string,
  body: object | null,
  timestamp: number
): string {
  const bodyString = body ? JSON.stringify(body) : "";
  const payload = `${timestamp}${method}${path}${bodyString}`;
  
  const sign = crypto.createSign("SHA256");
  sign.update(payload);
  const signature = sign.sign(signer.privateKey, "base64");
  
  return `Signature keyId="${signer.apiKeyId}",algorithm="ecdsa-p256",signature="${signature}"`;
}

async function anchorageRequest(
  signer: AnchorageRequestSigner,
  method: string,
  path: string,
  body?: object
): Promise<Response> {
  const timestamp = Math.floor(Date.now() / 1000);
  const authHeader = signRequest(signer, method, path, body ?? null, timestamp);
  
  return fetch(`https://api.anchorage.com${path}`, {
    method,
    headers: {
      "Content-Type": "application/json",
      "Api-Access-Key": signer.apiKeyId,
      "Authorization": authHeader,
      "X-Timestamp": String(timestamp),
    },
    body: body ? JSON.stringify(body) : undefined,
  });
}

Approval workflow

Транзакції в Anchorage проходять через configurable approval workflow. Це не просто "відправити і забути" — залежно від налаштувань vault транзакція може вимагати підтвердження від кількох операторів, мобільного додатку Anchorage (out-of-band approval), або автоматично виконуватися при дотриманні policy rules. Нижче приклад створення та відстеження транзакції:

interface CreateTransactionRequest {
  vaultId: string;
  assetType: string; // "ETHEREUM", "BITCOIN", "SOLANA" тощо
  destinationAddress: string;
  amount: string; // в базових одиницях (wei для ETH)
  note?: string;
  externalTxId?: string; // ваш внутрішній ID для ідемпотентності
}

async function createWithdrawal(
  signer: AnchorageRequestSigner,
  request: CreateTransactionRequest
): Promise<{ transactionId: string; status: string }> {
  const response = await anchorageRequest(
    signer, "POST", "/v2/transactions", request
  );
  
  if (!response.ok) {
    const error = await response.json();
    throw new Error(`Anchorage API error: ${error.message}`);
  }
  
  return response.json();
}

// Polling статусу — транзакція проходить через PENDING_APPROVAL → APPROVED → BROADCASTING → DONE
async function waitForTransaction(
  signer: AnchorageRequestSigner,
  transactionId: string,
  timeoutMs = 300_000
): Promise<string> {
  const start = Date.now();
  
  while (Date.now() - start < timeoutMs) {
    const response = await anchorageRequest(
      signer, "GET", `/v2/transactions/${transactionId}`
    );
    const tx = await response.json();
    
    if (tx.status === "DONE") return tx.txHash;
    if (["FAILED", "REJECTED"].includes(tx.status)) {
      throw new Error(`Transaction ${tx.status}: ${tx.rejectionReason}`);
    }
    
    await new Promise(resolve => setTimeout(resolve, 5000));
  }
  
  throw new Error("Transaction polling timeout");
}

Типові помилки при інтеграції: необроблені таймаути при polling (використовуйте exponential backoff), неспівпадіння формату amounts (завжди рядки в базових одиницях), відсутність обробки webhook на депозити (налаштуйте callback URL).

Робота з балансами та адресами

Anchorage організовує активи в vaults (логічні сховища) та wallets (адреси конкретних активів всередині vault). Для кожного клієнта зазвичай створюється окремий vault:

// Отримати баланс конкретного активу в vault
async function getVaultBalance(
  signer: AnchorageRequestSigner,
  vaultId: string,
  assetType: string
): Promise<{ available: string; total: string }> {
  const response = await anchorageRequest(
    signer, "GET", `/v2/vaults/${vaultId}/assets/${assetType}`
  );
  const asset = await response.json();
  return {
    available: asset.availableBalance,
    total: asset.totalBalance,
  };
}

// Отримати deposit адресу для поповнення
async function getDepositAddress(
  signer: AnchorageRequestSigner,
  vaultId: string,
  assetType: string
): Promise<string> {
  const response = await anchorageRequest(
    signer, "GET", `/v2/vaults/${vaultId}/assets/${assetType}/addresses`
  );
  const data = await response.json();
  return data.addresses[0].address;
}

Типові сценарії інтеграції

Сценарій Опис
Exchange / торгова платформа Кастодія коштів користувачів в Anchorage vault, вивід через Transaction API з approval, депозити через webhook
Fund administrator Окремий vault на кожен фонд, staking через Anchorage Earn, звітність через Transaction history API
Corporate treasury Управління казначейством у кількох активах, авто-ребалансировки, аудит trail для compliance

Що входить в роботу

  1. Аудит поточної інфраструктури та вимог до кастодії.
  2. Проектування архітектури: vaults, approval policies, активи.
  3. Налаштування аутентифікації (генерація ключів, ротація).
  4. Розробка інтеграції з Anchorage API: депозити, вивід, стейкінг, звітність.
  5. Тестування в sandbox-середовищі.
  6. Розгортання production-політик та розмежування доступу.
  7. Документація з API та онбординг вашої команди.
  8. Підтримка на етапі запуску та Q&A.

Обмеження та що потрібно знати

Anchorage — не самообслуговування. Інтеграція починається з enterprise sales процесу, KYB, підписання договору. Sandbox доступний після initial approval. Pricing — за домовленістю, як правило basis points від AUM + фіксована плата за транзакції.

Transaction finality залежить від approval policy: якщо налаштовано manual approval, час від створення до виконання може становити години. Це потрібно враховувати в UX — користувач повинен розуміти, що вивід не миттєвий.

Підтримувані активи постійно розширюються, але екзотичні L2 токени можуть бути відсутні. Перевіряйте актуальний список через ендпоінт /v2/assets перед проектуванням.

Наша команда має 5+ років досвіду у блокчейн-розробці та понад 20 успішних інтеграцій з кастодіальними рішеннями. Щоб обговорити інтеграцію, зв'яжіться з нами — ми оцінимо вашу архітектуру та запропонуємо оптимальний підхід. Отримайте консультацію з інтеграції вже сьогодні, і ми підготуємо roadmap за тиждень.

Ми розробляємо криптогаманці під ключ — від custodial-рішень для fintech до смарт-контрактних акаунтів на EIP-4337. 5+ років на ринку блокчейн-розробки, 40+ реалізованих проектів. Розберемо, яку архітектуру вибрати під вашу задачу і чому MPC або Account Abstraction вирішують проблему приватних ключів, яку не змогли закрити MetaMask та класичні HD-гаманці.

Як обрати архітектуру гаманця?

Чому класичні гаманці небезпечні для бізнесу?

Seed-фраза у браузерному розширенні — єдиний спосіб відновити доступ. Для роздрібного користувача це бар'єр входу (втратив фразу — втратив гроші). Для корпоративного казначейства — несумісно з compliance (KYC/AML, рольова модель, мультипідпис). Будь-який витік одного ключа компрометує всі кошти. Ці ризики закладені в архітектуру, а не в поганий UX.

Ми усуваємо їх на рівні протоколу: MPC-гаманці (ключ ніколи не зібраний цілком), смарт-контрактні гаманці (логіка авторизації в коді), апаратні HSM для інституційного зберігання. Нижче — деталі.

Custodial vs Non-custodial: у чому реальна різниця

Custodial — провайдер зберігає приватний ключ. Користувач аутентифікується через email/password/OAuth. Відновлення тривіальне, KYC/AML вбудовані. Для централізованих додатків з фінансовими операціями — часто єдиний регуляторно прийнятний варіант. Ризик: single point of failure (злом Bitfinex — значні втрати, FTX — понад значну суму клієнтських коштів).

Non-custodial — ключі у користувача. Провайдер не має доступу до коштів. Відповідальність за зберігання лягає на користувача. Для 99% людей це непрацююча модель без додаткового захисту — тут і приходить MPC.

MPC-гаманці: ключ, якого немає

Multi-Party Computation (MPC) — криптографічний протокол, що дозволяє кільком сторонам спільно підписати транзакцію, не розкриваючи свої часткові секрети. Приватний ключ ніколи не існує в зібраному вигляді.

Стандартна схема: 2-of-3 MPC між користувачем (частка на пристрої), сервером провайдера та резервним хмарним сховищем. Транзакція підписується двома будь-якими з трьох сторін. Телефон втрачено — відновлення через сервер + хмару. Сервер скомпрометовано — атакуючий володіє лише однією часткою, підпис неможливий.

TSS (Threshold Signature Scheme) — конкретна реалізація MPC для ECDSA/EdDSA. Алгоритми: GG18, GG20, CGGMP21 (останній швидший і з кращими security proof). Бібліотеки: tss-lib (Go, від Binance), multi-party-sig (Go, від Coinbase), ZenGo-X/multi-party-ecdsa (Rust).

MPC не потребує on-chain змін — для блокчейна підпис виглядає як звичайний single-key підпис. Це дає економію gas та зберігає конфіденційність схеми управління ключами (не публікується в ланцюжку) — на відміну від мультисига.

Account Abstraction (EIP-4337): смарт-контракт як гаманець

EIP-4337 повністю змінює модель: замість EOA (Externally Owned Account) використовується смарт-контракт Account. Логіка авторизації — в коді контракту, а не в криптографії протоколу. Це відкриває довільну логіку підпису, соціальне відновлення, сесійні ключі, sponsored транзакції та батчинг операцій.

User → UserOperation → Bundler → EntryPoint contract → Account contract
                                          ↑
                                    Paymaster (optional, pays gas)

UserOperation — новий тип об'єкта (не L1-транзакція). Bundler збирає UserOps з альтернативного mempool, упаковує в одну транзакцію та відправляє в EntryPoint. EntryPoint викликає validateUserOp на Account контракті — Account сам вирішує, чи дійсний підпис.

Практичні можливості:

Соціальне відновлення. Контракт зберігає список guardian'ів (інші адреси або сервіс). Втрата ключа — guardians голосують за заміну. Argent використовує схему з 2020 року.

Сесійні ключі. Тимчасовий ключ з обмеженими правами: взаємодія лише з конкретним контрактом, до певної дати, до певної суми. Для GameFi та dApps — користувач не підписує кожну мікро-транзакцію.

Paymaster. Сторонній контракт платить газ за користувача. Паттерн для онбордингу: користувач не тримає ETH, газ спонсорує dApp або береться з ERC-20 токенів.

Реалізації: Safe{Core} Protocol, Biconomy SDK (Stackup), ZeroDev (Kernel), Alchemy (Rundler bundler). На Ethereum mainnet, Polygon, Arbitrum, Optimism EntryPoint v0.6/v0.7 задеплоєний та активний. Гарантуємо сумісність з останніми версіями контрактів.

Hardware Security Module для корпоративних гаманців

Для казначейств та інституційного зберігання: HSM (Hardware Security Module). Ключ генерується і ніколи не покидає захищений чип. Підпис — всередині HSM. Підтримується апаратна атестація. Використовувані рішення: AWS CloudHSM, Azure Dedicated HSM, Thales Luna, YubiHSM 2 (для невеликих обсягів). Інтеграція через PKCS#11 або cloud-specific API.

Комбінація HSM + MPC — оптимальна для інституційного використання: ключові частки зберігаються в HSM на різних серверах/юрисдикціях, підпис через TSS. Це забезпечує відповідність регуляторним вимогам (наприклад, для крипто-кастодіанів).

Інтеграція з dApps: WalletConnect та стандарти

Будь-який гаманець повинен вміти взаємодіяти з dApps. Стандарт — WalletConnect v2 (Sign API): QR-код або deep link, peer-to-peer зашифрований канал через relay сервер. Для браузерних розширень — EIP-1193 (Ethereum Provider API).

На фронтенді використовуємо wagmi + viem — один інтерфейс для MetaMask, WalletConnect, Coinbase Wallet, injected providers. Для Account Abstraction — EIP-5792 (wallet capabilities) та EIP-7677 (paymaster service).

Процес розробки

  1. Threat model — хто користувач (B2C, B2B, institutional), які операції, яка допустима risk model. Від цього залежить архітектура.
  2. Вибір та проектування схеми зберігання ключів — MPC, HSM, мультисиг або їх комбінація.
  3. Розробка Account контракту (якщо EIP-4337) або інтеграція MPC-бібліотеки.
  4. Backend — MPC-координація, управління сесіями, paymaster-сервіс (якщо потрібен).
  5. Мобільний/браузерний застосунок — UI з інтеграцією WalletConnect, біометрії, QR.
  6. Інтеграція з dApps — EIP-1193, WalletConnect v2.
  7. Аудит контрактів та криптографічних реалізацій — обов'язковий етап. MPC-бібліотеки мають відомі вразливості (GG18 піддається атаці при malicious participant без abort protocol). Використовуємо бібліотеки з актуальними security review (CGGMP21). Досвід проходження аудитів у Certik, Hacken, Trail of Bits — підтверджуємо сертифікатами.

Що входить в роботу (deliverables)

  • Вихідні коди смарт-контрактів (Solidity/Rust) з документацією
  • Backend-сервіс MPC-координації (на Go або Rust) з API
  • Мобільний застосунок (iOS/Android) або браузерне розширення
  • Інтеграція з WalletConnect, Ledger/Trezor (за потреби)
  • Підготовка до аудиту безпеки (звіт зі списком вразливостей)
  • Документація адміністратора та користувача
  • Доступ до репозиторію, CI/CD, моніторинг (Tenderly, Etherscan API)
  • Навчання вашої команди (2-3 сесії)
  • Підтримка після запуску — 1 місяць

Строки та вартість

Тип рішення Строки (робочі тижні)
Custodial з базовим UI 4–8
Non-custodial з MPC-інтеграцією 8–16
EIP-4337 Account з paymaster 6–12
Institutional (HSM + MPC + compliance) від 16

Вартість розраховується індивідуально під ваш проект. Оцінимо за 1 день — зв'яжіться з нами. Надаємо гарантію на код та timeline.

Типові помилки при розробці криптогаманців (і як їх уникнути)

  • Використання застарілих MPC-бібліотек — GG18 без abort protocol. Обираємо CGGMP21 або tss-lib з актуальними audit report.
  • Жорстка прив'язка до одного блокчейну — не закладають абстракцію під L2/сайдчейни. Використовуємо viem/wagmi для кросс-чейн.
  • Ігнорування MEV-атак — при використанні мультисига без таймлоків. Додаємо tx simulation (Tenderly) та sandwitching protection.
  • Відсутність fallback-механізму відновлення — для Account Abstraction не налаштовують social recovery. Закладаємо з першого релізу.

Усуваємо ці граблі на етапі проектування — під кожен проект складаємо threat model та security checklist.

Потрібен надійний гаманець без компромісів? Отримайте консультацію нашого архітектора — розберемо вашу задачу та запропонуємо архітектуру з точним кошторисом. Залишайте заявку — відповімо протягом дня.