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 primarily manages a `Registry` object, which stores version information, an optional `SetPriceCap`, and two tables: `price_info_ids` mapping `TypeName` to `ID` (likely for Pyth price feeds) and `stale_price_secs` mapping `TypeName` to `u64` (for price staleness thresholds). Public/entry functions allow for upgrading the `Registry`'s major and minor versions (gated by an `AdminCap`), setting the `oracle_set_price_cap`, and configuring Pyth-related parameters like `price_info_ids` and `stale_price_secs` (also `AdminCap`-gated). The `price_source` module provides functions (`set_mmt_oracle`, `set_k_oracle_price`) to update oracle prices, which involve fetching Pyth prices, performing calculations with MMT pool prices, and then calling an external `oracle::set_primary_price_safe` or `oracle::set_secondary_price_safe` function
This package defines an oracle system for managing and providing price data for various coin types. The primary object types are MmtOracle, which stores price and source information, and AdminCap, which grants administrative privileges. The public functions allow for upgrading the oracle's version, retrieving price data, setting and removing primary/secondary price sources, updating prices, and modifying the staleness threshold. Notably, the system uses an AdminCap for privileged operations and a SetPriceCapRegistry to manage revocation of SetPriceCaps, which are used to authorize price updates. Prices are stored in tables mapped by TypeName, and price updates are subject to a "reasonable difference" check and a staleness threshold.
This package defines a PermissionedReceipt object, which acts as a container for arbitrary key-value data (a Bag). The `issue` function creates a new PermissionedReceipt, associating it with an object ID and optionally specifying an ID that has removal access. The `add_data`, `borrow_data`, `borrow_data_mut`, and `remove_data` functions allow adding, reading, modifying, and removing data from the receipt's Bag, respectively. These data manipulation functions are permissioned: only the `issued_to` ID or the `remove_access` ID (if set) can perform these operations. The `burn` function destroys a PermissionedReceipt, but only if its internal Bag is empty.
This Sui package manages a FeeDistributor object, which holds information about various fee receivers and their allocated percentages for different coin types. The acl module creates a shared FeeReceiptAcl object, likely for access control, though its specific use isn't detailed in the provided IR. The fee_distributor module allows an AdminCap holder to add, remove, and update fee receiver percentages, which are stored in dynamic tables. Fees are collected into the FeeDistributor and then distributed to individual FeeReceiver objects based on their configured percentages, with any remainder going to admin fees. Fee collectors (holding a FeeCollectorCap) can claim their allocated fees, provided their cap is not revoked, and admin fees can be claimed by the AdminCap holder.
This Sui package defines an access control list (ACL) system and two adapter modules for interacting with external liquidity pools (Cetus and MMT V3). The primary object types managed are `acl::RouterAcl` for access control and `bag_value::Value` for encapsulating pool information. Public/entry functions in the adapter modules, `swap_router`, facilitate token swaps by interacting with external pool contracts, mutating `PermissionedReceipt` objects and the respective liquidity `Pool` objects. A notable pattern is the use of `acl::RouterAcl` to gate access to the `swap_router` functions, ensuring only authorized entities can initiate swaps. Additionally, the `swap_router` functions utilize a `PermissionedReceipt` to store and retrieve data (like current/final index and funds) during the multi-step swap process, acting as a temporary escrow for swap parameters and results.
Wallets that share a funder, were co-funded by the same personal-scale source, or land in the same behavioral cluster. A heuristic, not proof of common control.
casualRule-based labels, conservative precision.
area + brightness = call volume; hover for detail
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": "0x80ca6829c1c39e6e2ab17d73f85e9343b6c54f1d51ec922762d4e8062cfcb5bb",
"n_tx": 31,
"n_successful_tx": 31,
"n_distinct_epochs": 24,
"n_distinct_sponsors": 0,
"first_seen_cp": 173674395,
"last_seen_cp": 221178005,
"first_seen_ts_ms": 1753949134485,
"last_seen_ts_ms": 1765292398554,
"total_gas_spent_mist": 3569572764,
"n_self_sponsored_tx": 31,
"n_sponsored_tx": 0,
"gas_price_p50": 500,
"gas_price_p95": 505,
"active_hours_top24": [
14,
3,
9,
2,
1,
10,
17,
0,
8,
11,
7,
23,
5,
20,
18,
15
],
"primary_archetype": "casual",
"labels": [
"casual"
],
"label_confidence": [
0.7
],
"bot_score": 0,
"bot_signals": [],
"cex_label": null
}Tinted amber on the bubble map when they appear in the expanded graph.
Top active hours by UTC. Flat around the clock → no timezone signal (likely automated).