← Back to Wallet Adapters
Jupiter Unified Wallet Kit
The Swiss Army Knife wallet adapter used by Jupiter and Meteora
Installation
npm install @jup-ag/wallet-adapter \ @lazorkit/wallet
Provider Setup
import { useEffect } from 'react';
import { ConnectionProvider } from '@solana/wallet-adapter-react';
import {
UnifiedWalletProvider,
UnifiedWalletButton
} from '@jup-ag/wallet-adapter';
import { registerLazorkitWallet } from '@lazorkit/wallet';
const RPC_URL = 'https://api.devnet.solana.com';
function AppProvider({ children }) {
// Register LazorKit on mount
useEffect(() => {
registerLazorkitWallet({
rpcUrl: RPC_URL,
portalUrl: 'https://portal.lazor.sh',
paymasterConfig: {
paymasterUrl: 'https://kora.devnet.lazorkit.com',
},
clusterSimulation: 'devnet',
});
}, []);
return (
<ConnectionProvider endpoint={RPC_URL}>
<UnifiedWalletProvider
wallets={[]}
config={{
autoConnect: true,
env: 'devnet',
metadata: {
name: 'My App',
description: 'My Solana dApp',
url: 'https://myapp.com',
iconUrls: ['https://myapp.com/icon.png'],
},
theme: 'dark', // 'light', 'dark', or 'jupiter'
}}
>
{children}
</UnifiedWalletProvider>
</ConnectionProvider>
);
}Using the Hooks
import { useWallet, useConnection } from
'@solana/wallet-adapter-react';
import { UnifiedWalletButton } from
'@jup-ag/wallet-adapter';
function MyComponent() {
const { publicKey, connected, sendTransaction } = useWallet();
const { connection } = useConnection();
const handleSend = async () => {
// Build your transaction
const tx = new Transaction().add(...instructions);
// Send via the adapter (works with any wallet!)
const signature = await sendTransaction(tx, connection);
console.log('Sent:', signature);
};
return (
<div>
{/* Jupiter-styled connect button */}
<UnifiedWalletButton />
{connected && (
<button onClick={handleSend}>Send TX</button>
)}
</div>
);
}Key Points
- ✓Jupiter-powered: Used by Jupiter and Meteora in production
- ✓Multiple Themes: Light, Dark, and Jupiter themes built-in
- ✓Wallet Standard: Automatically discovers LazorKit after registration
- ✓Mobile Ready: Built-in Mobile Wallet Adapter support
- ✓Gasless for LazorKit: Paymaster auto-handles gas when using LazorKit
Theme Options
dark- Dark theme (active)light- Light themejupiter- Jupiter brand themeJupiter Unified Wallet Kit Theme
Try Gasless Transfer
💸
Connect Your Wallet
Click the button below to open the Unified Wallet modal. LazorKit will appear alongside other installed wallets.