How CAKE.PAD Taxes Work in Overflow Sales – With Example
- Taxes are only charged if the CAKE.PAD event is oversubscribed
- 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
| Oversubscription Rate | Fee Tier |
|---|---|
| ≥ 0x | 1.00% |
| ≥ 50x | 0.80% |
| ≥ 100x | 0.60% |
| ≥ 150x | 0.50% |
| ≥ 200x | 0.40% |
| ≥ 250x | 0.30% |
| ≥ 300x | 0.25% |
| ≥ 400x | 0.20% |
| ≥ 500x | 0.15% |
| ≥ 650x | 0.12% |
| ≥ 800x | 0.10% |
| ≥ 1500x | 0.05% |
- 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
Section titled “Calculation Steps”-
User allocation = % of total CAKE.PAD partner token pool the user receives
user_allocation = user_deposit_amount / totalAmountPool -
User pay amount = Portion of the user’s deposit used to redeem CAKE.PAD partner tokens
user_pay_amount = raisingAmountPool * user_allocation -
Refund amount = Excess from the user’s deposit not used for CAKE.PAD partner token purchase
refund_amount = user_deposit_amount - user_pay_amount -
Tax amount = Deduction applied on the user’s refunded amount
- Fee tier is based on the % of raise goal (see table above).
tax_amount = fee tier * refund_amount -
Final output for the user
1. Token allocation = user_allocation * totalTokensOffered2. User tax amount = tax_amount3. final_refund = refund_amount - tax_amount (if applicable, else = refund_amount)
Numerical Example
Section titled “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:
user_allocation = 10 / 5,100 = 0.00196 (0.196% pool allocation)user_pay_amount = 100 × 0.00196 = 0.196 CAKErefund_amount = 10 − 0.196 = 9.804 CAKEtax_amount = 9.804 × 0.008 = 0.0784 CAKEfinal_refund = 9.804 − 0.0784 = ~9.72 CAKE
Final User received amounts
- Token allocation: 0.196 CAKE worth of CAKE.PAD partner tokens
- Final refund: ~9.72 CAKE (from 10 CAKE deposit − 0.196 CAKE for token allocation − 0.0784 CAKE tax)