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-connectConfiguration Parameters
| Parameter | Type | Description |
|---|---|---|
dappMetaData | object | App metadata (name and icon URL). SVG icons are unsupported. |
actionsConfiguration | object | Modal display settings (before, success, error) and return strategies. |
uiPreferences | object | UI 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
Request Parameters:
namespaces: Required chain info (e.g.,solana).optionalNamespaces: Additional supported chains.
Return Value:
- Session
topic, connectedaccounts, and supportedmethods.
- Session
Example:
const result = await universalUi.connect({
namespaces: {
solana: {
chains: ['solana:mainnet'],
methods: ['solana_signMessage']
}
}
});Transaction Signing
Methods
Sign a Message:
const signature = await provider.signMessage("Hello, Solana!");Sign & Broadcast:
const txHash = await provider.signAndSendTransaction(transaction);
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.