Sui blockchain has emerged as a groundbreaking platform in the Web3 landscape, leveraging an innovative object-centric architecture to redefine how digital assets are stored, managed, and interacted with. Unlike traditional blockchains that rely on account-based models, Sui treats everything—smart contracts, NFTs, and tokens—as individual objects. This structural shift unlocks new possibilities for data handling, scalability, and developer efficiency. In this article, we’ll dive deep into three core data application scenarios within Sui: NFT collections, token value tracking, and package contract analysis.
By understanding these use cases, developers and data analysts can harness Sui’s full potential through structured querying and real-time data processing—enabling smarter dApps, richer analytics dashboards, and enhanced user experiences.
Understanding Sui’s Object-Based Architecture
At the heart of Sui's innovation lies its object-oriented data model. Every asset or program on Sui exists as a distinct object with unique properties, ownership metadata, and lifecycle rules. This design simplifies state management, supports parallel transaction execution, and enables high-throughput performance.
Objects in Sui can represent:
- Smart contracts (as package objects)
- NFTs (non-fungible tokens with unique traits)
- Fungible tokens (coins like SUI or custom tokens)
This unified treatment of digital assets opens the door to powerful data exploration techniques using tools like SQL-based blockchain queries.
👉 Discover how real-time blockchain data can power your next Web3 project
1. NFT Collections: Tracking Ownership and Provenance
Non-fungible tokens (NFTs) have become central to digital identity, art, gaming, and community building in Web3. On Sui, each NFT is an object governed by a specific Move smart contract package. Identifying this controlling package is essential for analyzing collection behavior, tracking mints, and verifying authenticity.
How to Find the NFT Control Contract Package
To trace the origin and governance of an NFT, start by retrieving its Object ID. For example, consider the "Bullshark" NFT with the following Object ID:
0xee496a0cc04d06a345982ba6697c90c619020de9e274408c7819f787ff66e1a1
From this ID, you can extract the Package ID—the hexadecimal prefix that identifies the Move contract responsible for creating and managing the NFT.
Once you have the Package ID, you can explore all interactions related to it.
Query All Move Calls Within a Package
To understand how users interact with an NFT collection, query all Move_Calls generated under the package:
SELECT * FROM sui.move_calls
WHERE move_package = '0xee496a0cc04d06a345982ba6697c90c619020de9e274408c7819f787ff66e1a1';This reveals functions called (e.g., mint, transfer), frequency of use, and user activity patterns—critical for community engagement analysis.
Retrieve All NFT Objects in a Collection
You can also directly fetch all NFT instances belonging to a specific type:
SELECT * FROM sui.objects
WHERE object_type = '0xee496a0cc04d06a345982ba6697c90c619020de9e274408c7819f787ff66e1a1::suifrens::SuiFren<0x8894fa02fc6f36cbc485ae9145d05f247a78e220814fb8419ab261bd81f08f32::bullshark::Bullshark>';This query returns every instance of the Bullshark NFT, allowing for ownership distribution analysis, rarity assessment, and wallet clustering.
2. Token Value: Analyzing Balances and Distribution
Tokens—both native (like SUI) and custom—are also treated as objects in Sui. Each coin type generates unique object IDs per token unit, enabling fine-grained control over ownership and transfers.
How to Query Token Balances
To calculate effective balances, group objects by CoinType and owner_address, then sum their storage_rebate (which correlates with coin value):
SELECT SUM(storage_rebate) AS balance, owner_address
FROM sui.objects
WHERE object_type = '0x2::coin::Coin<0x2::sui::SUI>'
GROUP BY owner_address
ORDER BY balance DESC
LIMIT 100;This query provides a ranked list of the top 100 SUI holders—an invaluable insight for market analysts monitoring whale movements or ecosystem health.
The same approach applies to any custom token by changing the CoinType. This flexibility empowers DeFi platforms, portfolio trackers, and on-chain analytics tools to deliver accurate financial overviews.
👉 Access advanced blockchain analytics tools to track token flows in real time
3. Package Contracts: Identifying Top Performing dApps
Smart contracts on Sui are deployed as packages, which are themselves objects. The number of Move_Calls a package generates reflects its usage intensity—making it a reliable metric for identifying popular dApps.
How to Find the Most Active Contracts
Rank contracts by interaction volume using this query:
SELECT COUNT(*) AS score, move_package
FROM sui.move_calls
GROUP BY move_package
ORDER BY score DESC
LIMIT 100;This returns the top 100 most-used contract packages across the network. Use this data to:
- Identify trending applications
- Benchmark performance
- Discover integration opportunities
- Monitor protocol adoption
Developers can combine this with NFT and token queries to build comprehensive dashboards showing user behavior across multiple layers of the Sui ecosystem.
Frequently Asked Questions (FAQ)
What are objects in Sui?
In Sui, objects refer to any entity—such as accounts, tokens, NFTs, or smart contracts—that has a unique identity and state. Each object is individually addressable and owns its data, enabling efficient storage access and concurrent transaction processing.
How do I find the controlling contract of an NFT?
Locate the NFT’s object_type. The package ID is embedded in the type string before the :: separator. For example, in 0xabc...def::collection::Item, 0xabc...def is the package ID that controls the NFT logic.
Can I query balances for custom tokens on Sui?
Yes. Replace the object_type filter in the balance query with your token’s Coin<YourTokenAddress> type. Group by owner and sum values to get accurate holdings.
Why is Sui’s object model better than account-based systems?
Sui’s object model enables parallel execution of transactions involving different objects, drastically improving speed and scalability. It also simplifies ownership logic and reduces smart contract complexity.
Are all NFTs stored as objects in Sui?
Yes. Every NFT is stored as a unique object with metadata, owner information, and type definition. This allows precise tracking and management at scale.
How can developers benefit from querying Move calls?
Querying Move calls helps developers analyze user interaction patterns, debug contract behavior, optimize gas usage, and improve UX based on actual on-chain activity.
Conclusion
Sui’s object-centric architecture is more than a technical novelty—it's a paradigm shift in blockchain data management. By treating NFTs, tokens, and contracts as discrete objects, Sui enables faster transactions, clearer data relationships, and more intuitive development workflows.
Through targeted SQL queries on blockchain data, teams can extract meaningful insights about NFT collections, token distribution, and contract popularity—empowering better decision-making in Web3 projects.
Whether you're building a marketplace, analytics platform, or DeFi protocol, mastering Sui’s data model gives you a competitive edge in performance, transparency, and user engagement.
👉 Start exploring live Sui blockchain data with powerful querying tools