Skip to main content

SDKs overview

Immutable provide SDKs for a range of languages and frameworks that make it easy for application developers to execute basic, as well as more advanced, functionality.

We have three types of SDK:

FunctionalityDescriptionSDKs available
1CoreFacilitates key functionality of the Immutable platform. Provides a wrapper for the API endpoints as well as workflow functions that make common actions easier to implement.
2User wallet interactionsEnables applications to facilitate user transactions by connecting with user wallets on various platforms and enabling user authorization (signing) of state-updating transactions (ie. creating sell orders, transferring ownership of assets). Often used in conjunction with the core SDKs.
3UnifiedThe Immutable SDK will unify multiple SDKs into a single product in order to enhance user experience, reduce complexity and streamline the development process. In addition to the existing functionality, new products will be included in the Immutable SDK, such as Passport. Please note that the Immutable SDK is currently in beta.

What are user transactions?

User transactions are those that deal with changes in asset ownership that require the approval (signature) of asset owners. These transactions update the state of things on the blockchain, as opposed to just reading data.

How do the SDKs work together?

Core + Wallet SDK

The Core SDK is responsible for the bulk of functionality that is available on the Immutable platform. It can be used with the Wallet SDK in order to establish a connection with users' wallets to sign certain transactions that require users' approval.

The Link SDK provides end-to-end functionality for the bulk of user transactions, including a user interface for users to see, sign and approve these transactions. It uses the JS SDK for its backend operations, like creating orders or trades.

Immutable SDK

The Immutable SDK consolidates multiple of our SDKs into one and provides a single point of integration for developers. As the Immutable SDK supersedes the Core SDK & Wallet SDK, it is intended to act as a replacement for them, rather than working with them.

See Guides on how to use our SDKs.

Example functionality matrix

Connect to user walletActions requiring user signaturesActions not requiring user signatures
Sign transactionsRegister usersCreate orders and tradesL1-L2 transfers (deposits and withdrawals)Mint tokens on L2Get list of assetsGet ordersGet tradesGet user balances
Core SDK
Wallet SDK
Link SDK

Open API Specification

Immutable's Open API specification empowers developers to be able to interact efficiently with our APIs by supporting the automatic client generation in many languages.