Solana-Compatible Wallet Integration Guide: Connect to DApps & Sign Transactions

·

Introduction

The OKX UI interface simplifies Solana-compatible wallet integration for decentralized applications (DApps). Whether users operate within Telegram or standalone browsers, they can seamlessly connect via mobile App Wallets or the Ouyi Mini Wallet. This guide covers installation, wallet connection, transaction signing, and error handling.


Installation & Initialization

Ensure your OKX App is updated to version 6.90.1 or later. Integrate OKX Connect via npm:

npm install @okx/web3-connect

Configuration Parameters

ParameterTypeDescription
dappMetaDataobjectApp metadata (name and icon URL). SVG icons are unsupported.
actionsConfigurationobjectModal display settings (before, success, error) and return strategies.
uiPreferencesobjectUI theme (DARK, LIGHT, SYSTEM) and language (defaults to en_US).

Example:

const universalUi = new OKXUniversalConnectUI({
  dappMetaData: { 
    name: "My DApp", 
    icon: "https://example.com/icon.png" 
  },
  actionsConfiguration: { 
    modals: ['before'], 
    returnStrategy: 'tg://resolve' 
  }
});

Wallet Connection

Steps to Connect

  1. Request Parameters:

    • namespaces: Required chain info (e.g., solana).
    • optionalNamespaces: Additional supported chains.
  2. Return Value:

    • Session topic, connected accounts, and supported methods.

Example:

const result = await universalUi.connect({
  namespaces: { 
    solana: { 
      chains: ['solana:mainnet'], 
      methods: ['solana_signMessage'] 
    } 
  }
});

Transaction Signing

Methods

Batch Transactions

Pass an array of transactions to sign multiple at once:

const signedTxs = await provider.signAllTransactions([tx1, tx2]);

👉 Explore advanced Solana API methods


Account Management

Get Wallet Info

const account = await provider.getAccount();
// Returns { address: string, publicKey: PublicKey }

Disconnect Wallet

universalUi.disconnect();

FAQ

1. Can I use SVG icons for my DApp?

No—only PNG or ICO formats are supported (180x180px recommended).

2. What happens if the wallet doesn’t support a requested chain?

The connection is rejected unless the chain is in optionalNamespaces.

3. How do I handle transaction errors?

Listen for connect_signResponse events and check EVM-compatible error codes.

4. Is multi-chain signing supported?

Yes, specify chainId in signRequest for each transaction.

👉 Learn more about multi-chain DApp development


Conclusion

This guide provides a comprehensive workflow for integrating Solana-compatible wallets, from initialization to transaction signing. For further optimization, ensure natural keyword placement (e.g., Solana wallet, DApp integration, transaction signing) and adhere to SEO best practices.