Skip to main content
Stellar embedded wallets are available in SDK version 4.59.2 and later.

Installation

To use Stellar wallets, install the Stellar wallet connector package:
npm i @dynamic-labs/stellar

Setup

Include the Stellar wallet connector in your provider configuration:
import { DynamicContextProvider } from '@dynamic-labs/sdk-react-core';
import { StellarWalletConnectors } from '@dynamic-labs/stellar';

<DynamicContextProvider
  settings={{
    walletConnectors: [StellarWalletConnectors],
    // ... other settings
  }}
>
  {/* Your app components */}
</DynamicContextProvider>

Checking if a wallet is a Stellar wallet

import { isStellarWallet } from '@dynamic-labs/stellar';

if (!isStellarWallet(wallet)) {
  throw new Error('This wallet is not a Stellar wallet');
}

Get the Stellar client

import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isStellarWallet } from '@dynamic-labs/stellar';

const { primaryWallet } = useDynamicContext();

if (!primaryWallet || !isStellarWallet(primaryWallet)) {
  throw new Error('This wallet is not a Stellar wallet');
}

const stellarClient = await primaryWallet.getStellarClient();

Sign a transaction

import { useDynamicContext } from '@dynamic-labs/sdk-react-core';
import { isStellarWallet } from '@dynamic-labs/stellar';

const { primaryWallet } = useDynamicContext();

if (!primaryWallet || !isStellarWallet(primaryWallet)) {
  throw new Error('This wallet is not a Stellar wallet');
}

// Sign a transaction
const signedTransaction = await primaryWallet.signTransaction(transaction);

Resources