On this pageWhat each artifact needs

Sell and share

Technical setup for distributing what you build: plug-in license activation in release builds, the face license prop, testers and status, sampler bank access, and publishing commands.

This page covers the technical side of distributing a module or bank: licensing in builds, what your code sees, and the commands involved. Selling policy (pricing, creator share, refunds, payouts and early access) lives in the Help Center: Sell your creations on Maru, Licenses and product access and Your creator dashboard and earnings.

What each artifact needs

ArtifactAccess controlTechnical requirement
Native plug-inLicense activation in the plug-in shellA release build with licensing bound to the module's Studio project
Sampler bankDownload requires a purchase while the bank is on saleEvery sample must allow redistribution
Browser moduleAccount entitlement on the module pageA published release
Free module, bank or faceNoneA published release; optionally the Maru Remix License

Plug-in licensing

Link the module to a Studio project, turn licensing on and make a release build:

sh
maru module deploy
maru module license on --seats 3 --trial 14
maru plugin build --release

license on writes the binding into package.json (or plugin.config.json) under the module's id. Commit it. Only release builds include licensing; maru dev, development builds and format checks process audio without activation. A release build refuses to compile without Maru's public signing keys, so a forged license cannot activate it.

The plug-in shell draws its own activation badge and panel. A face that wants its own presentation reads the optional license prop, which is present only in a licensed native build:

tsx
import type { AudioModuleFaceProps } from "maruaudio/contracts"

export function Face({ license }: AudioModuleFaceProps) {
  if (license?.state.status === "trial")
    return <button onClick={license.activate}>Trial · {license.state.daysLeft} days left</button>
  return null
}

Testers and status:

sh
maru module license grant tester@example.com
maru module license revoke tester@example.com
maru module license status

status reports settings, seats, trials, activations and refusals by format, in aggregate only. Plug-in licensing has every state, flag and action.

Publishing

maru module check and maru module eval validate the contract, face, build and audio health. maru module pack prepares a versioned Release without uploading it. See Publishing, Check, build and export and Package and release audio plug-ins.

Release builds are currently available to developers in the selected-developer beta.