Skip to content
⌘K

Contracts

Smart contracts

The Sui Move packages behind Rare Marketplace, the launchpad, Rarelings and Rare Trophies, with their live package ids and status.

Rare runs on four Sui Move packages. Each one is its own package with its own upgrade path, so you can integrate with one without depending on the others. All of them are written in Move 2024 and work with the standard Sui kiosk and TransferPolicy model.

Status

The packages are built, unit tested and rehearsed end to end on a local fork of Sui mainnet. They are not on mainnet yet. Each package's id appears on this page and on its own page as soon as it is published. Until then, the status below reads "Not yet live on mainnet".

When a package is upgraded, its call target (the latest package id) changes, but its original id does not. Event types and object types always use the original id. Build calls against the latest id and filter events by the original id.

Packages

Marketplace (market)

Trading on Rare Marketplace: fixed-price listings for kiosk and wallet items, item, collection and trait offers, offer pools, item swaps, raffles, bundles and the crate shop. One shared Config holds the fee rates and treasury. Every order is its own shared object.

Not yet live on mainnet The package id appears here once the package is published.

Launchpad (launchpad)

Collection launches. A creator publishes a small marker package and gets a collection with its own token type Nft<C>, mint phases in any coin, allowlists, sequential or fair random mints, reveal and verified traits. Tokens trade on the marketplace like any other collection.

Not yet live on mainnet The package id appears here once the package is published.

Rarelings (rarelings)

999 Rareling NFTs. Each one is one share of a contract-held liquidity vault. Minting adds to the vault, burning pays out the holder's share, and royalties compound back into it.

Not yet live on mainnet The package id appears here once the package is published.

Trophies (rare_trophies)

Soulbound game trophies for Rare OS. Studios issue trophies with a per-game cap, Rare can sign attestations for self-reported unlocks, and a shared profile per player tracks points and tiers.

Not yet live on mainnet The package id appears here once the package is published.

Conventions shared by all packages

  • Amounts are in base units of the coin: MIST for SUI (1 SUI = 10^9 MIST), 10^-6 for USDC.
  • Shared objects are passed as normal object inputs. The TypeScript SDK resolves initialSharedVersion for you.
  • Pauses never lock funds. Admin pauses stop new orders, mints or unlocks. Cancels, refunds, withdrawals and payouts never take the pause switch.
  • Upgrades are versioned. Shared objects carry a version. After an upgrade, a migrate call retires the old code, and older code refuses newer objects.
  • Admin caps (fee changes, pauses, moderation) and upgrade caps are handed to a multisig after publishing. Fee changes on the marketplace and launchpad go through a 48 hour timelock.
  • Events are stable: field order never changes. Decode them from BCS with the layouts on each page, since JSON rendering differs between RPC providers.

Pages

--
TPS:--