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:
- Ensure your OKX App is updated to version 6.98.0 or later
- 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 |