Разработка White-label криптокошелька

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка White-label криптокошелька
Сложная
от 2 недель до 3 месяцев
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Разработка White-label криптокошелька

White-label кошелёк — это не "скачать MetaMask и поставить другой логотип". Это полноценный продукт с вашим брендом, вашей бизнес-логикой и вашим контролем над пользовательским опытом. Разница принципиальная: когда пользователь работает через MetaMask или Trust Wallet, данные аналитики, точки входа и монетизация принадлежат им. Когда через ваш кошелёк — вам. Ниже — реальная архитектура, не маркетинговые тезисы.

Архитектурные решения: что выбрать в основе

Custodial vs Non-custodial vs MPC

Первое архитектурное решение определяет всё остальное.

Custodial — ключи хранятся на ваших серверах. Пользователь работает через логин/пароль. Проще в UX, но: вы несёте полную юридическую ответственность за средства, требуется лицензия в большинстве юрисдикций, вы становитесь target для хакеров. Подходит для B2B-продуктов с корпоративными клиентами под NDA.

Non-custodial (HD Wallet) — ключи генерируются и хранятся на устройстве пользователя, BIP-32/39/44 деривация. Вы не можете восстановить средства если пользователь потерял seed phrase. Стандарт для consumer-facing продуктов.

MPC (Multi-Party Computation) — приватный ключ никогда не существует целиком ни на одном устройстве. Key shares распределены между клиентом и серверами. Схема 2-of-2 или 2-of-3 (TSS — Threshold Signature Scheme). Провайдеры: Fireblocks MPC, Web3Auth MPC, Lit Protocol. Золотая середина: пользователь не хранит seed phrase, но средства non-custodial. Это направление — индустриальный тренд 2024–2025.

Выбор SDK и базового кода

WalletCore от Trust Wallet (open source) — C++ ядро с биндингами под iOS (Swift), Android (Kotlin/Java), WebAssembly. Поддержка 100+ блокчейнов. Самый зрелый open source вариант для multi-chain HD кошелька. Сложность интеграции — высокая, зато криптографически проверенный код.

Coinbase Wallet SDK — open source, фокус на EVM + Base. Хорош если ваша аудитория ориентирована на Ethereum-экосистему.

WalletKit от Reown (ex-WalletConnect) — SDK для интеграции WalletConnect v2 протокола в ваш кошелёк. Обязателен если хотите, чтобы ваш кошелёк работал с dApps.

Собственная реализация — используем @noble/curves (Constantine, secp256k1, ed25519) + @scure/bip32 + @scure/bip39. Полный контроль, нет зависимости от сторонних SDK. Оправдан для специализированных продуктов.

Ключевые технические компоненты

Генерация и хранение ключей

Безопасность начинается с генерации энтропии. crypto.getRandomValues() в браузере, /dev/urandom на сервере — только CSPRNG.

import { generateMnemonic, mnemonicToSeedSync } from "@scure/bip39";
import { wordlist } from "@scure/bip39/wordlists/english";
import { HDKey } from "@scure/bip32";

// Генерация 24-словного мнемоника (256 бит энтропии)
const mnemonic = generateMnemonic(wordlist, 256);
const seed = mnemonicToSeedSync(mnemonic);
const masterKey = HDKey.fromMasterSeed(seed);

// BIP-44 деривация: m/44'/60'/0'/0/0 для первого ETH адреса
const ethKey = masterKey.derive("m/44'/60'/0'/0/0");

Хранение на мобильных устройствах: iOS Keychain с kSecAttrAccessibleWhenUnlockedThisDeviceOnly, Android Keystore с аппаратной привязкой. Никакого AsyncStorage, SharedPreferences без шифрования.

В вебе — дополнительная сложность: нет нативного secure storage. Варианты: зашифрованный IndexedDB (ключ шифрования — производная от пароля через Argon2/PBKDF2), или отказ от browser extension в пользу mobile-first.

Multi-chain поддержка

Типовой набор для white-label продукта 2025 года:

Экосистема Сети Стандарт деривации
EVM Ethereum, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche BIP-44, coin type 60
Bitcoin BTC mainnet/testnet BIP-84 (Native SegWit), BIP-86 (Taproot)
Solana Mainnet, Devnet BIP-44, coin type 501
TON Mainnet BIP-44, coin type 607
Cosmos Atom, Osmosis + IBC chains BIP-44, coin type 118

Каждая экосистема — отдельный провайдер в коде. Абстракция через интерфейс:

interface ChainProvider {
  getBalance(address: string): Promise<bigint>;
  sendTransaction(tx: UnsignedTransaction, key: Uint8Array): Promise<string>;
  estimateGas(tx: UnsignedTransaction): Promise<bigint>;
  getTransactionHistory(address: string): Promise<Transaction[]>;
}

WalletConnect v2 интеграция

Без WalletConnect v2 кошелёк не работает с большинством dApps. Протокол использует relay servers от Reown для передачи сообщений между кошельком и dApp через QR-код или deep link.

import { Core } from "@walletconnect/core";
import { Web3Wallet } from "@walletconnect/web3wallet";

const core = new Core({ projectId: YOUR_PROJECT_ID });
const wallet = await Web3Wallet.init({
  core,
  metadata: {
    name: "Your Wallet Name",
    description: "Your wallet description",
    url: "https://yourwallet.com",
    icons: ["https://yourwallet.com/icon.png"],
  },
});

// Обработка session proposal от dApp
wallet.on("session_proposal", async ({ id, params }) => {
  const session = await wallet.approveSession({
    id,
    namespaces: buildNamespaces(params.requiredNamespaces),
  });
});

// Обработка запроса на подпись транзакции
wallet.on("session_request", async ({ topic, params, id }) => {
  const { request } = params;
  if (request.method === "eth_sendTransaction") {
    // показать пользователю детали транзакции, получить подтверждение
    const txHash = await signAndSend(request.params[0]);
    await wallet.respondSessionRequest({ topic, response: { id, result: txHash, jsonrpc: "2.0" } });
  }
});

Balances и транзакции: агрегация данных

Прямые RPC вызовы к нодам — не масштабируются при multi-chain кошельке. Используем специализированные API:

Alchemy / Infura / QuickNode — JSON-RPC доступ к EVM сетям с rate limiting и надёжностью.

Moralis / Covalent / Ankr Advanced API — агрегированные API для балансов, NFT, истории транзакций по всем EVM сетям одним запросом. Экономит 80% backend кода.

TrustWallet Assets — open source репозиторий с метаданными токенов (иконки, decimals, контракты) для 100+ сетей. Интегрируем как npm пакет или self-hosted.

Helius (Solana) — аналог Alchemy для Solana, с API для токенов и NFT.

Кастомизация и белый лейбл

Что реально кастомизируется

  • Визуальный брендинг — цвета, шрифты, иконки, splash screen, onboarding флоу. Через design tokens в Tailwind/StyleSheet.
  • Список поддерживаемых сетей — конфигурационный файл, не хардкод.
  • Встроенные функции — включить/отключить swap, стейкинг, NFT галерею, fiat on/off ramp.
  • Fiat on-ramp провайдер — MoonPay, Transak, Ramp Network. Все предоставляют white-label виджеты.
  • In-app browser для dApps — WebView с инжектированным EIP-1193 провайдером.
  • Push уведомления — Firebase Cloud Messaging + мониторинг адресов через WebSocket или webhook от Alchemy Notify.

Что не стоит пересобирать с нуля

Криптографические примитивы — никогда. secp256k1 подпись, keccak256, BIP-32 деривация — используем проверенные библиотеки, не собственную реализацию. Ошибка в криптографии = потеря средств пользователей и ваша репутационная катастрофа.

Мобильное приложение vs браузерное расширение

React Native — единый кодебейс для iOS и Android. react-native-quick-crypto для нативной криптографии (в 10–100x быстрее JS реализации). Expo SDK упрощает сборку, но ограничивает нативные возможности — для production кошелька лучше bare React Native.

Browser Extension — Manifest V3 (Chrome/Firefox/Edge). service_worker вместо background_page, что создаёт сложности с persistent WebSocket соединениями. Используем Plasmo framework — значительно упрощает разработку расширений с hot reload.

Web App (PWA) — наиболее доступный вариант но с ограничениями: нет нативного secure storage, ограниченный доступ к биометрии, нет deep links для WalletConnect.

Безопасность и compliance

Биометрическая аутентификация — TouchID/FaceID на iOS, BiometricPrompt на Android. Обязательна для любого production кошелька. Не заменяет шифрование, а защищает доступ к расшифрованному ключу в памяти.

Jailbreak/root detectionreact-native-jail-monkey или нативные проверки. При обнаружении — предупреждение или полная блокировка.

Certificate pinning — для backend API. Предотвращает MITM атаки через компрометированные CA.

Transaction simulation — перед подписью показываем пользователю ожидаемые изменения балансов. Интегрируем Tenderly Simulation API или Blowfish (специализирован на security checks, детектирует drainer контракты).

Сроки и бюджет

Вариант Состав Срок Ориентировочный бюджет
MVP (EVM only, mobile) RN приложение, BIP-44, WC v2, Alchemy 6–8 нед $30k–60k
Стандартный white-label Multi-chain, swap, fiat on-ramp, браузер 3–5 мес $100k–200k
Полнофункциональный + MPC, extension, аудит, compliance 6–10 мес $250k–500k

Реалистичная оценка: большинство клиентов начинают с MVP под конкретную сеть, затем итеративно расширяют. Это правильно — пробовать всё сразу дорого и рискованно.