Starknet SDK Guide: Connecting Apps & Mini Wallets to Web3 DEX APIs

Introduction to Starknet SDK Integration

The Starknet SDK provides developers with tools to seamlessly connect applications and mini wallets to decentralized exchanges (DEX) through Web3 APIs. This guide covers the complete implementation process from installation to transaction handling.

๐Ÿ‘‰ Explore advanced Web3 wallet integrations

Installation and Initialization

To begin integration with OKX Connect for your DApp:

  1. Ensure your OKX App is updated to version 6.98.0 or later
  2. Install via npm package manager

Initialization Parameters

Parameter Type Description
dappMetaData object Application metadata object
โ†’ name string Your application name (non-unique identifier)
โ†’ icon string URL to 180x180px PNG/ICO icon (SVG not supported)

Returns: OKXUniversalProvider instance

Example Implementation:
javascript
const provider = new OKXUniversalProvider({
dappMetaData: {
name: "MyDApp",
icon: "https://example.com/icon.png"
}
});

Wallet Connection Process

Connect user wallets to obtain addresses for transaction signing and identification.

Connection Parameters

Parameter Type Description
connectParams object Connection configuration
โ†’ namespaces object Required connection info (currently supports “starknet:mainnet”)
โ†’ optionalNamespaces object Optional connection info
โ†’ sessionConfig object Redirect configuration post-connection

Returns: Promise containing:
– Session topic (unique identifier)
– Connected namespace information
– Account and chain details
– Supported methods
– DApp information

Transaction Preparation

Create an OKXStarknetProvider instance by passing your initialized OKXUniversalProvider:

javascript
const starknetProvider = new OKXStarknetProvider(universalProvider);

Account Information Retrieval

Fetch wallet details for connected accounts.

Request Parameters
chainId: Target blockchain (e.g., “starknet:mainnet”)

Response Format
json
{
"address": "wallet_address",
"pubKey": "public_key"
}

Message Signing

Securely sign messages using connected wallets.

Parameters
| Parameter | Type | Description |
|———–|——|————-|
| signerAddress | string | Target wallet address |
| typedData | object | Structured message data |
| chain | string | (Optional) Target chain |

Returns: Promise resolving to signature components [r, v]

Transaction Signing and Broadcasting

Execute and submit transactions to the blockchain.

Parameters
| Parameter | Type | Description |
|———–|——|————-|
| signerAddress | string | Executing wallet address |
| transaction | object | Structured transaction data |
| chainId | string | (Optional) Target chain ID |

Returns: Promise resolving to transaction hash

Wallet Disconnection

Terminate active wallet sessions before switching accounts.

๐Ÿ‘‰ Learn professional wallet management techniques

Event Handling

The SDK emits events for key actions:
– Connection state changes
– Transaction status updates
– Session modifications

Error Code Reference

Error Code Description
UNKNOWN_ERROR Unspecified system error
ALREADY_CONNECTED_ERROR Wallet already connected
NOT_CONNECTED_ERROR No active wallet connection
USER_REJECTS_ERROR User denied action
METHOD_NOT_SUPPORTED Unavailable wallet method
CHAIN_NOT_SUPPORTED Unsupported blockchain
WALLET_NOT_SUPPORTED Incompatible wallet
CONNECTION_ERROR Network/connection failure

Frequently Asked Questions