NFT Packages
Access Prerequisites
- Permission (module):
manageToken - License/Feature: None specific (depends on the NFT feature being enabled on the tenant).
- Menu container: GENERAL → group Products → NFT Packages
What it is / when to use
Packages provide a random way to acquire NFTs (similar to a "booster pack"). Each package is composed of NFTs classified as Bronze, Silver, Gold, Platinum or Diamond. The operator defines how many packages exist, how many NFTs each class contributes, and how many NFTs come per package; upon purchase, the system draws the NFTs randomly within the configured classification.
The company defines:
- Number of packages available for sale.
- Which classes make up the package (minimum 1 type).
- How many NFTs of each class.
- How many NFTs per package.
The system picks NFTs randomly within the classification. If the package belongs to a category, only NFTs from that category enter the draw. It is never possible to choose specific NFTs, and the system does not consider whether the buyer already owns a given NFT.
Prerequisites
- Permission:
manageToken(CPM static enum + dynamic module in DB). - Dependencies: the NFTs (assets) for each class must already exist in the collection/category; wallets for commission must exist if they are used.
Step by step
- Go to Products → NFT Packages.
- The list displays name and current value; use the search to filter.
- Use Create to open the package wizard (sections: General, Media, Pricing, Wallets, Publication).
- Fill in the fields and save. On each row use View, Edit or Delete.
Fields
| Field | What it is | Required? | System/backend effect |
|---|---|---|---|
Short name (short_name) | Package name | Yes | Identifies the package in the store. |
Description (description) | Package text | No | Commercial content. |
Image / Media (url, photos) | Cover and gallery | No | Upload via files API. |
Category / Collection (category_id, collection_id) | Restricts the draw | No | When set, only NFTs from that category/collection enter the package. |
Number of packages (quantity) | Package stock for sale | Yes | Limits sales. |
Package size (package_size) | NFTs per package | Yes | How many NFTs the buyer receives. |
Composition by class (packages[]) | List {package_type, quantity} (Bronze…Diamond) | Yes | Defines the draw pool per class. |
Min./Max. per purchase (minimumToBuy, maxToBuy) | Limits per buyer | No | Restricts the purchasable quantity. |
Price (price) | Package value | Yes | BigNumber. |
Accept BNB / Coin (acceptBnb, acceptCoin, bnbPrice, coinPrice, bothMandatory) | Payment methods | No | Enables payment in BNB and/or coin; bothMandatory requires both. Prices BigNumber. |
Payment types (payment_types[]) | List {unitOfMoney, percentage} | No | Defines the accepted tokens and the split. |
Wallet commission (wallets_commission[]) | List {id, commission} | No | Splits commission to specific wallets. |
Enabled (enabled) | Package active | No | Default true. Deleting in practice sets enabled=false (soft-delete). |
Actions and modals
- Create / Edit: multi-section wizard. Saving persists the
NFTPackage. - Delete: sets
enabled=false(soft-delete viaupdateDetailsPackage) with bottom-sheet confirmation, then reloads the list. - View: opens the package in read-only mode.
Business rules / notes
Attention
- The draw is random within the class/category — there is no way to deliver a specific NFT.
- Delete is a soft-delete (
enabled=false), not a physical removal; the package disappears from the store but the history is preserved.
- Financial values: price,
bnbPriceandcoinPriceare BigNumber — no rounding.