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

·

Installation & Initialization

To integrate OKX Connect with your DApp, ensure you're using OKX App version 6.98.0 or later. Install via npm:

npm install okx-connect-sdk

Initialize the provider with required metadata:

const provider = new OKXUniversalProvider({
  dappMetaData: {
    name: "Your DApp Name",
    icon: "https://example.com/icon.png" // 180x180px PNG recommended
  }
});

Connecting Wallets

Establish wallet connections to retrieve addresses for transaction signing:

Parameters

Response

{
  topic: "session_identifier",
  accounts: ["0x123...abc"],
  chains: ["starknet:mainnet"],
  methods: ["signTransaction", "signMessage"]
}

Transaction Preparation

Create a provider instance for Starknet transactions:

const starknetProvider = new OKXStarknetProvider(universalProvider);

Account Information Retrieval

Request

Response

{
  address: "0x123...abc",
  pubKey: "0x456...def"
}

Message Signing

Parameters

Response

Transaction Signing & Broadcasting

Parameters

Response

Disconnecting Wallets

Terminate active sessions before switching wallets:

provider.disconnect();

Event Handling

Subscribe to connection state changes:

provider.on("session_update", (event) => {
  console.log("Session updated:", event);
});

Error Codes

CodeDescription
1000Unknown error
1001Wallet already connected
1002Wallet not connected
3000User rejected request
4001Method not supported
4002Chain not supported
4003Unsupported wallet type
5000Connection failure

FAQ

What chains does Starknet SDK currently support?

👉 Currently only Starknet Mainnet is supported

How do I handle user rejection errors?

Implement fallback UX flows when users decline connection requests (error code 3000).

Can I use SVG icons for dApp metadata?

No, only PNG/ICO formats are supported (180x180px recommended).

Is there a mobile SDK for native apps?

Yes, the same SDK works for both web and mobile implementations.

How long do wallet sessions persist?

Sessions remain active until explicitly disconnected or until the user logs out.

What's the maximum transaction size?

Starknet currently supports transactions up to 128KB in size.