# Create a Subscription

### Overview <a href="#overview" id="overview"></a>

This guide explains how to create a Subscription pool on Pinksale. Unlike standard presales or fair launches, the Subscription model uses an "overflow" method. Users commit funds (like BNB, ETH), and their final token allocation is based on their share of the total committed funds relative to the project's hard cap. Reading this will help you:

* Understand the Subscription (overflow) model and how token allocation works using **ratios**.
* Follow the step-by-step process to create a Subscription pool.
* Know the specific parameters required: HardCap Tokens, SoftCap Tokens, HardCap Per User, Whitelist option, Liquidity, Refund Type, etc.
* Understand important notes regarding fee exclusions and stablecoin usage.
* Complete the process by adding project info and finalizing the pool creation.

### How Subscription Pools Work (Overflow Method) <a href="#how-subscription-pools-work-overflow-method" id="how-subscription-pools-work-overflow-method"></a>

In a Subscription pool:

1. Users commit funds (e.g., BNB) during the sale period. They can commit more than the pool's hard cap (this is the "overflow").
2. At the end, the total committed funds from all users are summed up.
3. Each user's final allocation of the project token is calculated based on the **ratio** of their individual commitment compared to the total committed funds.
   * `User's Token Allocation = (User's Committed Funds / Total Committed Funds) * Total Project Tokens Offered (Total Selling Amount)`
4. The corresponding cost for their allocated tokens is deducted from their committed funds based on the **Subscription Rate**.
5. Users can then withdraw the remaining (unused) portion of their initially committed funds.

**Example:**

* Subscription Pool Offers (Total Selling Amount): 1,000 Project Tokens
* Subscription Rate: 1 Token = 0.1 BNB (meaning the target raise value is 100 BNB)
* User A commits 100 BNB.
* Total committed by all users: 1000 BNB (10x overflow).
* User A's commitment **ratio**: 100 BNB / 1000 BNB = 0.1 or 10%.
* User A's final token allocation: 10% of the 1,000 Project Tokens Offered = 100 Project Tokens.
* Cost deducted from User A: 100 Project Tokens \* 0.1 BNB/Token = 10 BNB.
* User A withdraws remaining committed funds: 100 BNB (committed) - 10 BNB (deducted) = 90 BNB.

> _Note:_ If a Hard Cap per user exists and high commitment causes users to hit it, their excess allocation potential passes to other participants based on their commitment ratios.

### Step 1: Verify Token <a href="#step-1-verify-token" id="step-1-verify-token"></a>

1. **Connect Wallet:** Ensure your wallet is connected to Pinksale on the correct network.
2. **Navigate:** From the homepage, click "Launchpads" => "Create subscription". You will be redirected to the subscription creation page.

![Create A Subscription 1](https://191452618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdJrJV-Z8jLCR-JNtlx%2Fuploads%2F4vDOY93V6IwKCIRahdip%2Fsubscription-1.png?alt=media\&token=0620ce0a-2b53-4365-985a-45a2ef031dd5)

3. **Token Address:** Input your token address (or create a new token using Pinksale's tools).

![Create A Subscription 2](https://191452618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdJrJV-Z8jLCR-JNtlx%2Fuploads%2Fp8fJm056afEkco6fvCjI%2Fsubscription-2.png?alt=media\&token=dec99712-1094-4617-861b-45fcf74eabc3)

4. **Currency:** Select the currency you want users to pay with (e.g., BNB, ETH, MATIC, or a corresponding stablecoin).
5. **Fee Option:** Choose a fee option for the pool creation.
6. Click "Next" to proceed to the next step.

> **Notes:**
>
> * If your token has transfer fees, rewards, or max transaction limits, ensure it has a function to [Exclude Fees, Dividends, Max Transaction Amount](https://docs.pinksale.finance/common-errors/exclude-fees-dividends-max-tx-on-bscscan) for the presale address.
> * Using stablecoins for raising funds typically works only with standard (non-taxed) tokens.

### Step 2: Input Subscription Pool Info <a href="#step-2-input-subscription-pool-info" id="step-2-input-subscription-pool-info"></a>

After verifying your token, define the parameters for your Subscription pool:

1. **Total Selling Amount:** Enter the **total amount of your project tokens** you want to sell in this subscription pool. This defines the sale's hard cap _in terms of your token_.
2. **SoftCap Tokens:** Enter the **minimum amount of your project tokens** that need to be allocated/sold for the pool to succeed. SoftCap must be **greater than or equal to 51%** of the Total Selling Amount.
3. **HardCap Token Per User:** Enter the **maximum amount of your project tokens** that any single contributor can receive as their final allocation.
4. **Subscription Rate:** Set the price for your token in the currency you are raising. For example, `1 BNB = 1000 YourToken`. This rate is used to calculate each user's final cost.
5. **Listing Rate:** Set the initial price for the token when it lists on the DEX. This is often the same or higher than the subscription rate.
6. **Whitelist:** Choose "Enable" if you want only whitelisted addresses to participate. You can typically manage the whitelist after pool creation.
7. **Router:** Select the DEX router for liquidity (e.g., PancakeSwap).
8. **Liquidity Percent (%):** Enter the percentage of raised funds that will be added to liquidity. Minimum 51%.
9. **Unsold Tokens Refund Type:** Choose how any _unsold tokens_ (if the SoftCap is met but HardCap isn't fully allocated) are handled: "Refund" (returned to owner) or "Burn" (sent to dead address).
10. **Start Time (UTC) & End Time (UTC):** Set the period for the subscription. These fields are optional.
11. **Liquidity lockup time (minutes):** Specify how long the DEX liquidity will be locked, in minutes.

![Create A Subscription 3](https://191452618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdJrJV-Z8jLCR-JNtlx%2Fuploads%2FP2OxUgGm099vTq90V8e5%2Fsubscription-3.png?alt=media\&token=f257b33a-b8fb-4739-a4e7-981d19ac58f7)

### Step 3: Add Additional Info <a href="#step-3-add-additional-info" id="step-3-add-additional-info"></a>

Provide details about your project for the subscription pool page:

1. **Logo** and **Website** are required fields.
2. For the **Logo** and optional **Banner**, you can either upload an image file or manually input a URL. The URL must resolve to an image resource (`.png`, `.jpg`, `.jpeg`, or `.gif`). You can also use the AI generator.
3. Fill in other relevant social media links (Facebook, X, Github, Telegram, etc.).
4. Click "Next" after entering the information.

![Create A Subscription 4](https://191452618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdJrJV-Z8jLCR-JNtlx%2Fuploads%2F2Lx4BAnDZo4tmbX445uo%2Fsubscription-4.png?alt=media\&token=159f7c3c-6db9-45ba-8a56-46f5e63632e3)

### Step 4: Finish <a href="#step-4-finish" id="step-4-finish"></a>

Review all your entered information carefully before submitting.

1. Check all details on the summary page. Go back to previous steps if changes are needed.

![Create A Subscription 5](https://191452618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdJrJV-Z8jLCR-JNtlx%2Fuploads%2FAs3iImYlPEl12QG9lsBv%2Fsubscription-5.png?alt=media\&token=92d3f2b6-9b2b-453b-9cb3-a283020a2406)

2. Click "Approve Spending Token" and confirm the transaction in your wallet (e.g., MetaMask). This allows Pinksale access to the tokens needed for the subscription sale. Ensure you have enough native currency for gas fees.

![Create A Subscription 6](https://191452618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdJrJV-Z8jLCR-JNtlx%2Fuploads%2FavBGwGHT9ma7JwYorOkV%2Fsubscription-6.png?alt=media\&token=c9e4c51d-8057-4345-874c-6d4199fd640e)

3. After the approval is confirmed, click the final "Submit" button and confirm the creation transaction in your wallet.
4. Your Subscription pool is now created!

![Create A Subscription 7](https://191452618-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdJrJV-Z8jLCR-JNtlx%2Fuploads%2FeNpWxhlduMtGWoPHvBiK%2Fsubscription-7.png?alt=media\&token=b82fbca2-6f00-4e94-8557-b7720906da2f)

> **Note:** You can use [Pink Lock](https://docs.pinksale.finance/pinklock/create-a-lock) to lock team tokens or other tokens and display this information via an editable tokenomic chart on your Subscription pool page.

### Q\&A (FAQs) <a href="#qa-faqs" id="qa-faqs"></a>

* **Q1:** What happens if the total committed funds are LESS than the equivalent value of the HardCap Tokens?
  * **A:** In this case, the pool still uses the overflow calculation. Each user gets tokens proportional to their commitment relative to the total committed amount. The price per token effectively remains the same as intended, but not all tokens offered (HardCap Tokens) might be sold if the pool didn't reach its full potential value. The outcome depends on whether the SoftCap Tokens amount was met.
* **Q2:** How is the price per token determined for deducting funds?
  * **A:** The price per token is set directly by you in the **Subscription Rate** field during pool creation. For example, you can set `1 BNB = 1000 YourToken`. This rate is then used to calculate how much of the raise currency to deduct from each user's commitment based on their final token allocation from the overflow calculation.
* **Q3:** Why is the SoftCap defined in Tokens, not the raise currency?
  * **A:** Because the final amount of raise currency collected can exceed the equivalent hard cap value due to the overflow mechanism. The success condition (SoftCap) is therefore based on ensuring a minimum amount of the offered _project tokens_ are successfully allocated/sold.
* **Q4:** When can users withdraw their unused committed funds?
  * **A:** After the project owner successfully finalizes the subscription pool (which happens after the sale ends and soft cap is met), users can typically visit the pool page, connect their wallet, and withdraw the portion of their committed funds that was _not_ used to pay for their final token allocation.

### Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* **Q:** My "Approve Spending Token" or "Submit" transaction fails.
  * **A:** Ensure you have sufficient native currency (BNB, ETH, etc.) for gas fees in your wallet. Check if your token contract requires fee exclusions for the presale address (Step 1 Notes) and if they have been set correctly. Network congestion or contract errors could also be factors; check the block explorer for error details.
* **Q:** I set the HardCap Token Per User, but users seem to be allocated more?
  * **A:** The HardCap Token Per User limits the _final allocation_ after the overflow calculation. Users can _commit_ more funds initially, but their received token amount will be capped at this value if their proportional share exceeds it.
* **Q:** Where do I set the price per token?
  * **A:** You set the price directly in the **Subscription Rate** field during the pool creation process (Step 2). This allows you to define how many of your tokens a user receives per unit of the currency you are raising (e.g., BNB, ETH).
