Post
Share your knowledge.
Preventing Reentrancy in Move
How does Move’s object model help avoid reentrancy vulnerabilities?
- Move
Answers
4Objects have single ownership and versioning, so functions cannot unintentionally re-enter or duplicate resources.
Move’s strict resource ownership and linear types prevent reentrancy by ensuring objects can’t be accessed or modified concurrently during a transaction, eliminating reentrant calls and state inconsistencies.
You avoid reentrancy problems in Move because the object model forces strict ownership and linear usage of resources, meaning an object can only be borrowed or moved once in a transaction and its version must update before it can be touched again. This prevents a contract from being re-entered while still holding mutable access to the same state, which is the classic attack surface in Solidity. Since objects in Move can’t be duplicated or partially reused, and function calls complete before ownership is released, an attacker has no way to recursively drain funds or trigger inconsistent state changes. In practice, this design makes reentrancy exploits that plague account-based systems like Ethereum far less likely on Sui.
How Move Prevents Reentrancy Vulnerabilities
-
Linear resource model – Resources can't be copied or accessed from multiple places, preventing unsafe reentry.
-
Strict ownership and borrowing rules – Enforces exclusive access to data during execution.
-
No external or dynamic calls – Contracts can't call back into each other during execution.
-
Isolated, deterministic execution – All object access is static and scoped to a single transaction.
Result: Move's object model prevents reentrancy by design—eliminating the key risks that make reentrancy possible in other smart contract languages like Solidity.
Do you know the answer?
Please log in and share it.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

- Why does BCS require exact field order for deserialization when Move structs have named fields?65
- Multiple Source Verification Errors" in Sui Move Module Publications - Automated Error Resolution55
- Sui Transaction Failing: Objects Reserved for Another Transaction49
- Sui Move Error - Unable to process transaction No valid gas coins found for the transaction315
- How to Maximize Profit Holding SUI: Sui Staking vs Liquid Staking213