Skip to content
Developers

Search D0 documentation

Search the D0 Checkout integration guide

Connect Wallet

Configure the wallet

Configure the wallet namespaces your catalog can select and share their state with the matching transaction adapter.

EVMSolana Wallet StandardHost-owned TRON signer

Wallet configuration

tsx
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

tsx
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.

© 2026 D0 Labs Inc.Checkout React SDK v0.1.0