# How CAKE.PAD Taxes Work in Overflow Sales – With Example

1. Taxes are only charged **if the** CAKE.PAD event **is oversubscribed**
   1. Oversubscription = Total deposits by all users > Raise goal amount.
   * Tax is only deducted from participants' excess committed funds. No fees are paid by the CAKE.PAD partner project.
   * The CAKE.PAD partner project receives 100% of its targeted raise amount.
   * CAKE.PAD taxes are collected in CAKE, and 100% of it will be burned.
   * Fees are based on the **total subscription rate of the pool** (% of raise goal):

**Oversubscription rate <> Fee Tier**

<table data-full-width="false"><thead><tr><th>Oversubscription Rate</th><th>Fee Tier</th></tr></thead><tbody><tr><td>≥ 0x</td><td>1.00%</td></tr><tr><td>≥ 50x</td><td>0.80%</td></tr><tr><td>≥ 100x</td><td>0.60%</td></tr><tr><td>≥ 150x</td><td>0.50%</td></tr><tr><td>≥ 200x</td><td>0.40%</td></tr><tr><td>≥ 250x</td><td>0.30%</td></tr><tr><td>≥ 300x</td><td>0.25%</td></tr><tr><td>≥ 400x</td><td>0.20%</td></tr><tr><td>≥ 500x</td><td>0.15%</td></tr><tr><td>≥ 650x</td><td>0.12%</td></tr><tr><td>≥ 800x</td><td>0.10%</td></tr><tr><td>≥ 1500x</td><td>0.05%</td></tr></tbody></table>

2. **Time period – When is tax charged**

* Tax is charged at the **end of the** CAKE.PAD event, when the user redeems their allocation.
* Even if a user subscribes early (e.g., when the subscription is 30% of the raise goal), the final tax is based on the **final pool oversubscription level**.
  * Example: If the pool ends up at 50x over-subscribed, the applicable tax is the 50x tier (0.8%).

#### Calculation Steps

1. **User allocation** = % of total CAKE.PAD partner token pool the user receives

   ```jsx
   user_allocation = user_deposit_amount / totalAmountPool
   ```
2. **User pay amount** = Portion of the user’s deposit used to redeem CAKE.PAD partner tokens

   ```jsx
   user_pay_amount = raisingAmountPool * user_allocation
   ```
3. **Refund amount** = Excess from the user’s deposit not used for CAKE.PAD partner token purchase

   ```jsx
   refund_amount = user_deposit_amount - user_pay_amount
   ```
4. **Tax amount** = Deduction applied on the user’s refunded amount

   * Fee tier is based on the % of raise goal (see table above).

   ```jsx
   tax_amount = fee tier * refund_amount
   ```
5. **Final output for the user**

   ```jsx
   1. Token allocation = user_allocation * totalTokensOffered
   2. User tax amount = tax_amount
   3. final_refund = refund_amount - tax_amount (if applicable, else = refund_amount)
   ```

#### Numerical Example

* **Target raise (raisingAmountPool):** 100 CAKE
* **Your deposit (user\_deposit\_amount):** 10 CAKE
* **Total deposits incl. of Your deposit (totalAmountPool):** 5,100 CAKE (51x subscribed = 5,100% of raise goal, implies 50x oversubscription rate)
  * Corresponding fee tier = 0.80% (based on the tax rate table above)

**Steps:**

1. `user_allocation = 10 / 5,100 = 0.00196 (0.196% pool allocation)`
2. `user_pay_amount = 100 × 0.00196 = 0.196 CAKE`
3. `refund_amount = 10 − 0.196 = 9.804 CAKE`
4. `tax_amount = 9.804 × 0.008 = 0.0784 CAKE`
5. `final_refund = 9.804 − 0.0784 = ~9.72 CAKE`

**Final User received amounts**

1. **Token allocation:** 0.196 CAKE worth of CAKE.PAD partner tokens
2. **Final refund:** \~9.72 CAKE (from 10 CAKE deposit − 0.196 CAKE for token allocation − 0.0784 CAKE tax)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pancakeswap.finance/earn/cakepad/how-cake.pad-taxes-work-in-overflow-sales-with-example.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
