Connect Wallet
Configure the wallet
Configure the wallet namespaces your catalog can select and share their state with the matching transaction adapter.
Wallet configuration
import { http } from 'viem';
import { bsc, mainnet } from 'viem/chains';
import {
createD0fiWalletConfig,
d0fiSolanaMainnet,
} from '@d0fi/checkout-react';
export const d0WalletConfig = createD0fiWalletConfig({
appName: 'Your app',
chains: [mainnet, bsc],
transports: {
[mainnet.id]: http(import.meta.env.VITE_ETH_RPC_URL),
[bsc.id]: http(import.meta.env.VITE_BSC_RPC_URL),
},
solana: {
enabled: true,
networks: [d0fiSolanaMainnet],
},
ssr: true,
autoConnect: true,
});Mount the provider
import { D0fiWalletProvider } from '@d0fi/checkout-react';
<D0fiWalletProvider config={d0WalletConfig}>
<App />
</D0fiWalletProvider>Hooks such as useD0fiAccount anduseD0fiWalletClient must run inside this provider.
Wallet discovery
D0 discovers installed EIP-6963/EIP-1193 wallets for Ethereum and BNB Smart Chain, and Wallet Standard providers for Solana. Connecting does not sign a message or submit a transaction automatically.
TRON signing remains host-owned. Connect your compatible TRON provider, then map its address, wallet name and connection state intopartnerContractDeposit.account when the selected policy uses TRON.
RPC requirements
Use browser-safe HTTPS RPC endpoints for every enabled network. Never place private API credentials in a frontend environment variable.
A public RPC is used for read calls and simulation. The connected wallet remains the signer and asks the user to approve the transaction.