all collections · daily · marketplace overlay
weekly · real (teal) vs wash (rose)
all collections · daily · marketplace overlay
weekly · real (teal) vs wash (rose)
counterparties · funders · clusters
Move packages this wallet published on-chain — what it shipped, not what it used.
This package defines an Nft object type with fields for ID, name, description, media URL, and dynamic attributes. The init function initializes a Publisher object, a Display object for Nft metadata, and a TransferPolicy for Nft, adding a kiosk lock rule and a 5% royalty rule to the policy. All public/entry functions (mint_order, mint_nft, mint_edition_nft, update_nft) delegate their core logic to functions within the imported 'launchpad' module, passing along the Nft object or its ID and various metadata. The update_nft function also directly mutates the name, description, media_url, and attributes of an Nft object borrowed from a Kiosk. Notably, the package utilizes dynamic fields for Nft attributes and implements royalty and kiosk lock rules via the TransferPolicy.
This package manages a "Minter" object, which represents an NFT collection with multiple sale phases. It also defines an "Nft" object type for the NFTs themselves and a "Collection" object for the overall collection. The public/entry functions allow the Minter's owner to add, remove, and update sale phases, each with a price, maximum sales, mints per user, start time, name, and an optional Merkle root for allowlisting. The `mint` function allows users to mint NFTs, which involves checking the current sale phase, verifying Merkle proofs if required, and transferring SUI for the NFT. Notable patterns include: - Admin gating: The `add_phase`, `remove_phase`, and `update_phase` functions are restricted to the Minter's owner. - Time-gating: Sale phases are activated based on their `start_time` compared to the current clock timestamp. - Allowlist gating: Sale phases can optionally include a Merkle root, requiring a Merkle proof for minting. -
marketplace NFT sales from analytics.sale. Net = proceeds − spend; realized trading flow, not true PnL (ignores still-held NFTs; wash trades inflate both sides).
Where this wallet's SUI first came from, and what it seeded downstream. Observational: a CEX funder suggests a real/retail origin; a high-fanout non-CEX funder is a signal worth noting — not proof of anything.
{
"wallet": "0x2489017795158cda78d86f9268da08e379afe3c52ef50720e72794a7ad3184d3",
"n_tx": 51,
"n_successful_tx": 50,
"n_distinct_epochs": 10,
"n_distinct_sponsors": 0,
"first_seen_cp": 108658516,
"last_seen_cp": 150976763,
"first_seen_ts_ms": 1738606060614,
"last_seen_ts_ms": 1748569200946,
"total_gas_spent_mist": 338784768,
"n_self_sponsored_tx": 51,
"n_sponsored_tx": 0,
"gas_price_p50": 750,
"gas_price_p95": 750,
"active_hours_top24": [
14,
10,
11,
16,
18,
17,
12,
8,
19,
1
],
"primary_archetype": null,
"labels": [],
"label_confidence": [],
"bot_score": 0,
"bot_signals": [],
"cex_label": null
}Top active hours by UTC. Circadian peak → likely C. Europe / Africa / Middle East.
area + brightness = call volume; hover for detail