tokens_sui.transfers table contains curated fungible token transfer activity for Sui Coin<T> assets indexed on Dune. Because Sui is object-based, the table reconstructs token movement from coin-object ownership and balance changes, then combines that with explicit mint and burn supply events.
This dataset includes:
- Cross-address transfer rows derived from
Coin<T>object ownership and balance deltas - Event-native mint and burn rows derived from Sui treasury events
- Metadata enrichment for symbol and decimals
- USD valuation when an hourly USD price is available for the token
The table aims to capture standard Sui
Coin<T> transfer activity. Because Sui transfers are object-based, some rows represent balance adjustments caused by coin object ownership changes rather than a direct transfer between two addresses.Utility
The Sui transfers table provides a consistent view of fungible token movement on Sui, enabling you to:- Track wallet-to-wallet coin movement across Sui addresses
- Analyze transfer volume by coin, wallet, and day
- Separate regular transfers from mint and burn activity
- Investigate object-based balance changes and supply updates in one table
Methodology
Sui token movement is modeled differently than EVM and Aptos transfers. The official Sui docs describe Sui as an object-based chain, and fungible assets using the Coin standard are represented asCoin<T> objects. The same docs also note that minting and burning require the token’s TreasuryCap. Dune’s Sui transfers model aligns to that design and reconstructs transfer rows from Coin<T> object history plus treasury supply events.
The tokens_sui.transfers table is built as follows:
- It starts from Sui
Coin<T>object lifecycle and owner-net transfer models, keeping non-zero balance changes and ownership changes. - Cross-address transfers are reconstructed from object ownership changes and balance deltas, including transfers with and without balance changes.
- Event-native treasury mint and burn rows are added from supply events, and overlapping legacy object rows are removed when those event-native supply rows exist.
- Symbol and decimals are enriched from Sui coin metadata in
sui_coin_info. amount_usdis calculated from hourly Sui token pricing when a price is available for that hour.
Pricing Methodology
Theprice_usd and amount_usd columns come from Dune’s external hourly price feed for Sui tokens. If a token has a price for that hour, the transfer row gets a USD price and value. If not, both columns stay NULL.
This approach is meant to keep transfer valuations stable and avoid obvious outliers from thin or noisy onchain pricing. For tokens outside Dune’s trusted token set, very large computed USD values are set to NULL instead of being shown.
For more details on Dune’s pricing methodology, see the Prices documentation.
Table Schema
| Column | Type | Description |
|---|---|---|
unique_key | VARCHAR | Surrogate key to identify a unique transfer row |
blockchain | VARCHAR | Blockchain identifier (sui) |
block_month | DATE | Month bucket derived from block_time |
block_date | DATE | Block date |
block_time | TIMESTAMP | Block timestamp |
checkpoint | DECIMAL(20,0) | Sui checkpoint number |
tx_digest | VARCHAR | Sui transaction digest |
token_standard | VARCHAR | Token standard label for the transfer record |
from | VARBINARY | Transfer sender address |
to | VARBINARY | Transfer receiver address |
contract_address | VARBINARY | Package address extracted from coin_type |
coin_type | VARCHAR | Full Sui coin type |
symbol | VARCHAR | Token symbol from Sui coin metadata |
decimals | INTEGER | Display decimals from Sui coin metadata |
amount_raw | DECIMAL(38,0) | Raw token amount before decimal adjustment |
amount | DOUBLE | Transfer amount in display units |
price_usd | DOUBLE | Hourly USD price used to calculate amount_usd |
amount_usd | DOUBLE | USD value of the transfer |
balance_delta | DECIMAL(38,0) | Signed balance change associated with the transfer row |
object_id | VARBINARY | Sui coin object identifier when applicable |
version | DECIMAL(20,0) | Coin object version when applicable |
object_status | VARCHAR | Object lifecycle status for the coin object row |
owner_type | VARCHAR | Sui owner type associated with the row |
coin_balance | DECIMAL(38,0) | Coin object balance at this version |
prev_balance | DECIMAL(38,0) | Previous observed balance for the same object |
prev_owner | VARBINARY | Previous observed owner for the same object |
has_ownership_change | BOOLEAN | Whether ownership changed between consecutive object versions |
transfer_type | VARCHAR | Transfer label describing the row’s reconstruction path |
is_supply_event | BOOLEAN | True for event-native mint/burn rows |
supply_event_type | VARCHAR | Mint/burn label for supply-event rows |
transfer_direction | VARCHAR | Direction label derived from the balance movement |
_updated_at | TIMESTAMP | Timestamp when this row was last written |