Equilibrium brings Move to Polkadot

We have now completed our work to integrate Move to Substrate. Using this pallet, builders can now integrate the Move VM, thereby allowing Substrate blockchains to execute Move smart contracts. Anyone can now create a Move parachain on Polkadot.
Overview
Since our last update in December, we have diligently worked on the Move Substrate integration. Equilibrium has now finished milestone three and delivered the Move pallet to be used in Substrate. To reach our goals, we had to:
adapt the existing Move virtual machine (MoveVM) that can store Move modules and bundles (a collection of modules) and execute Move scripts as smart contracts in Substrate runtime,
design a brand-new Substrate pallet in which the MoveVM is integrated and operates in single and multiple signer scenarios,
and establish a calibrated and balanced gas cost system for the MoveVM and create a logical connection to Substrate weights so that they can be converted into fees in the blockchain.
Project repositories
MoveVM Adaptation
Our work included forking the original Diem-based MoveVM and doing adaptation work to achieve full compatibility within Substrate runtime. The work included the following:
Providing a simple MoveVM backend abstract interface with full no-std support encapsulating all MoveVM handling operations, managing storage and balance handling.
Direct mapping between 32-byte address space in the MoveVM storage and addresses belonging to Substrate accounts.
Setting up a dedicated
smove
compiler and package tool capable of supporting directly SS58 accounts capable of preparing Move smart contracts for the MoveVM inside the runtime.
Pallet Move Design
As mentioned above, the pallet shall provide the ability to publish Move modules and bundles, and the possibility to call those functionalities when executing Move scripts. Therefore, we defined three important extrinsic calls (pseudo code):
fn execute(origin, transaction_bc, gas_limit, cheque_limit)
fn publish_module(origin, bytecode, gas_limit)
fn publish_module_bundle(origin, bundle, gas_limit)
The signed origins will be turned into the Move datatype signer (authorised Move account access), and the following parameters in different namings will always be the compiled and serialised Move bytecode.
The “execute” extrinsic is designed to be used in multiple signer scenarios (situations in which a smart contract needs to be signed by multiple participants). Parachain developers can configure a maximum lifetime and a maximum number of signers for those multiple signer script execution requests via the pallet’s configuration.
We will discuss the gas cost background a little more in detail later, but for now, let’s mention that you can limit those costs for executing or publishing Move bytecode.
Because the pallet enables Move smart contract developers to transfer tokens directly on the blockchain (internally using the Substrate trait Currency), the user can also specify a ‘cheque limit’ to specify the maximum amount of tokens used during the execution.
For parachain maintainers or, more in detail, the sudo user, one more extrinsic is available to update the two Move standard libraries, which technically are bundled but “owned” by sudo:
fn update_stdlib_bundle(origin, stdlib)
Gas Costs
Operations within the MoveVM can use variable CPU processing time and memory access, and gas fees address that issue. Every Move bytecode instruction and native function call has a fine-tuned defined gas cost. The MoveVM calculates the gas costs for each Move script execution, which are converted to the Substrate weights, which can then be turned into fees in the blockchain. The relation between MoveVM gas and Substrate weight is linear - the more gas the MoveVM consumes, the higher the Substrate fees will be for the end user.
By creating parameterised Substrate benchmark functions driven by gas costs and Move example code, we could generate an almost perfectly linear relationship between gas costs and Substrate weights. The Move example code used increased linearly between iterations of the running benchmarks. In case of later gas cost adoptions, only the Substrate-Move internal gas cost table for bytecode instructions needs to be tuned.
To avoid unnecessary gas costs, users can estimate the needed amount of gas for publishing a module/bundle and executing a Move script in advance using the tool "smove", an extended variant of the foregoing "move-cli".
Conclusion
The introduced pallet brings the interoperable Move ecosystem into the Substrate. Slightly tweaked and adapted, but the VM can handle Move language the way it's supposed to.
We have created comprehensive documentation and two tutorials as part of our commitment to user-friendliness and future updates. These resources provide a quick introduction to using the pallet and guide users on how to modify possible parameter updates in the future. Feel free to reach out to us at hello@equilibrium.co
Originally delivered as Eiger, before Eiger and Equilibrium Labs merged to form Equilibrium.
Continue reading

April 21, 2026
ZAIR: Zero-Knowledge Selective Disclosure for Zcash Notes
Imagine proving you hold Zcash without revealing which note, how much, or anything else. That's no longer hypothetical. Here's how we built the first end-to-end selective disclosure tool for Sapling and Orchard

April 9, 2026
Scaling distributed systems: Eiger and Equilibrium Labs unite
we're excited to announce that Eiger and Equilibrium Labs are merging to form Equilibrium —a unified team dedicated to advancing the infrastructure that powers the decentralized web.

May 28, 2025
State of Verifiable Inference & Future Directions
Verifiable inference enables proving the correct model and weights were used, and that inputs/outputs were not tampered with. This post covers different approaches to achieve verifiable inference, teams working on this problem, and future directions.

March 25, 2025
Introducing Our Entrepreneur in Residence (EIR) Program
After 6+ years of building core blockchain infrastructure across most ecosystems and incubating ventures like ZkCloud, we're looking for ambitious pre-founders with whom to collaborate closely.

March 10, 2025
From Speculation to Utility: Next Steps For Onchain Lending Markets
Despite its promises, onchain lending still mostly caters to crypto-natives and provides little utility besides speculation. This post explores a path to gradually move to more productive use cases, low-hanging fruit, and challenges we might face.

February 18, 2025
Can Blockchains And Cryptography Solve The Authenticity Challenge?
As gen-AI models improve, it's becoming increasingly difficult to differentiate between AI- and human-generated content. This piece dives into whether cryptography and blockchains can solve the authenticity challenge and help restore trust on the Internet

February 6, 2025
Vertical Integration for both Ethereum and ETH the Asset
In recent months, lackadaisical price action and usage growing on other L1/L2s has driven a discussion on what Ethereum’s role and the value of ETH, the asset is long-term.

January 29, 2025
Equilibrium: Building and Funding Core Infrastructure For The Decentralized Web
Combining Labs (our R&D studio) and Ventures (our early-stage venture fund) under one unified brand, Equilibrium, enables us to provide more comprehensive support to early-stage builders and double down on our core mission of building the decentralized web

November 28, 2024
20 Predictions For 2025
For the first time, we are publishing our annual predictions for what will happen by the end of next year and where the industry is headed. Joint work between the two arms of Equilibrium - Labs and Ventures.

November 7, 2024
9 + 1 Open Problems In The Privacy Space
In the third (and final) part of our privacy series, we explore nine open engineering problems in the blockchain privacy space in addition to touching on the social/regulatory challenges.

October 15, 2024
Aleo Mainnet Launch: Reflecting On The Journey So Far, Our Contributions And Path Ahead
Equilibrium started working with Aleo back in 2020 when ZKPs were still mostly a theoretical concept and programmable privacy in blockchains was in its infancy. Following Aleo's mainnet launch, we reflect on our journey and highlight key contributions.

August 12, 2024
Do All Roads Lead To MPC? Exploring The End-Game For Privacy Infrastructure
This post argues that the end-game for privacy infra falls back to the trust assumptions of MPC, if we want to avoid single points of failure. We explore the maturity of MPC & its trust assumptions, highlight alternative approaches, and compare tradeoffs.

August 1, 2024
Working on Aptos: Insights into Mutation Testing and Specification Assurance

July 23, 2024
Releasing Lumina.rs - Directly verify Celestia in your browser
We're excited to release Lumina. Go to https://lumina.rs/ and run a Celestia light node in the browser. By running Lumina you synchronize with the network, sample data availability, directly verify correctness and contribute to the network health

June 12, 2024
What Do We Actually Mean When We Talk About Privacy In Blockchain Networks (And Why Is It Hard To Achieve)?
An attempt to define what we mean by privacy, exploring how and why privacy in blockchain networks differs from web2, and why it's more difficult to achieve. We also provide a framework to evaluate different approaches for achieveing privacy in blockchain.

April 9, 2024
Will ZK Eat The Modular Stack?
Modularity enables faster experimentation along the tradeoff-frontier, wheras ZK provides stronger guarantees. While both of these are interesting to study on their own, this post explores the cross-over between the two.

January 16, 2024
Nebula for Soroban: Simplifying Contract Execution

January 16, 2024
Equilibrium is taking over responsibility for Beerus StarkNet Light Client

December 14, 2023
Enhancing Rust RPC Client and Nodes for Celestia Network

December 11, 2023
Introducing the MoveVM Substrate Pallet

October 23, 2023
Unveiling the Zcash UniFFI Library

October 5, 2023
Overview of Privacy Blockchains & Deep Dive Of Aleo
Programmable privacy in blockchains is an emergent theme. This post covers what privacy in blockchains entail, why most blockchains today are still transparent and more. We also provide a deepdive into Aleo - one of the pioneers of programmable privacy!

September 18, 2023
Securing cross-chain communication from Ethereum to the Internet Computer with an on-chain Light Client

September 4, 2023
Elusiv: Bringing Privacy To Solana

July 31, 2023
Engineers thoughts: Fireblocks SI partnership

July 25, 2023
Introducing OpEVM: The Next Generation Optimistic EVM Rollup

June 7, 2023
Equilibrium Becomes the First Accredited Systems Integrator for Fireblocks
March 12, 2023
2022 Year In Review
If you’re reading this, you already know that 2022 was a tumultuous year for the blockchain industry, and we see little value in rehashing it. But you probably also agree with us that despite many challenges, there’s been a tremendous amount of progress.

May 31, 2022
Testing the Zcash Network
In early March of 2021, a small team from Equilibrium Labs applied for a grant to build a network test suite for Zcash nodes we named Ziggurat.

June 30, 2021
Connecting Rust and IPFS
A Rust implementation of the InterPlanetary FileSystem for high performance or resource constrained environments. Includes a blockstore, a libp2p integration which includes DHT contentdiscovery and pubsub support, and HTTP API bindings.
June 13, 2021
Rebranding Equilibrium
A look back at how we put together the Equilibrium 2.0 brand over four months in 2021 and found ourselves in brutalist digital zen gardens.
January 20, 2021
2021 Year In Review
It's been quite a year in the blockchain sphere. It's also been quite a year for Equilibrium and I thought I'd recap everything that has happened in the company with a "Year In Review" post.