Creating Products

A guideline on creating your Products

This chapter will guide you through the process of getting started with Subtopia. By following these steps, you will be able to create and manage on-chain subscriptions for your users.


Before you can use the platform, make sure you meet the following requirements:

  • Authenticate with one of the preferred wallet providers: Pera Wallet, Defly Wallet or passwordless login via Email.

Creating a new Product

To create a new Product, follow these steps:

Step 1: Select Subscription Type

Choose one of the two subscription types provided by the platform:

  1. Unlimited: This subscription never expires once purchased by your user. Users can transfer, delete, or vanity claim their pass to hold in their wallet.

  2. Time-based: Similar to Unlimited, but allows you to set a custom duration (day, week, month, quarter, half a year, a year). Users can delete it, resubscribe, or mint a renewal pass. If you set the price to 0, the platform won't charge you any extra platform fees and you can use it freely. A common scenario for selling 0 priced subscriptions could be, eligibility validation or building systems for gated access to communities, websites or projects.

Step 2: Provide Subscription Settings

Fill in the required information for your subscription settings:

  1. Product name: Enter a name for your product (e.g., "Not Netflix").

  2. Subscription name: Enter a name for your subscription pricing plan (e.g., "Not Premium").

  3. Unit Name: Custom name of a smallest unit of the Subscription ASA that is to be minted per each new subscriber. For examples, consider short yet descriptive names like "PASS", 'USDC', "TOKEN" and etc. Each pass minted will follow the pattern {Unit Name}-#{number of subscription mint}. Where number of subscription mint is a simple counter that is increment on each new subscription.

  4. ASA Image: To be customizable via platform soon, currently defaults to the "stock subtopia pass image".

  5. Asset: Pick an asset to use as a currency for accepting payments. Defaults to Algo, if you have opted-in assets on your wallets they will be presented on the input form. Any custom ASA with total bigger than zero is supported.

  6. Price: Enter a price, which should be at least 1 unit in the ASA type you choose or Algo.

  7. Max Limit: Optionally, set a maximum limit for items to sell. Upon reaching the limit, new users won't be able to subscribe unless someone else cancels their subscription, and the limit counter decreases. There are three counters: total sales, active, and max limit. The default value of 0 for max limit means no limit.

  8. Image: Optionally you can upload a custom image that is going to be stored on IPFS and used as a cover image on your product checkout page.

Step 3: Confirm Selection

Confirm your selection and sign two transactions:

  1. First transaction: Fee payment to activate or fund your locker account. A Locker is your escrow that will hold all revenue from sells of your subscriptions, you can withdraw ALGO or ASAs from it at any time you want.

  2. Second transaction: Call to Registry to deploy a new Product contract

After creating the Product, you will be presented with two cards showing how to embed interactions with your newly created Product using the JavaScript SDK available at or via HTML iframe embedding with an API call to

It is important to understand that each deployed Product application is a combination of Product and your individual Pricing plan. If you want multiple pricing plans you will need to deploy additional Contracts but with existing Product name pre-selected.

Next steps


Ensure you have enough funds to perform operations.

If you would like to report a bug send an email to or join the discord community server here.

Last updated