Skip to content

Package Map

The Miso Music Protocol and its extensions are split into small Sui Move packages. Start with misofm/music-protocol for composition, recording, release, share types, and release consent. Add only the packages your product needs. Each repository has its own Move.toml, source revision, license, and published package IDs.

music-protocol-extensions contains independently versioned packages. They attach typed dynamic fields to a core object’s UID. Writes require the corresponding admin capability; the extension defines its own read and update API. A title or classification can change after core publication.

Package Object Adds
composition_title Composition Preferred title
composition_credits Composition Writer and publisher credit by Party ID
composition_lyrics Composition Language-keyed, compressed lyrics
recording_version Recording Take or version label
recording_credits Recording Artist, performance, and production credits
recording_advisory Recording Explicit/clean advisory status
recording_genre Recording Ordered genres
recording_language Recording Ordered languages or instrumental indication
release_title Release Preferred title
release_cover_art Release Cover art and optional track overrides
release_credits Release Top-line artist billing
release_description Release Editorial description
release_genre Release Ordered genres
release_kind Release Album, EP, mixtape, or other label

Pin a specific repository commit and the package subdirectory, for example:

[dependencies]
release_title = { git = "https://github.com/misofm/music-protocol-extensions.git", subdir = "release_title", rev = "<40-character-commit>" }
Package Role
share Validates and fixes each work’s canonical share coin supply. Called by core work constructors.
recording-license Optional standing policy and a recording-share stake representing the composition’s agreed cut. Read the guide.
royalty-pool One derived pool per work and payout currency; registered share stakes receive royalties. Read the guide.
release-revenue-forwarder Release-to-recording payout forwarding. Check its pinned core version and split policy before use.
pay Typed payments to compositions, recordings, or releases with receipt events.
crank Processes record-sale revenue into claimable royalties.
streaming Prepaid streaming and settlement contracts, with an SDK and example app.
Package Role
party-protocol and party-protocol-extensions Party identities and optional party data used by credits.
credit Shared credit data type used by attribution extensions.
vault, vault-plugins, and party-protocol-actions Capability custody and composed administrative workflows.
record and record-extensions Numbered editions and purchased Records, plus first-party extensions.
record-shop Fixed or floor price Record listings and purchases.
release-track-data Data aligned to a release’s track list.
release-track-iterator Iteration over the release track list for composition in Move.
genre and cover-art Reusable genre vocabulary and artwork primitives.

This is a source map, not a claim that each main branch or deployed generation is mutually compatible. Read each dependency pin and the relevant Published.toml before building a multi-package transaction. Package license terms also differ: the core is Apache-2.0, while several extensions use FSL-1.1-ALv2; follow each repository’s own license.

Sources: core, extension inventory, and the linked package repositories.