Skip to main content

SDKs and Tools - Overview


One can (programatically) interact with the MultiversX Network by leveraging the following SDKs, tools and APIs:

sdk-rs - Rust SDK


Note that Rust is also the recommended programming language for writing Smart Contracts on MultiversX. That is, Rust can be used to write both on-chain software (Smart Contracts) and off-chain software (e.g. desktop applications, web applications, microservices). For the on-chain part, please follow Smart Contracts. Here, we refer to the off-chain part.

sdk-rsRust SDK used to interact with the MultiversX Blockchain.
This is the parent repository, also home to the Rust Framework for Smart Contracts.
sdk-rs/coreCore components, accompanied by a set of usage examples.
sdk-rs/snippetsSmart Contract interaction snippets - base components. Examples of usage: adder, multisig.

sdk-js - Javascript SDK

sdk-jsHigh level overview about sdk-js.
sdk-js cookbookLearn how to handle common tasks by using sdk-js.
Extending sdk-jsHow to extend and tailor certain modules of sdk-js.
Writing and testing sdk-js interactionsWrite sdk-js interactions for Visual Studio Code
sdk-js migration guidesMigrate from sdk-js v9.x to v10+
sdk-js signing providersIntegrate sdk-js signing providers.

In addition to sdk-js, one could use the following Javascript library for performing wallet operations via CLI:

sdk-js-wallet-cliLightweight CLI wrapper used to perform wallet interactions.

You might also want to have a look over xSuite, a toolkit to init, build, test, deploy contracts using JavaScript, made by the Arda team.

sdk-dapp - core functional logic of a dApp

sdk-dappReact library aimed to help developers create dApps based on MultiversX Network.

It abstracts away all the boilerplate for logging in, signing transactions or messages, and also offers helper functions for common tasks.

mxpy - Python SDK

mxpyHigh level overview about mxpy.
Installing mxpyHow to install and get started with mxpy.
Configuring mxpyChange mxpy's basic configurations.
mxpy cliHow to use the Command Line Interface.
Deriving the wallet pem fileHow to use a wallet PEM file.
Smart contract interactionsInteract with Smart Contract.

sdk-nestjs - NestJS SDK

sdk-nestjsNestJS SDK commonly used in the MultiversX Microservice ecosystem.

mx-sdk-go - Golang SDK

sdk-goGo/Golang SDK used to interact with the MultiversX Blockchain.

mx-sdk-java - Java SDK

mxjavaJava SDK used to interact with the MultiversX Blockchain.

erdcpp - C++ SDK

erdcppC++ SDK used to interact with the MultiversX Blockchain.

erdkotlin - Kotlin SDK

erdkotlinKotlin SDK used to interact with the MultiversX Blockchain.

nesdtjs-sdk - NestJS SDK

sdk-nestjsNestJS SDK used to interact with the MultiversX Blockchain.

Node Rest API

Rest APIHigh level overview over the MultiversX's Rest API.
api.multiversx.comMultiversX's main API instance.
Gateway overviewGateway overview - public proxy instance.
AddressesRest API endpoints dedicated to addresses.
TransactionsRest API endpoints dedicated to transactions.
NetworkRest API endpoints dedicated to network status and configuration.
NodesRest API endpoints dedicated to nodes.
BlocksRest API endpoints dedicated to blocks.
Virtual machineRest API endpoints dedicated to the SC execution VM.
Versions and changelogWhat's new in different versions.


Proxy is an abstraction layer over the MultiversX Network's sharding. It routes the API request to the desired shard and merges results when needed.

MultiversX ProxyA Rest API requests handler that abstracts sharding.


MultiversX Network uses Elasticsearch to index historical data. Find out more about how it can be configured.

ElasticsearchMake use of Elasticsearch near your nodes in order to keep historical data.

Events notifier

Events notifier is an external service that can be used to fetch block events and push them to subscribers.

Events notifierA notifier service for block events.

Chain simulator

Chain simulator is designed to replicate the behavior of a local testnet. It can also be pre-initialized / initialized with blockchain state from other networks, such as mainnet or something similar.

Chain simulatorA service for local testing.

Devcontainers (for VSCode or GitHub Codespaces)

DevcontainersOverview of MultiversX devcontainers (for VSCode or GitHub Codespaces).