Sui.

Post

Share your knowledge.

article banner.
dhaholar.
Aug 22, 2025
Article

Shared Objects in Depth: When You Really Need Them

Problem this solves: Developers overuse shared objects, causing consensus slowdowns.

What you’ll learn:

When shared objects are unavoidable

How to design them for minimal contention

Sharding patterns

  1. Good use cases

Orderbooks

Auction houses

Public registries

  1. Bad use cases

Per-user data

Frequently updated counters

  1. Sharding example

Instead of one GlobalLeaderboard, create LeaderboardSeason1, LeaderboardSeason2, etc., each as separate shared objects.

  • Sui
  • Architecture
1
Share
Comments
.
Sato$hii.
Aug 23 2025, 00:52

Why is it generally a bad idea to store per-user data in a shared object on Sui?

dhaholar.
Aug 26 2025, 13:22

You generally shouldn’t store per-user data in a shared object on Sui because every change to a shared object requires consensus, which slows down performance and creates unnecessary contention when many users interact at once; instead, giving each user their own owned object avoids consensus overhead, lets their transactions run in parallel, and scales much better as activity grows. Read more: [https://docs.sui.io/learn/architecture/objects](https://docs.sui.io/learn/architecture/objects)