One SDK for every wallet interaction

Dynamic combines authentication, smart wallets, and secure key management into one flexible SDK. Get the most multi-chain coverage across chains and third-party wallets.

Trusted by

Magic Eden
Ondo finance
Story Protocol
Lamborghini
Doodles
Eclipse
BOB
Berachain
Legion
The Arena
Metaplex
Sei
starkware
Sophon
Maple
Chaos Labs
Nexus
Magic Eden
Ondo finance
Story Protocol
Lamborghini
Doodles
Eclipse
BOB
Berachain
Legion
The Arena
Metaplex
Sei
starkware
Sophon
Maple
Chaos Labs
Nexus
Magic Eden
Ondo finance
Story Protocol
Lamborghini
Doodles
Eclipse
BOB
Berachain
Legion
The Arena
Metaplex
Sei
starkware
Sophon
Maple
Chaos Labs
Nexus
Magic Eden
Ondo finance
Story Protocol
Lamborghini
Doodles
Eclipse
BOB
Berachain
Legion
The Arena
Metaplex
Sei
starkware
Sophon
Maple
Chaos Labs
Nexus

TSS-MPC wallets
at any scale

Onboard your users in a few clicks using SMS, email, or social logins. Protected by TSS-MPC and accompanied by powerful user management tools.

  • 20M+

    Users onboarded

  • 5M+

    Monthly wallet connections

  • 500+

    External wallets supported

Wallets that work anywhere

Transform your brand into a universal login method that works across every app with our Global Wallet Kit.

  • Keep your brand front and center

  • Turn any app or chain into an ecosystem

  • Allow your users to take their wallets wherever they go

Security is our first and top priority

We are SOC 2 Type II and conduct multiple yearly independent code audits. We implement TSS-MPC based key management systems and enable advanced auth security via MFA toolsets.

Identity orchestration,
not just authentication

Leverage a suite of user management tools to control access to your app, set compliance controls, and capture user information.

  • Token and NFT gating

  • Custom information capture

  • Allow and block lists

Block fraud before it starts

Credibility and trust are everything. We make sure that fraud never gets in the way.

  • Detect and deter bots

  • Prevent unauthorized access

  • Easily handle traffic surges

Funding a wallet has never been easier

Top up your wallet however you like: credit card, Apple Pay, or external wallets.

Install our SDK in minutes!

1

Get an environment ID

Set up an account to get your environment ID.

2

Install the Dynamic NPM package

This takes a few seconds.

3

Set up your React snippet and customize

Once you set up your snippet, you can further customize things within your developer dashboard.

Copied!

npm i viem @dynamic-labs/sdk-react-core @dynamic-labs/ethereum

>
Copied!

import {
 DynamicContextProvider,
 DynamicWidget,
} from "@dynamic-labs/sdk-react-core";
import { EthereumWalletConnectors } from "@dynamic-labs/ethereum";

export default function App() {
 return (
   <DynamicContextProvider
     settings={{
       // Find your environment id at https://app.dynamic.xyz/dashboard/developer
       environmentId: "REPLACE-WITH-YOUR-ENVIRONMENT-ID",
       walletConnectors: [EthereumWalletConnectors],
     }}
   >
     <DynamicWidget />
   </DynamicContextProvider>
 );
}


Copied!

npm i @dynamic-labs/viem-extension@alpha @dynamic-labs/client@alpha @dynamic-labs/react-native-extension@alpha @dynamic-labs/react-hooks@alpha react-native-webview expo-web-browser expo-linking expo-secure-store

>
Copied!

import { createClient } from "@dynamic-labs/client";
import { ReactNativeExtension } from "@dynamic-labs/react-native-extension";
import { ViemExtension } from "@dynamic-labs/viem-extension";

export const dynamicClient = createClient({
 // Find your environment id at https://app.dynamic.xyz/dashboard/developer
 environmentId: "REPLACE-WITH-YOUR-ENVIRONMENT-ID",  // Optional:
 appLogoUrl: "https://demo.dynamic.xyz/favicon-32x32.png",
 appName: "Dynamic Demo",
})
 .extend(ReactNativeExtension())
 .extend(ViemExtension());

export function App() {
 return (
   <>
     <dynamicClient.reactNative.WebView />      <SafeAreaView>
       <Text>Hello, world!</Text>
     </SafeAreaView>
   </>
 );
}


Copied!

flutter pub add dynamic_sdk dynamic_sdk_web3dart

>
Copied!

import 'package:dynamic_sdk/dynamic_sdk.dart';

void main() {
 WidgetsFlutterBinding.ensureInitialized();
 DynamicSDK.init(
   props: ClientProps(
     // Find your environment id at https://app.dynamic.xyz/dashboard/developer
     environmentId: 'REPLACE-WITH-YOUR-ENVIRONMENT-ID',      // Optional:
     appLogoUrl: 'https://demo.dynamic.xyz/favicon-32x32.png',
     appName: 'Dynamic Demo',
   ),
 );
 runApp(const MyApp());
}

class MyApp extends StatelessWidget {
 const MyApp({super.key});  

@override
 Widget build(BuildContext context) {
   return MaterialApp(
     title: 'Flutter Demo',
     theme: ThemeData(
       colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
       useMaterial3: true,
     ),
     home: Stack(
       children: [
         // Make sure the SDK is ready before using it
         StreamBuilder<bool?>(
           stream: DynamicSDK.instance.sdk.readyChanges,
           builder: (context, snapshot) {
             final sdkReady = snapshot.data ?? false;
             return sdkReady
                 ? const MyHomePage(title: 'Flutter Demo Home Page')
                 : const SizedBox.shrink();
           },
         ),
         // DynamicSDK widget must be available all the time
         DynamicSDK.instance.dynamicWidget,
       ],
     ),
   );
 }
}


Reviews

Loved by our customers

Dynamic presented itself as an out of the box solution that enabled us to integrate easily into multiple different products, and a partner that we could trust to scale to meet the needs of a high-performance network.

,

As we look to onboard the next 100 million NFT enthusiasts, our partnership with Dynamic allows us to scale quickly and cater to an ever-growing list of wallets and blockchains.

,

Dynamic has easily been one of our favorite service providers to work with. They've always provided extremely rapid and professional responses to our queries and quickly implemented our feedback to improve their product.

,

Dynamic quickly became more than a partner; they became our ally in creating an awesome end-to-end user experience. The team has been incredibly responsive along the way, which reaffirmed our choice.

,

Leveraging Dynamic, we’re able to offer a seamless Web3 onboarding experience to our ever-expanding community of 85k+ retail investors on Flooz.xyz, and to our wider ecosystem of 600+ token partners.

,