Starknet Wallet Integration Guide: Connect DApps with Web3 Wallets

ยท

Installation & Initialization

To integrate OKX Connect into your DApp, ensure you have OKX App version 6.98.0 or later installed. Use npm for seamless integration:

npm install @okxweb3/connect

Before connecting wallets, create a UI interface object to handle wallet connections and transactions:

Configuration Parameters

๐Ÿ‘‰ Get started with Web3 wallet integration


Connecting Wallets

Establish wallet connections to retrieve addresses for transaction signing:

Request Parameters

Response

const connectResult = await provider.connect({
  namespaces: {
    starknet: {
      chains: ["starknet:mainnet"]
    }
  }
});

Transaction Workflow

1. Provider Initialization

Create an OKXStarknetProvider instance with OKXUniversalProvider:

const provider = new OKXStarknetProvider(universalProvider);

2. Account Information

Retrieve wallet details with chainId parameter:

const accountInfo = await provider.getAccount("starknet:mainnet");
// Returns { address: "0x...", pubKey: "..." }

3. Message Signing

Sign typed data messages:

const signature = await provider.signMessage(
  "0xWalletAddress", 
  { typedData: {...} },
  "starknet:mainnet"
);
// Returns [r, v] signature components

๐Ÿ‘‰ Optimize your DEX API integration


Transaction Broadcasting

sendTransaction Parameters

const txHash = await provider.sendTransaction(
  "0xWalletAddress",
  { /* transaction object */ },
  "starknet:mainnet"
);

Disconnecting Wallets

Terminate active sessions before switching wallets:

await provider.disconnect();

Event Handling

Subscribe to wallet events:


Error Reference

Error CodeDescription
1001Unknown error
1002Wallet already connected
1003Wallet not connected
1004User rejected request
1005Unsupported method
1006Chain not supported
1007Wallet incompatible
1008Connection failed

FAQ

What chains does Starknet wallet support?

Currently only starknet:mainnet is supported for connections and transactions.

How do I handle user rejections?

Catch OKX_CONNECT_ERROR_CODES.USER_REJECTS_ERROR (code 1004) and provide fallback UI.

Can I customize the connection UI?

Yes, configure uiPreferences.theme and dappMetaData.icon during initialization.

Is Telegram Mini App supported?

Yes, configure tmaReturnUrl for Telegram-specific return behaviors.

How to test in development?

Use OKX App's Testnet mode with sandbox credentials.

๐Ÿ‘‰ Explore advanced wallet features


This Markdown document maintains all technical details while optimizing for SEO with:
- Hierarchical headings
- Natural keyword integration ("Starknet wallet", "DEX API", "Web3 integration")
- Structured tables for error codes
- FAQ section addressing common queries