> For the complete documentation index, see [llms.txt](https://help.pandatool.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.pandatool.org/english/presale/donatemint.md).

# Donation Presale Creation Guide

## Donation Presale Feature Explanation

### **What is a Donation Presale?**

A fundraising model where a percentage of presale proceeds (BNB/ETH/tokens) is automatically donated to influencer wallets (e.g., Vitalik’s Wallet) to generate marketing buzz.

### Mint Features:

* 🔒 **No Frontend Needed**: Pure contract operations
* 💸 **Transfer-to-Participate**: Users send Native Token(BNB/ETH) → Auto-receive tokens
* ⚙️ **Dynamic Adjustments**: Modify price/supply post-launch via console
* 🚫 **No Caps**: Limited only by total allocation (slots × tokens/slot)

### **Key Features vs Simple Presale**:

* ✅ **Influencer Integration:** Portions of funds flow to high-profile addresses for narrative building.
* ✅**No Manual Marketing:** Auto-donations create organic social traction.

### **Pre-Launch Checklist**

⚠️ **Critical Risks**:

* **Influencer Dumping**: Design safeguards against sudden sell-offs (e.g., vesting schedules).
* **Token Contract**:
  * Whitelist presale contract
  * Disable trading if manual controls exist
* **Avoid ERC20 standard tokens:** Pre-sale users may create liquidity after obtaining tokens, making pre-sale impossible

## **Step-by-Step Creation Tutorial**

### **1. Connect Wallet**

Access: <https://www.pandatool.org/#/presale/mintAddSale?lang=en-US>

* Select chain (BSC/Base/ETH)
* Confirm connection via MetaMask

<figure><img src="/files/rjrmKhXoRvBJrqI9XaSk" alt=""><figcaption></figcaption></figure>

### **2. Configure Presale Parameters**

| Parameter                  | Rule                                                  | Example               |
| -------------------------- | ----------------------------------------------------- | --------------------- |
| **Presale Name**           | English only                                          | "LiquidityLaunch"     |
| **Token Contract**         | Verified address                                      | 0x123...              |
| **Price Per Unit**         | ≥0.001 BNB/ETH                                        | 0.05 BNB              |
| **amountPerUnits**         | Tokens Per Slot=Allocations per purchase              | 1,000                 |
| **mintLimit**              | Total slots (≤ token supply)                          | 500                   |
| **accEachLimit**           | Max Slots/Tx ，Purchases per transaction               | 10                    |
| **accMintLimit**           | Max Slots/Wallet，Purchases per address(≥accEachLimit) | 50                    |
| **Donation BNB/ETH ratio** | 0-100% to influencer wallet                           | 20% → 0.0002 BNB/slot |
| **Accept BNB/ETH address** | Influencer wallet (e.g., Vitalik’s\*)                 | 0xd8da...a96045       |
| **donateTokenPart**        | 0-100% to influencer wallet                           | 20% → 20 tokens/slot  |
| **Receive Token Address**  | Influencer wallet (e.g., Vitalik’s\*)                 | xd8da...a96045        |

<figure><img src="/files/pEmCZ3LderATOebxzZNP" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
*Vitalik’s Wallet: 0xd8da6bf26964af9d7eed9e03e53415d37aa96045*
{% endhint %}

* **Presale Name:**\
  Give your presale a name (e.g., "Presale"). Only English names are supported.
* **Presale Token Address:**\
  The token contract address of the token you wish to presale (provided that tokens exist).
* **Price Per Share:**\
  The price per presale share. The minimum unit is 0.001 (BNB or ETH).
* **AmountPerUnits:**\
  The number of tokens contained in each share.
* **mintLimit:**\
  The total number of shares available for presale (ensuring that amountPerUnits × mintLimit ≤ total token supply).
* **accEachLimit:**\
  The maximum number of shares that can be purchased in a single presale transaction.
* **accMintLimit:**\
  The maximum number of shares a single wallet can purchase (accMintLimit must be less than accEachLimit).
* **Donation BNB/ETH Ratio:**\
  The percentage (from 0 to 100) of the presale BNB/ETH that will be donated to a specified address.
* **Donation Token Ratio:**\
  The percentage (from 0 to 100) of the presale tokens that will be donated to a specified address.
* **Celebrity Wallet Address:**\
  The address to which donations will be sent (for example, Vitalik’s wallet address: 0xd8da6bf26964af9d7eed9e03e53415d37aa96045).

#### **3. Deploy Contract**

Click **"Create Contract"** → Confirm via MetaMask (gas fee required)

<figure><img src="/files/o8hrqQwPQkMCDzYvnBmY" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/zkBBRUFY1F7RmDnEA3IH" alt=""><figcaption></figcaption></figure>

### **4.Presale Dashboard Controls**

Access: <https://www.pandatool.org/#/presale/console?lang=en-US>

<figure><img src="/files/ZUg36iv2VY8G9nuc9U4l" alt=""><figcaption></figcaption></figure>

#### **Presale Controls**

1. **Transfer Ownership**:\
   Assign contract ownership rights to another address. *Before transferring, copy the console link - new owners must access via this link.*

<figure><img src="/files/btbvFY9uTfdxINJagV9x" alt=""><figcaption></figcaption></figure>

2. **Enable Trading**:\
   Click **"Start Presale"** → Confirm via wallet to activate token sales.
3. **Clamis Token**:\
   Extract all BNB/ETH and remaining tokens from the presale contract.

#### **Parameter Control**

| Function                   | Action                                                     |
| -------------------------- | ---------------------------------------------------------- |
| **Modify setPrice**        | Modify presale price (min 0.001 BNB/ETH)                   |
| **setamountPerUnits**      | Update token allocation per purchase                       |
| **setMintLimit**           | Modify Total Slots，Increase/decrease total available slots |
| **Modify accEachLimit**    | Limit purchases per transaction (e.g., 10 slots/tx)        |
| **Modify setAccMintLimit** | Cap purchases per wallet (must ≥ Max Slots/Tx)             |

#### Donation Control

| Category                        | Function                                                 |
| ------------------------------- | -------------------------------------------------------- |
| **Modify Accept BNB Address**   | Change the address that receives the donation of BNB/ETH |
| **Modify Donate BNB Ratio**     | Adjust the percentage for BNB/ETH donations              |
| **Modify Accept Token Address** | Change the address that receives the token donations     |
| **Modify Donation Token Ratio** | Adjust the percentage for token donations                |

### **5. How Does Presale Start and End?**

1. **Whitelist:**\
   After the presale creation is successful, add the presale contract address to your token contract’s tax whitelist.
2. **Starting the Presale:**\
   In the presale console, click Start **Presale**. You will be prompted for two confirmations:
   * The first prompt is for authorization confirmation.
   * After successful authorization, a second wallet prompt will appear, asking you to transfer sufficient tokens into the presale contract address.
   * Once the tokens are transferred, you will receive a confirmation that the presale has started, and you will see that the tokens are now in the contract.<br>

<figure><img src="/files/z7Laq5wUjqvss1BRt1uy" alt=""><figcaption></figcaption></figure>

3. **Ending the Presale:**

* If you wish to end the presale early, simply use the **Claims Tokens** function to withdraw all tokens from the presale contract. This will prevent any further presale transactions.

<figure><img src="/files/5EAgJguBctbgSZLdPGNj" alt=""><figcaption></figcaption></figure>

## FAQ & Troubleshooting

**Q: Donation Ratio Limits?**\
A: 0% (no donation) to 100% (full proceeds to influencer).

**Q: BNB vs Token Donations?**

* **BNB/ETH Donation**: Reduces project treasury funds.
* **Token Donation**: Reduces user rewards.

**Q:Why Presale Launch Fails?**

1. **Insufficient Token Balance**:
   * Required: `Tokens/Slot × Total Slots` (e.g., 10,000 tokens)
   * Actual: Wallet holds < required amount → Presale fails
2. **Whitelist Exclusion**:
   * Presale contract address **not whitelisted** in token contract
3. **Holding Limit Exceeded**:
   * Token contract imposes max wallet holdings < presale allocation

**Q:Why User Purchases Fail Post-Launch?**

| Issue                 | Solution                                                                    |
| --------------------- | --------------------------------------------------------------------------- |
| **Below Min Price**   | Users must send ≥ Price/Slot (e.g., 0.03 BNB) → Excess refunded             |
| **Low Gas Fee**       | Increase gas limit/priority                                                 |
| **Slot Exhaustion**   | Contract has 0 remaining tokens → Adjust Total Slots (if permissions allow) |
| **Incorrect Limits**  | Ensure `Max Slots/Wallet` ≥ `Max Slots/Tx`                                  |
| **Presale Completed** | All slots filled → Modify Total Slots via dashboard (if admin retained)     |

**Q:Can Presale Be Conducted Using wBNB or USDT?**

❌ **Native Tokens Only**:

* BSC: **BNB**
* Base: **ETH**

**Batch Purchase Rules**

* **Full Multiples**:\
  `0.06 BNB (2 slots) → 200 tokens`\
  `0.09 BNB (3 slots) → 300 tokens`
* **Partial Amounts**:\
  `0.04 BNB → 100 tokens + 0.01 BNB refund`\
  `0.07 BNB → 200 tokens + 0.01 BNB refund`

**Presale Limits**

| Type        | Rule                                    |
| ----------- | --------------------------------------- |
| **Minimum** | ≥ Price/Slot (e.g., 0.001 BNB/ETH)      |
| **Maximum** | Per transaction & per wallet caps apply |

If you have further questions, you can join our community for support:<https://t.me/pandatool_en>
