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
| Artifact | Access control | Technical requirement |
|---|---|---|
| Native plug-in | License activation in the plug-in shell | A release build with licensing bound to the module's Studio project |
| Sampler bank | Download requires a purchase while the bank is on sale | Every sample must allow redistribution |
| Browser module | Account entitlement on the module page | A published release |
| Free module, bank or face | None | A 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:
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:
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:
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.