Skip to main content

@coinbase/cdp-solana-standard-wallet

A React hook and wallet implementation that integrates CDP (Coinbase Developer Platform) embedded Solana wallets with the Wallet Standard.

Features

  • 🔗 Wallet Standard Integration - Works with any dapp that supports the wallet standard
  • 🔐 CDP Authentication - Uses CDP’s secure embedded wallet infrastructure
  • ⚛️ React Hooks - Easy-to-use hooks for React applications
  • 🎯 TypeScript Support - Full type safety with TypeScript
  • 🚀 Auto-Registration - Automatically registers with wallet standard ecosystem
  • 🔄 Event-Driven - Real-time updates via CDP auth state changes
  • 📱 Multi-Network - Supports both Solana mainnet and devnet

Installation

npm install @coinbase/cdp-solana-standard-wallet

Peer Dependencies

npm install @coinbase/cdp-core react @wallet-standard/app @wallet-standard/base @wallet-standard/features @solana/wallet-standard bs58

Optional Dependencies

Depending on your usage pattern, you may also need:
# For Option 1 (CDPHooksProvider)
npm install @coinbase/cdp-hooks

# For Option 2 (CDPReactProvider)
npm install @coinbase/cdp-react @coinbase/cdp-hooks

Usage

Option 1: With CDPHooksProvider

import { CDPHooksProvider } from '@coinbase/cdp-hooks';
import { useCdpSolanaStandardWallet } from '@coinbase/cdp-solana-standard-wallet';

// Wrap your app with CDPHooksProvider
function App() {
  return (
    <CDPHooksProvider config={{ projectId: 'your-project-id' }}>
      <MyWalletComponent />
    </CDPHooksProvider>
  );
}

// Use the hook in your component
function MyWalletComponent() {
  const { ready, wallet } = useCdpSolanaStandardWallet();

  if (!ready) {
    return <div>Loading wallet...</div>;
  }

  return (
    <div>
      <h3>CDP Solana Wallet Ready!</h3>
      <p>Name: {wallet.name}</p>
      <p>Accounts: {wallet.accounts.length}</p>
    </div>
  );
}

Option 2: With CDPReactProvider

import { CDPReactProvider } from '@coinbase/cdp-react';
import { useCdpSolanaStandardWallet } from '@coinbase/cdp-solana-standard-wallet';

// Wrap your app with CDPReactProvider
function App() {
  return (
    <CDPReactProvider config={{
      projectId: 'your-project-id',
      solana: { createOnLogin: true }
    }}>
      <MyWalletComponent />
    </CDPReactProvider>
  );
}

// Use the hook in your component
function MyWalletComponent() {
  const { ready, wallet } = useCdpSolanaStandardWallet();

  if (!ready) {
    return <div>Loading wallet...</div>;
  }

  return (
    <div>
      <h3>CDP Solana Wallet Ready!</h3>
      <p>Name: {wallet.name}</p>
      <p>Accounts: {wallet.accounts.length}</p>
    </div>
  );
}

Option 3: Standalone Usage

import { useCdpSolanaStandardWallet } from '@coinbase/cdp-solana-standard-wallet';

function MyWalletComponent() {
  // Pass config directly - hook will initialize CDP SDK
  const { ready, wallet } = useCdpSolanaStandardWallet({
    projectId: 'your-project-id'
  });

  if (!ready) {
    return <div>Initializing...</div>;
  }

  return <div>Wallet ready: {wallet.name}</div>;
}

Using All Standard Wallets

import { useSolanaStandardWallets } from '@coinbase/cdp-solana-standard-wallet';

function WalletSelector() {
  const { wallets } = useSolanaStandardWallets();

  return (
    <div>
      <h3>Available Wallets:</h3>
      {wallets.map((wallet) => (
        <div key={wallet.name}>
          <img src={wallet.icon} alt={wallet.name} width="24" height="24" />
          <span>{wallet.name}</span>
          {wallet.features['cdp:'] && <span> (CDP)</span>}
        </div>
      ))}
    </div>
  );
}

Direct Wallet Usage

import { getWallets } from '@wallet-standard/app';

// Find CDP wallet among all registered wallets
const wallets = getWallets();
const cdpWallet = wallets.get().find(w => w.features['cdp:']);

if (cdpWallet) {
  // Connect to the wallet
  const { accounts } = await cdpWallet.features['standard:connect'].connect();

  // Sign a transaction
  const result = await cdpWallet.features['solana:signTransaction'].signTransaction({
    transaction: transactionBytes,
    account: accounts[0],
    chain: 'solana:mainnet'
  });

  // Sign and send a transaction
  const sendResult = await cdpWallet.features['solana:signAndSendTransaction'].signAndSendTransaction({
    transaction: transactionBytes,
    account: accounts[0],
    chain: 'solana:mainnet'
  });
}

API Reference

useCdpSolanaStandardWallet(config?)

Hook that manages CDP Solana wallet creation and registration. Parameters:
  • config (optional): CDP configuration object with projectId
Returns:
{
  ready: boolean;           // True when wallet is ready to use
  wallet: CdpSolanaWallet | null;  // The wallet instance
}

useSolanaStandardWallets()

Hook that returns all registered Solana wallets in the wallet standard. Returns:
{
  wallets: readonly Wallet[];  // Array of all registered wallets
}

CdpSolanaWallet

The wallet implementation that integrates with CDP. Properties:
  • name: “CDP Solana Wallet”
  • icon: Solana logo as base64 data URI
  • chains: ['solana:mainnet', 'solana:devnet']
  • accounts: Array of ReadonlyWalletAccount
  • features: Supported wallet standard features
Supported Features:
  • standard:connect - Connect to the wallet
  • standard:disconnect - Disconnect from the wallet
  • standard:events - Listen for wallet events
  • solana:signTransaction - Sign transactions
  • solana:signAndSendTransaction - Sign and send transactions
  • solana:signMessage - Sign arbitrary messages
  • cdp: - CDP-specific feature flag

Authentication Flow

  1. User Authentication: User signs in via CDP (email/SMS OTP)
  2. Wallet Creation: CDP creates embedded Solana accounts
  3. Hook Activation: useCdpSolanaStandardWallet detects accounts
  4. Wallet Registration: Wallet is registered with wallet standard
  5. Ready State: ready: true indicates wallet is available
  6. Dapp Integration: Dapps can discover and use the wallet

Network Support

  • Mainnet: solana:mainnet → CDP network: solana
  • Devnet: solana:devnet → CDP network: solana-devnet

Error Handling

The hooks handle various error scenarios gracefully:
  • Unauthenticated User: ready: false, wallet: null
  • No Solana Accounts: ready: false, wallet: null
  • CDP Initialization Failure: Logs error, ready: false
  • Network Errors: Individual operations throw descriptive errors

Security

  • All cryptographic operations performed by CDP’s secure infrastructure
  • Private keys never exposed to application code
  • Authentication handled via CDP’s secure auth flow
  • Wallet disconnect clears wallet accounts but does not sign out user (maintains session)

Contributing

This package is part of the CDP Frontend SDK. See this page for contributing guidelines.

Functions

useCdpSolanaStandardWallet()

function useCdpSolanaStandardWallet(config?): object;
Hook to get the CDP Standard Solana Wallet with ready state. This hook monitors the user’s Solana accounts from CDP core and:
  • Creates and registers a CdpSolanaWallet when accounts are available
  • Returns a ready flag indicating when the wallet is instantiated and registered
  • Returns the wallet instance for direct usage
  • Handles cleanup/unregistration on unmount

Parameters

ParameterTypeDescription
config?ConfigOptional CDP configuration. If provided, will initialize the SDK. If omitted, assumes SDK is already initialized (e.g., via CDPHooksProvider).

Returns

object Object containing ready flag and wallet instance
ready
ready: boolean;
wallet
wallet: 
  | null
  | CdpSolanaWallet;

Example

// Within CDPHooksProvider (SDK already initialized)
function MyComponent() {
  const { ready, wallet } = useCdpSolanaStandardWallet();
  // ...
}

// Standalone usage (initialize SDK)
function MyComponent() {
  const { ready, wallet } = useCdpSolanaStandardWallet({
    projectId: "your-project-id"
  });
  // ...
}

useSolanaStandardWallets()

function useSolanaStandardWallets(): object;
Hook to get all Standard Solana Wallets registered in the wallet standard. This hook:
  • Gets all wallets using getWallets().get()
  • Listens for wallet registration/unregistration events
  • Returns the complete list including the CDP wallet once registered

Returns

object Object containing array of all registered wallets
wallets
wallets: readonly Wallet[];

Example

function WalletList() {
  const { wallets } = useSolanaStandardWallets();

  return (
    <div>
      <h3>Available Wallets:</h3>
      {wallets.map((wallet) => (
        <div key={wallet.name}>
          {wallet.name} {wallet.features['cdp:'] ? '(CDP)' : ''}
        </div>
      ))}
    </div>
  );
}

Classes

CdpWalletAccount

CDP Wallet Account implementation for Solana accounts. This class represents a Solana account within the CDP wallet ecosystem.

Implements

  • WalletAccount

Accessors

address
Get Signature
get address(): string;
Get the base58 encoded address of this account.
Returns
string The base58 encoded Solana address
Implementation of
WalletAccount.address
publicKey
Get Signature
get publicKey(): Uint8Array<ArrayBuffer>;
Get the public key bytes of this account.
Returns
Uint8Array<ArrayBuffer> A copy of the public key bytes
Implementation of
WalletAccount.publicKey
chains
Get Signature
get chains(): readonly ["solana:mainnet", "solana:devnet"];
Get the supported chains for this account.
Returns
readonly ["solana:mainnet", "solana:devnet"] Array of supported Solana chains
Implementation of
WalletAccount.chains
features
Get Signature
get features(): readonly ["solana:signAndSendTransaction", "solana:signTransaction", "solana:signMessage"];
Get the supported features for this account.
Returns
readonly ["solana:signAndSendTransaction", "solana:signTransaction", "solana:signMessage"] Array of supported wallet standard features
Implementation of
WalletAccount.features

Constructors

Constructor
new CdpWalletAccount(publicKey): CdpWalletAccount;
Create a new CDP Wallet Account.
Parameters
ParameterTypeDescription
publicKeyUint8ArrayThe public key bytes for this account (must be exactly 32 bytes for Solana)
Returns
CdpWalletAccount
Throws
If publicKey is null, undefined, or not exactly 32 bytes

CdpSolanaWallet

CDP Solana Wallet implementation for the Wallet Standard. This wallet integrates CDP’s embedded Solana accounts with the wallet standard ecosystem, allowing dapps to interact with CDP wallets through standardized interfaces.

Implements

  • Wallet

Accessors

name
Get Signature
get name(): "CDP Solana Wallet";
Get the wallet name.
Returns
"CDP Solana Wallet" The wallet name
Implementation of
Wallet.name
icon
Get Signature
get icon(): "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9Ijg4IiB2aWV3Qm94PSIwIDAgMTAxIDg4IiB3aWR0aD0iMTAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48bGluZWFyR3JhZGllbnQgaWQ9ImEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iOC41MjU1OCIgeDI9Ijg4Ljk5MzMiIHkxPSI5MC4wOTczIiB5Mj0iLTMuMDE2MjIiPjxzdG9wIG9mZnNldD0iLjA4IiBzdG9wLWNvbG9yPSIjOTk0NWZmIi8+PHN0b3Agb2Zmc2V0PSIuMyIgc3RvcC1jb2xvcj0iIzg3NTJmMyIvPjxzdG9wIG9mZnNldD0iLjUiIHN0b3AtY29sb3I9IiM1NDk3ZDUiLz48c3RvcCBvZmZzZXQ9Ii42IiBzdG9wLWNvbG9yPSIjNDNiNGNhIi8+PHN0b3Agb2Zmc2V0PSIuNzIiIHN0b3AtY29sb3I9IiMyOGUwYjkiLz48c3RvcCBvZmZzZXQ9Ii45NyIgc3RvcC1jb2xvcj0iIzE5ZmI5YiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0ibTEwMC40OCA2OS4zODE3LTE2LjY3MzIgMTcuNDE5OGMtLjM2MjQuMzc4NC0uODAxLjY4MDEtMS4yODgzLjg4NjNzLTEuMDEzLjMxMjUtMS41NDQyLjMxMjJoLTc5LjAzODY3Yy0uMzc3MTQgMC0uNzQ2MDYtLjEwNzQtMS4wNjE0MjgtLjMwODgtLjMxNTM3My0uMjAxNS0uNTYzNDYyLS40ODgzLS43MTM3ODYtLjgyNTMtLjE1MDMyMzctLjMzNjktLjE5NjMzNDEtLjcwOTMtLjEzMjM3NzgtMS4wNzE0LjA2Mzk1NjItLjM2MjEuMjM1MDkyOC0uNjk4MS40OTIzODM4LS45NjY3bDE2LjY4NTY3OC0xNy40MTk4Yy4zNjE1LS4zNzc0Ljc5ODYtLjY3ODUgMS4yODQzLS44ODQ2LjQ4NTgtLjIwNjIgMS4wMDk4LS4zMTMgMS41Mzk3LS4zMTM5aDc5LjAzNDNjLjM3NzEgMCAuNzQ2LjEwNzQgMS4wNjE2LjMwODguMzE1LjIwMTUuNTYzLjQ4ODQuNzE0LjgyNTMuMTUuMzM3LjE5Ni43MDkzLjEzMiAxLjA3MTRzLS4yMzUuNjk4MS0uNDkyLjk2Njd6bS0xNi42NzMyLTM1LjA3ODVjLS4zNjI0LS4zNzg0LS44MDEtLjY4MDEtMS4yODgzLS44ODYzLS40ODczLS4yMDYxLTEuMDEzLS4zMTI0LTEuNTQ0Mi0uMzEyMWgtNzkuMDM4NjdjLS4zNzcxNCAwLS43NDYwNi4xMDczLTEuMDYxNDI4LjMwODgtLjMxNTM3My4yMDE1LS41NjM0NjIuNDg4My0uNzEzNzg2LjgyNTItLjE1MDMyMzcuMzM3LS4xOTYzMzQxLjcwOTQtLjEzMjM3NzggMS4wNzE1LjA2Mzk1NjIuMzYyLjIzNTA5MjguNjk4LjQ5MjM4MzguOTY2N2wxNi42ODU2NzggMTcuNDE5OGMuMzYxNS4zNzc0Ljc5ODYuNjc4NCAxLjI4NDMuODg0Ni40ODU4LjIwNjEgMS4wMDk4LjMxMyAxLjUzOTcuMzEzOGg3OS4wMzQzYy4zNzcxIDAgLjc0Ni0uMTA3MyAxLjA2MTYtLjMwODguMzE1LS4yMDE1LjU2My0uNDg4My43MTQtLjgyNTIuMTUtLjMzNy4xOTYtLjcwOTQuMTMyLTEuMDcxNS0uMDY0LS4zNjItLjIzNS0uNjk4LS40OTItLjk2Njd6bS04MS44NzExNy0xMi41MTI3aDc5LjAzODY3Yy41MzEyLjAwMDIgMS4wNTY5LS4xMDYgMS41NDQyLS4zMTIycy45MjU5LS41MDc5IDEuMjg4My0uODg2M2wxNi42NzMyLTE3LjQxOTgxYy4yNTctLjI2ODYyLjQyOC0uNjA0NjEuNDkyLS45NjY2OXMuMDE4LS43MzQ0Ny0uMTMyLTEuMDcxNDJjLS4xNTEtLjMzNjk1LS4zOTktLjYyMzc4NC0uNzE0LS44MjUyNTctLjMxNTYtLjIwMTQ3NC0uNjg0NS0uMzA4ODEwNTktMS4wNjE2LS4zMDg4MjNoLTc5LjAzNDNjLS41Mjk5LjAwMDg3ODQtMS4wNTM5LjEwNzY5OS0xLjUzOTcuMzEzODQ4LS40ODU3LjIwNjE1LS45MjI4LjUwNzIzOS0xLjI4NDMuODg0NjMybC0xNi42ODEzNzcgMTcuNDE5ODJjLS4yNTcwNDIuMjY4My0uNDI4MTAzMi42MDQtLjQ5MjIwNDUuOTY1Ni0uMDY0MTAxNC4zNjE3LS4wMTg0NTYxLjczMzguMTMxMzM3NSAxLjA3MDYuMTQ5Nzk0LjMzNjguMzk3MjI1LjYyMzYuNzExOTQ4LjgyNTQuMzE0NzI2LjIwMTguNjgzMDU2LjMwOTcgMS4wNTk4MjYuMzEwNnoiIGZpbGw9InVybCgjYSkiLz48L3N2Zz4=";
Get the wallet icon.
Returns
"data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9Ijg4IiB2aWV3Qm94PSIwIDAgMTAxIDg4IiB3aWR0aD0iMTAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48bGluZWFyR3JhZGllbnQgaWQ9ImEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iOC41MjU1OCIgeDI9Ijg4Ljk5MzMiIHkxPSI5MC4wOTczIiB5Mj0iLTMuMDE2MjIiPjxzdG9wIG9mZnNldD0iLjA4IiBzdG9wLWNvbG9yPSIjOTk0NWZmIi8+PHN0b3Agb2Zmc2V0PSIuMyIgc3RvcC1jb2xvcj0iIzg3NTJmMyIvPjxzdG9wIG9mZnNldD0iLjUiIHN0b3AtY29sb3I9IiM1NDk3ZDUiLz48c3RvcCBvZmZzZXQ9Ii42IiBzdG9wLWNvbG9yPSIjNDNiNGNhIi8+PHN0b3Agb2Zmc2V0PSIuNzIiIHN0b3AtY29sb3I9IiMyOGUwYjkiLz48c3RvcCBvZmZzZXQ9Ii45NyIgc3RvcC1jb2xvcj0iIzE5ZmI5YiIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0ibTEwMC40OCA2OS4zODE3LTE2LjY3MzIgMTcuNDE5OGMtLjM2MjQuMzc4NC0uODAxLjY4MDEtMS4yODgzLjg4NjNzLTEuMDEzLjMxMjUtMS41NDQyLjMxMjJoLTc5LjAzODY3Yy0uMzc3MTQgMC0uNzQ2MDYtLjEwNzQtMS4wNjE0MjgtLjMwODgtLjMxNTM3My0uMjAxNS0uNTYzNDYyLS40ODgzLS43MTM3ODYtLjgyNTMtLjE1MDMyMzctLjMzNjktLjE5NjMzNDEtLjcwOTMtLjEzMjM3NzgtMS4wNzE0LjA2Mzk1NjItLjM2MjEuMjM1MDkyOC0uNjk4MS40OTIzODM4LS45NjY3bDE2LjY4NTY3OC0xNy40MTk4Yy4zNjE1LS4zNzc0Ljc5ODYtLjY3ODUgMS4yODQzLS44ODQ2LjQ4NTgtLjIwNjIgMS4wMDk4LS4zMTMgMS41Mzk3LS4zMTM5aDc5LjAzNDNjLjM3NzEgMCAuNzQ2LjEwNzQgMS4wNjE2LjMwODguMzE1LjIwMTUuNTYzLjQ4ODQuNzE0LjgyNTMuMTUuMzM3LjE5Ni43MDkzLjEzMiAxLjA3MTRzLS4yMzUuNjk4MS0uNDkyLjk2Njd6bS0xNi42NzMyLTM1LjA3ODVjLS4zNjI0LS4zNzg0LS44MDEtLjY4MDEtMS4yODgzLS44ODYzLS40ODczLS4yMDYxLTEuMDEzLS4zMTI0LTEuNTQ0Mi0uMzEyMWgtNzkuMDM4NjdjLS4zNzcxNCAwLS43NDYwNi4xMDczLTEuMDYxNDI4LjMwODgtLjMxNTM3My4yMDE1LS41NjM0NjIuNDg4My0uNzEzNzg2LjgyNTItLjE1MDMyMzcuMzM3LS4xOTYzMzQxLjcwOTQtLjEzMjM3NzggMS4wNzE1LjA2Mzk1NjIuMzYyLjIzNTA5MjguNjk4LjQ5MjM4MzguOTY2N2wxNi42ODU2NzggMTcuNDE5OGMuMzYxNS4zNzc0Ljc5ODYuNjc4NCAxLjI4NDMuODg0Ni40ODU4LjIwNjEgMS4wMDk4LjMxMyAxLjUzOTcuMzEzOGg3OS4wMzQzYy4zNzcxIDAgLjc0Ni0uMTA3MyAxLjA2MTYtLjMwODguMzE1LS4yMDE1LjU2My0uNDg4My43MTQtLjgyNTIuMTUtLjMzNy4xOTYtLjcwOTQuMTMyLTEuMDcxNS0uMDY0LS4zNjItLjIzNS0uNjk4LS40OTItLjk2Njd6bS04MS44NzExNy0xMi41MTI3aDc5LjAzODY3Yy41MzEyLjAwMDIgMS4wNTY5LS4xMDYgMS41NDQyLS4zMTIycy45MjU5LS41MDc5IDEuMjg4My0uODg2M2wxNi42NzMyLTE3LjQxOTgxYy4yNTctLjI2ODYyLjQyOC0uNjA0NjEuNDkyLS45NjY2OXMuMDE4LS43MzQ0Ny0uMTMyLTEuMDcxNDJjLS4xNTEtLjMzNjk1LS4zOTktLjYyMzc4NC0uNzE0LS44MjUyNTctLjMxNTYtLjIwMTQ3NC0uNjg0NS0uMzA4ODEwNTktMS4wNjE2LS4zMDg4MjNoLTc5LjAzNDNjLS41Mjk5LjAwMDg3ODQtMS4wNTM5LjEwNzY5OS0xLjUzOTcuMzEzODQ4LS40ODU3LjIwNjE1LS45MjI4LjUwNzIzOS0xLjI4NDMuODg0NjMybC0xNi42ODEzNzcgMTcuNDE5ODJjLS4yNTcwNDIuMjY4My0uNDI4MTAzMi42MDQtLjQ5MjIwNDUuOTY1Ni0uMDY0MTAxNC4zNjE3LS4wMTg0NTYxLjczMzguMTMxMzM3NSAxLjA3MDYuMTQ5Nzk0LjMzNjguMzk3MjI1LjYyMzYuNzExOTQ4LjgyNTQuMzE0NzI2LjIwMTguNjgzMDU2LjMwOTcgMS4wNTk4MjYuMzEwNnoiIGZpbGw9InVybCgjYSkiLz48L3N2Zz4=" The wallet icon as base64 data URI
Implementation of
Wallet.icon
chains
Get Signature
get chains(): readonly ["solana:mainnet", "solana:devnet"];
Get the supported chains.
Returns
readonly ["solana:mainnet", "solana:devnet"] Array of supported Solana chains
Implementation of
Wallet.chains
version
Get Signature
get version(): "1.0.0";
Get the wallet standard version.
Returns
"1.0.0" The wallet standard version
Implementation of
Wallet.version
accounts
Get Signature
get accounts(): ReadonlyWalletAccount[];
Get the wallet accounts.
Returns
ReadonlyWalletAccount[] Array of readonly wallet accounts
Implementation of
Wallet.accounts
features
Get Signature
get features(): StandardConnectFeature & StandardDisconnectFeature & StandardEventsFeature & SolanaSignAndSendTransactionFeature & SolanaSignTransactionFeature & SolanaSignMessageFeature & CdpFeature;
Get the wallet features.
Returns
StandardConnectFeature & StandardDisconnectFeature & StandardEventsFeature & SolanaSignAndSendTransactionFeature & SolanaSignTransactionFeature & SolanaSignMessageFeature & CdpFeature Wallet standard features supported by this wallet
Implementation of
Wallet.features

Constructors

Constructor
new CdpSolanaWallet(solanaAddresses): CdpSolanaWallet;
Create a new CDP Solana Wallet instance.
Parameters
ParameterTypeDescription
solanaAddressesstring[]Array of Solana addresses (base58 encoded)
Returns
CdpSolanaWallet

Variables

CDP_STANDARD_SOLANA_WALLET_FEATURES

const CDP_STANDARD_SOLANA_WALLET_FEATURES: readonly ["solana:signAndSendTransaction", "solana:signTransaction", "solana:signMessage"];

CDP_SOLANA_WALLET_STANDARD_VERSION

const CDP_SOLANA_WALLET_STANDARD_VERSION: "1.0.0";

CDP_SOLANA_CHAINS

const CDP_SOLANA_CHAINS: readonly ["solana:mainnet", "solana:devnet"];
I