PollarPollarDemo

Products

AuthenticationWalletTransactions

Integrations

KYCNewRampNewSwapNewEarnNewCardsNew

Wallet Adapters

Stellar Wallets KitSolana Wallet StandardNewPrivyNewCosmos WalletNew

Adapters

Trustless Work

Built with Pollar

LumenWipeNew
OverviewSetup

Solana Wallet Standard adapter

Register every installed Solana wallet (Phantom, Solflare, Backpack…) as Pollar wallet adapters.

With @pollar/react, pass the same adapter array to walletAdapters on <PollarProvider>; the built-in login modal renders a “Solana Wallet” gateway with one button per wallet.

Notes

  • Wallets register in the browser only: the factory returns [] during SSR, so build the client on the client render.
  • Login is SIWS, not SEP-10: the adapter declares chain: 'SOLANA', and a wallet without solana:signIn signs the same message through signMessage.
  • No network option: the Solana network follows the API key, like the Stellar one.
  • Narrow the list with wallets, rename buttons with labels, and change the gateway label with groupLabel (default 'Solana Wallet').
terminal
pnpm add @pollar/solana-wallet-standard-adapter
@pollar/react— hooks & components
import { PollarProvider } from '@pollar/react';
import { solanaWalletStandardAdapters } from '@pollar/solana-wallet-standard-adapter';
import { stellarWalletsKitAdapters } from '@pollar/stellar-wallets-kit-adapter';
import { Networks } from '@creit.tech/stellar-wallets-kit';
import { useMemo } from 'react';

export function Providers({ children }: { children: React.ReactNode }) {
  // Stellar and Solana wallets share one flat list.
  const walletAdapters = useMemo(
    () => [
      ...stellarWalletsKitAdapters({ network: Networks.TESTNET }),
      ...solanaWalletStandardAdapters(),
    ],
    [],
  );

  return (
    <PollarProvider client={{ apiKey: 'pub_testnet_…', walletAdapters }}>
      {children}
    </PollarProvider>
  );
}

// The built-in LoginModal shows a "Solana Wallet" gateway next to the Stellar one.