
Product
Rust Support in Socket Is Now Generally Available
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.
@ika.xyz/sdk
Advanced tools
⚠️ Warning: This package is currently in development and may have breaking changes.
This package provides a TypeScript SDK for interacting with the Ika Network on Sui.
Use bun (preferred):
bun add @ika.xyz/sdk
Peer/runtime requirements:
From the repo root:
pnpm install
pnpm sdk build
Or from sdk/typescript:
pnpm install
pnpm run build
Use getNetworkConfig(network) to obtain package/object IDs for localnet, testnet, or
mainnet.
For localnet, the SDK automatically searches for ika_config.json in multiple locations
including the current directory, parent directories, and can be configured via the IKA_CONFIG_PATH
environment variable.
import { getNetworkConfig } from '@ika.xyz/sdk';
const config = getNetworkConfig('testnet');
IkaClient wraps a SuiClient and provides caching plus helpers for fetching network objects and
protocol parameters.
import { getNetworkConfig, IkaClient } from '@ika.xyz/sdk';
import { getFullnodeUrl, SuiClient } from '@mysten/sui/client';
const suiClient = new SuiClient({ url: getFullnodeUrl('testnet') });
const ikaClient = new IkaClient({
suiClient,
config: getNetworkConfig('testnet'),
network: 'testnet',
cache: true,
});
await ikaClient.initialize();
Selected queries:
// DWallet by id
const dWallet = await ikaClient.getDWallet('0x...');
// Presign by id
const presign = await ikaClient.getPresign('0x...');
// Active encryption key for address
const encKey = await ikaClient.getActiveEncryptionKey('0x...');
// Protocol public parameters (bytes)
const pp = await ikaClient.getProtocolPublicParameters();
IkaTransaction wraps a Sui Transaction and adds typed methods for dWallet flows.
import { getNetworkConfig, IkaClient, IkaTransaction } from '@ika.xyz/sdk';
import { getFullnodeUrl, SuiClient } from '@mysten/sui/client';
import { Transaction } from '@mysten/sui/transactions';
const suiClient = new SuiClient({ url: getFullnodeUrl('testnet') });
const ikaClient = new IkaClient({
suiClient,
config: getNetworkConfig('testnet'),
network: 'testnet',
});
await ikaClient.initialize();
const tx = new Transaction();
const ikaTx = new IkaTransaction({ ikaClient, transaction: tx });
// Call inner functions to mutate the transaction.
const sessionIdentifier = ikaTx.createSessionIdentifier();
tx.transferObjects([sessionIdentifier], '0x...');
Exposed utilities under client/cryptography:
createClassGroupsKeypair(seed)createDKGUserOutput(pp, firstRound, sessionId)prepareDKGSecondRound(pp, dWallet, sessionId, encKey) and
prepareDKGSecondRoundAsync(ikaClient, ...)prepareImportedKeyDWalletVerification(ikaClient, sessionId, userKeys, keypair)encryptSecretShare(...), decryptUserShare(...)verifyUserShare(...), verifySecpSignature(...)Low-level Move-call builders are available at:
coordinatorTransactions (src/tx/coordinator.ts)systemTransactions (src/tx/system.ts)These are used internally by IkaTransaction but can be called directly if needed.
Import enums and types from client/types:
import { Curve, Hash, SignatureAlgorithm, type DWallet, type Presign } from '@ika.xyz/sdk';
pnpm --filter @ika.xyz/sdk test
BSD-3-Clause-Clear © dWallet Labs, Ltd.
FAQs
Ika typescript sdk
We found that @ika.xyz/sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket’s Rust and Cargo support is now generally available, providing dependency analysis and supply chain visibility for Rust projects.

Security News
Chrome 144 introduces the Temporal API, a modern approach to date and time handling designed to fix long-standing issues with JavaScript’s Date object.

Research
Five coordinated Chrome extensions enable session hijacking and block security controls across enterprise HR and ERP platforms.