Create Your Own Global Wallet Package
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
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
- Go to the Dynamic dashboard
- Navigate to the Domains page under the Developer sidebar menu.
- Choose a subdomain for the Global Wallet popup. We recommend using “dynamic” as the subdomain, so the popup URL becomes “dynamic.<your domain>”.
- 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.
- 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.
- Go to the Global Wallets page and now toggle on Global Wallets.
- Enter a name for you wallet
- 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:
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
- Install the package:
- Import the EIP-6963 module:
Any SDK that supports EIP-6963 will now be able to discover and connect to the wallet.
Using with Solana
- Install the package:
- Import the Solana Standard module:
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:
- Create a CSS file with your customizations and host it publicly
- 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:
Host this file at a public URL (e.g., https://your-domain.com/css/dynamic.css
).
Step 2: Configure Your CSS
- Go to the Global Wallets page in the Dynamic dashboard
- Add your CSS file URL in the customization settings
- 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.
Was this page helpful?