๐Ÿงช

LazorKit

Devnet
โ† Back to Wallet Adapters
ConnectorKit

ConnectorKit Integration

Solana Foundation's modern wallet connector with pre-built UI components

Installation

npm install @solana/connector @lazorkit/wallet

# For pre-built UI components (shadcn/ui)
npx shadcn@latest add button dialog \
  dropdown-menu avatar badge

Provider Setup

import { useEffect } from 'react';
import { AppProvider } from '@solana/connector/react';
import { getDefaultConfig } from '@solana/connector/headless';
import { registerLazorkitWallet } from '@lazorkit/wallet';

function App() {
  // Register LazorKit on mount
  useEffect(() => {
    registerLazorkitWallet({
      rpcUrl: 'https://api.devnet.solana.com',
      portalUrl: 'https://portal.lazor.sh',
      paymasterConfig: {
        paymasterUrl: 'https://kora.devnet.lazorkit.com',
      },
      clusterSimulation: 'devnet',
    });
  }, []);

  const config = getDefaultConfig({
    appName: 'My App',
    network: 'devnet',
  });

  return (
    <AppProvider connectorConfig={config}>
      <YourApp />
    </AppProvider>
  );
}

Using the Hooks

import {
  useConnector,
} from '@solana/connector/react';
import { useTransactionSigner } from '@solana/connector';
import { Connection, Transaction, PublicKey } from '@solana/web3.js';

function MyComponent() {
  const { signer } = useTransactionSigner();
  const { disconnect } = useConnector();

  const handleSend = async () => {
    const connection = new Connection('https://api.devnet.solana.com');
    const publicKey = new PublicKey(walletAdapter.publicKey);

    // Build transaction with web3.js
    const { blockhash, lastValidBlockHeight } = await connection
      .getLatestBlockhash('finalized');

    const transaction = new Transaction({
      feePayer: publicKey,
      blockhash,
      lastValidBlockHeight,
    });
    transaction.add(...instructions);

    // Send via useTransactionSigner (for Solana Web3.js)
    const signature = await signer.signAndSendTransaction(transaction);
  };

  return (
    <div>
      <ConnectButton />
      {(
        <button onClick={handleSend}>Send TX</button>
      )}
    </div>
  );
}

Key Points

  • โœ“Pre-built Components: ConnectButton, WalletModal with shadcn/ui styling
  • โœ“useTransactionSigner: For legacy web3.js compatibility
  • โœ“Wallet Standard: LazorKit auto-discovered after registration
  • โœ“Gasless for LazorKit: Paymaster auto-handles gas when using LazorKit

Try Gasless Transfer

๐Ÿ’ธ

Connect Your Wallet

Click the button below to open the wallet modal. LazorKit appears automatically via wallet-standard.