Интеграция с Magic Link (wallet)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Интеграция с Magic Link (wallet)
Простая
~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

Интеграция с Magic Link (wallet)

Magic (ранее Magic Link) — SDK для создания кастодиальных и non-custodial кошельков через email/телефон без seed phrase. Пользователь входит по email-ссылке или OTP, Magic создаёт или восстанавливает кошелёк через HSM-based ключевую инфраструктуру.

Принцип работы

Magic использует Delegated Key Management: private key генерируется и хранится в AWS CloudHSM, разделён между Magic и пользователем через DKMS (никто в одиночку не контролирует ключ). Когда пользователь аутентифицируется — Magic восстанавливает ключ и выполняет подпись внутри безопасной среды.

Это отличает Magic от полностью кастодиальных решений: Magic технически не может самостоятельно подписывать транзакции без участия пользователя.

Интеграция

import { Magic } from "magic-sdk";

const magic = new Magic("YOUR_PUBLISHABLE_API_KEY", {
  network: {
    rpcUrl: "https://polygon-rpc.com",
    chainId: 137,
  },
});

// Логин по email
async function login(email: string): Promise<string> {
  await magic.auth.loginWithEmailOTP({ email });
  const userInfo = await magic.user.getInfo();
  return userInfo.publicAddress!;
}

// Подпись транзакции через Web3 provider
const web3 = new Web3(magic.rpcProvider);
const txHash = await web3.eth.sendTransaction({
  from: userAddress,
  to: "0xRecipient",
  value: web3.utils.toWei("0.01", "ether"),
});

Magic предоставляет совместимый Web3/ethers provider — существующий код, написанный под MetaMask, работает без изменений.

Ограничения

Magic — кастодиальное решение. Пользователь не имеет прямого доступа к private key, не может экспортировать seed phrase (только в Magic Connect Pro). Подходит для приложений, где UX важнее самостоятельного хранения: игры, loyalty-программы, NFT-маркетплейсы с широкой аудиторией.

Для аудитории, ценящей self-custody — Dynamic или Privy с embedded wallets с возможностью экспорта ключей.

Интеграция с Magic занимает 1-3 дня для базового флоу authentication + транзакции. Основные вопросы при выборе: политика хранения ключей, compliance требования, необходимость экспорта ключей пользователем.