Move

Secure, efficient language for apps that scale

Move ushers in a new era of smart contract programming

Go to docs
Move
Secure by default
Intuitive by design
Expressive by nature
A blockchain-agnostic language offering significant advancements in security and productivity. Move drastically reduces the Web3 learning curve and enables a developer experience of unprecedented ease.

Why Move was created

Move was originally developed for the Diem blockchain. It was designed to be a universal language targeting the unique qualities of smart contract programming. Move's first class abstractions for the concept of assets, transfers, and access control make for safer and more efficient programming.

Move on Sui

Move has evolved significantly from its origins in the Diem project to its modern form in Sui, offering "win-win abstractions" that simultaneously give programmers more expressive power while making the execution layer more efficient. The object data model improves security and enables scale.

Developers can use objects, a natural representation of Web3 building blocks, intuitively throughout the development stack. With unfettered flexibility to compose functions and create rich object hierarchies, Move on Sui allows for unparalleled creativity, experimentation, and developer experience.

For smart contracts, you want a language that gives you the necessary abstractions around ownership and scarcity, just like in the physical world. You want those basic safety guarantees...we wanted to design Move around providing these primitives so programmers can write code safely and efficiently and not have to reinvent the wheel every time they want to write some code.

Sam Blackshear
Creator of Move, Co-founder of Mysten Labs, Original contributor to Sui

Key features

Programmable Transaction Blocks [PTBs]

PTBs enable rich, but safe (no re-entrancy or dynamic dispatch) code composability. A single Sui transaction can call up to 1024 separate Move functions, either homogeneously for mass batching or heterogeneously where typed objects serve as inputs to the next calls. Highly expressive, heterogeneous PTBs move composition from the smart contract level to the transaction level, significantly improving gas efficiency and code simplicity.

Object Data Model

“Most things in life are objects,” especially assets managed by real-world contracts. With the object data model on Sui, smart contracts mirror that reality. Object types, ownership, transfers, and display are native features. Objects are a common vocabulary throughout the stack, simplifying apps, wallets, explorers, and the overall developer experience.

Explore docs

Dynamic Fields

Dynamic fields enable safe data composability. Add or remove object fields on the fly, link objects together, and organize data via intuitive object hierarchies.

Ironclad Security

Five out of the OWASP top 10 vulnerabilities are not possible in Move and 3 are partially mitigated. Classic wallet drainer attacks that exploit contract-level permissions are also not possible as all assets are protected by the account’s private key. Smart contract packages are immutable objects, preventing accidental or intentional changes to commonly referenced packages that could have network-wide security implications.

The best Web3 builders love Move

"Scallop's XOracle demonstrates the value of PTBs. Operations execute atomically and dynamically. Transactions combine every required action and are built dynamically. Move on Sui provides type safety, aiding in the construction of safer dynamic functions.

Without PTBs and Sui's object-centered design, XOracle would be significantly more complex and harder to build safely."

Kris LaiFounder of Scallop

"Move on Sui offers a best-in-class developer experience. It allowed us build and test Suilend significantly faster than expected, meaning our product is likely to get to market ahead of schedule."

Suilend

"At Aftermath, we take full advantage of the novelties of Sui. The object model native to Sui Move allows us to focus on a safety-first design when developing our products. We leverage programmable transactions to power all of Aftermath, allowing us to abstract complex strategies into one simple-to-execute transaction. The end result is an improved experience for both our users and developers."

Aftermath

Ready to start building? Write safe smart contracts with Move on Sui.

Go to docs

See how Move works for institutional & capital markets

Sui’s institutional & capital markets solution

See how Move works for DeFi

Sui’s DeFi solution