HELIX Docs
CLI & AI toolsCommand reference

helix product

Register world-local consumables, passes and currencies.

CLI version 0.1.27-helix3.551. Run helix product --help for the text your installed build prints.

helix product

Register world-local consumables, passes and currencies. Universal items use helix item distribution instead

helix product <command>

helix product register

Register a purchasable product on one of your PUBLISHED worlds — one round trip, live as soon as it returns

helix product register [options] <world-slug>
ArgumentRequiredDescription
world-slugyesthe world that sells it
OptionDescription
--title <title>name the purchase popup shows the player (max 120 chars) (required)
--price <lix>price in LIX; 0 registers a free "Claim" (a confirmation, no spend) (required)
--type <type>legacy world-local effect type: consumable (required unless you author --grants)
--grants <json>JSON array of world-local entitlements instead of --type: pass | currency, max 8 (e.g. '[{"kind":"currency","code":"coin","amount":500}]'; [] = a tip jar). Fixed at registration
--key <key>stable slug world code buys as pkey:<key> (max 64 chars, lowercase a-z0-9_-); it cannot be renamed later
--description <text>what the player is buying
--max-per-user <n>cap on how many one player may own (whole number >= 1)
--dry-runvalidate everything locally and print what WOULD be sent; no network, works logged out
--jsonmachine-readable output

helix product list

List a world's registered products, or — with no slug — every PUBLISHED world of yours and what it sells

helix product list [options] [world-slug]
ArgumentRequiredDescription
world-slugnothe world that sells them; omit for all your published worlds
OptionDescription
--jsonmachine-readable output

helix product update

Patch a registered product. The key and the type are fixed at registration — world code buys the key, and changing what a purchase hands over would re-label every copy already sold

helix product update [options] <world-slug> <product>
ArgumentRequiredDescription
world-slugyesthe world that sells it
productyesthe product key (or its uuid, if you registered it without a key)
OptionDescription
--title <title>new title
--description <text>new description
--price <lix>new price in LIX; 0 makes it a free "Claim"
--max-per-user <n>new per-player ownership cap (whole number >= 1)
--active <true|false>false takes it off sale — existing owners keep theirs, nobody new can buy it
--dry-runvalidate the patch locally and print what WOULD be sent; no network, works logged out
--jsonmachine-readable output

helix product set-active

Put a product on sale or take it off. The row stays either way, so past purchases and their grants keep resolving

helix product set-active [options] <world-slug> <product> <true|false>
ArgumentRequiredDescription
world-slugyesthe world that sells it
productyesthe product key (or its uuid)
true|falseyestrue puts it on sale, false takes it off
OptionDescription
--jsonmachine-readable output

On this page