Skip to main content

Getting Started with Move

Learn to write smart contracts on Sui using the Move programming language.

What is Move?

Move is a safe and flexible programming language designed for blockchain smart contracts. Originally developed for the Diem blockchain, Move has been adapted for Sui with unique features that leverage Sui’s object-centric architecture.

Key Features

Resource Safety

Assets are represented as resources that cannot be copied or implicitly discarded

Type Safety

Strong static typing prevents common programming errors at compile time

Flexibility

Generics and modular design enable code reuse and composability

Gas Efficiency

Optimized execution model keeps transaction costs low

Why Move for Sui?

Move is perfectly suited for Sui’s object-centric model:
  • Objects as First-Class Citizens - Everything in Sui is an object with ownership
  • Parallel Execution - Move’s ownership model enables safe parallel transaction processing
  • Rich Type System - Define complex on-chain data structures with ease
  • Security by Design - Prevent common vulnerabilities like reentrancy and integer overflow

What You’ll Learn

In this section, you’ll master:
1

Environment Setup

Install Sui CLI and set up your development environment
2

Move Basics

Learn Move syntax, types, and fundamental concepts
3

Write Contracts

Create your first Move module with objects and functions
4

Test & Deploy

Test your contracts and deploy to Sui networks

Prerequisites

Before starting, you should have:
  • Basic programming experience (any language)
  • Understanding of blockchain concepts
  • Familiarity with command line tools

Module Structure

Resources

Next Steps

Ready to start writing Move contracts? Begin with the environment setup:

Environment Setup

Install Sui CLI and configure your development environment