Dynamic Wallet Auth Інтеграція
Dynamic — це платформа для аутентифікації користувачів через web3 гаманці з додатковими опціями: social login, embedded wallets, multi-wallet підтримка. Вирішує задачу onboarding користувачів, у яких немає крипто-гаманця, без втрати сумісності з тими, у кого він є.
Що надає Dynamic
Dynamic SDK обробляє весь флоу підключення: показує модальне вікно зі списком гаманців (MetaMask, WalletConnect, Coinbase Wallet, hardware wallets), управляє станом підключення, підтримує SIWE (Sign-In With Ethereum) для верифікації володіння адресою.
Ключові можливості: соціальний вхід (Google, Apple, email) з автоматичним створенням embedded wallet, multi-wallet (користувач прив'язує кілька гаманців до одного акаунту), підтримка кількох мереж одночасно.
Базова інтеграція
import { DynamicContextProvider, DynamicWidget } from "@dynamic-labs/sdk-react-core";
import { EthereumWalletConnectors } from "@dynamic-labs/ethereum";
function App() {
return (
<DynamicContextProvider
settings={{
environmentId: "YOUR_ENVIRONMENT_ID",
walletConnectors: [EthereumWalletConnectors],
}}
>
<DynamicWidget />
<YourApp />
</DynamicContextProvider>
);
}
Отримання даних користувача після підключення:
import { useDynamicContext } from "@dynamic-labs/sdk-react-core";
function UserProfile() {
const { user, primaryWallet, handleLogOut } = useDynamicContext();
if (!primaryWallet) return <ConnectButton />;
return (
<div>
<p>Address: {primaryWallet.address}</p>
<p>Chain: {primaryWallet.chain}</p>
<button onClick={handleLogOut}>Disconnect</button>
</div>
);
}
Embedded Wallets та Social Login
Для користувачів без гаманця Dynamic створює embedded wallet (MPC-based, через Turnkey або аналог). Користувач входить через Google, Dynamic створює гаманець за кулісами — користувач бачить лише адресу та може підписувати транзакції без встановлення MetaMask.
Конфігурація:
settings={{
environmentId: "...",
walletConnectors: [EthereumWalletConnectors],
embeddedWallets: {
createOnLogin: "users-without-wallets",
requireUserPasswordOnCreate: false,
},
socialProviders: ["google", "apple", "email"],
}}
Інтеграція з Dynamic займає 2–5 днів для базового флоу. Більшість часу витрачається на настройку політик у Dynamic Dashboard, кастомізацію UI (тема, мова, список гаманців) та інтеграцію з backend для верифікації JWT-токенів, які Dynamic видає після успішної аутентифікації.







