Overview

This enables developers to embed your global wallet into their applications. Dynamic Global Wallet supports both EIP-6963 and Solana Wallet Standard - and works in Rainbowkit, Family, and other wallet provider implementations.

The global wallet uses pop ups and encrypted messaging to handle actions like connecting, signing, and transactions. The wallet can be used with AA to sponsor gas and perform additional policy-related activities

This feature is currently in alpha and subject to API changes.

Getting started

To create your own Global Wallet package, you will need to configure a subdomain in the Dynamic dashboard and your DNS provider.

Step 1: Configure your Global Wallet Domain

  1. Go to the Dynamic dashboard
  2. Navigate to the Domains page under the Developer sidebar menu.
  3. Choose a subdomain for the Global Wallet popup. We recommend using “dynamic” as the subdomain, so the popup URL becomes “dynamic.<your domain>”.
  4. Once you provide the subdomain, the dashboard will display two TXT records and one CNAME record. Add these records in the DNS management dashboard of your domain provider.
  5. Once completed, use the dynamic dashboard to verify the domain set up. If verification fails, double check your DNS configuration in your domain setup and retry.
  6. Go to the Global Wallets page and now toggle on Global Wallets.
  7. Enter a name for you wallet
  8. Optionally, add a custom title for your wallet pop-up (window title), a url for a custom wallet icon, and a url for the a CSS file with custom styles for the pop-up components

Step 2: Create Your Own Wallet Repository

We recommend starting with the Dynamic Global Wallet scaffold repository, which is pre-configured to help you build and publish your wallet package.

Clone the repository:

git clone [email protected]:dynamic-labs/dynamic-global-wallet.git <wallet-package-name>

note: Replace <wallet-package-name> with the name of the package you plan to publish to NPM.

Step 3: Configure and Publish Your Wallet Package

In your cloned project, follow the instructions in the <wallet-package-name>/README.md file to:

  • Configure the wallet name and icon.
  • Set up the EIP-6963 provider RDNS (Reverse DNS).
  • Test your wallet locally.
  • Publish your wallet package to npm.

Once your wallet package is published, your setup is complete.

How to Use Your Wallet

Your wallet is now ready to be installed and used by other Web3 developers to connect embedded wallets in their websites.

Using with EVM

  1. Install the package:
npm install "<wallet-package-name>"
  1. Import the EIP-6963 module:
import "<wallet-package-name>/eip6963";

Any SDK that supports EIP-6963 will now be able to discover and connect to the wallet.

Using with Solana

  1. Install the package:
npm install "<wallet-package-name>"
  1. Import the Solana Standard module:
import "<wallet-package-name>/solana-standard";

Any SDK that supports the Solana Standard will now be able to discover and connect to the wallet.

Design Customization

You can customize the appearance of your Global Wallet popup using CSS variables and overrides, similar to the Dynamic SDK React Core package. This is done in two steps:

  1. Create a CSS file with your customizations and host it publicly
  2. Add the CSS file URL to your Global Wallet configuration in the Dynamic dashboard

Step 1: Create Your CSS File

Create a CSS file with your desired customizations. For example:

body {
  --dynamic-base-1: #fff;
  --dynamic-brand-primary-color: #4779ff;
  --dynamic-brand-secondary-color: rgba(71, 121, 255, 0.15);
  /* Add more CSS variables as needed */
}

Host this file at a public URL (e.g., https://your-domain.com/css/dynamic.css).

Step 2: Configure Your CSS

  1. Go to the Global Wallets page in the Dynamic dashboard
  2. Add your CSS file URL in the customization settings
  3. The popup will automatically fetch and apply your custom styles

For consistency, you can use the same CSS file URL for both your Global Wallet popup and the @dynamic-labs/sdk-react-core implementation.

For detailed CSS customization options, see:
- CSS Variables
- Custom CSS

Examples

The Global Wallet is compatible with popular Web3 frameworks that support EIP-6963 or Solana Wallet Standard.

You can find complete integration examples in our dynamic-global-wallet-example repository.