# 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="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2FjHLtgwGHIBqcufyvBSf3%2F1%E9%93%BE%E6%8E%A5%E9%92%B1%E5%8C%85.png?alt=media&#x26;token=0e379065-88a4-47ec-a88a-ceb9231cb556" 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="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2Fy1Zhq4JrCNjIwL9cPolk%2F2%E5%8F%82%E6%95%B0%E5%A1%AB%E5%86%99.png?alt=media&#x26;token=86b5cc55-2ba7-47f7-9c65-594a74827964" 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="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2FbmOot1XHm3mTpuMXsokH%2F3%E5%88%9B%E5%BB%BA%E5%90%88%E7%BA%A6.png?alt=media&#x26;token=0f19b01d-76bd-4b50-b5e6-763b5a061aff" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2FgOW1OamtTse6O2wE8o2z%2F4%E5%88%9B%E5%BB%BA%E5%90%88%E7%BA%A6.png?alt=media&#x26;token=c865bda8-6d0f-4a8f-891f-ea48756de286" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2F1VJ7Wf1oFdTBEoXWuD2o%2F5%E6%8E%A7%E5%88%B6%E5%8F%B0.png?alt=media&#x26;token=efb5dc91-5908-4770-b6bd-36549fc612c3" 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="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2FI7SvXrVcfr2i2iIwvyyl%2F6%E5%A4%8D%E5%88%B6%E9%93%BE%E6%8E%A5.png?alt=media&#x26;token=b479768d-e52d-49ed-9fa5-0af32d94449d" 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="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2FB4vvBLCsjwRSiAhd5cXl%2F7%E5%BC%80%E5%90%AF%E9%A2%84%E5%94%AE.png?alt=media&#x26;token=b6c8b1a8-a4f5-4ede-845b-d2166913f9b1" 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="https://3429323453-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzBn8ubMM82V3XXcAjE7u%2Fuploads%2Fg9DV7ETQAIRzKF77S39O%2F8%E6%8F%90%E5%8F%96%E4%BB%A3%E5%B8%81.png?alt=media&#x26;token=f623634d-b3e7-4a99-9b65-e542fdc43aab" 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>
