Інтеграція з Magic Link (wallet)

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з Magic Link (wallet)
Простий
~2-3 дні
Часті запитання

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

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

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

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

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 вимоги, необхідність експорту ключів користувачем.