Интеграция с 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 выдаёт после успешной аутентификации.







