Connecting on-chain
Presale

Intermediate · 7 min read

Tax-Free LP, end to end

How the BescPad Tax-Free LP helper works mechanically, why it's safe (it can't be abused), how a token creator opts in, how a holder uses it, and what the badge actually means when you see it on a token.

The problem it solves

Taxable tokens apply a buy / sell fee on every transfer. That's the point — the fee funds marketing, auto-liquidity, burn, or holder rewards depending on how the token is configured.

But the same fee applies to adding liquidity. When someone tries to deposit, say, 1,000 tokens into the DEX pool to grow LP depth, the token's transfer hook trips at the moment the LP router pulls those 1,000 tokens. The pool ends up funded with ~950 (if the tax is 5%), and the missing 50 goes into the fee bucket like any other trade.

Three problems with that:

  • Holders rarely add LP. They'd rather not eat the tax just to deepen the pool.
  • The pool stays thin. Thin pool = high volatility = scares off new buyers.
  • Auto-LP only grows the pool from trades. Which is slow, and stops the moment volume dies.

The Tax-Free LP helper fixes this without removing the trade tax itself.

How the helper works

BescPad deploys a single, public helper contract on BESC HyperChain — the BescPad LP Helper. Token creators opt their token in by adding the helper to that token's fee-exemption whitelist with one transaction:

On your token: setIsFeeExempt(helperAddress, true)

That's the entire setup. Once that flag is set, the helper contract can move your tokens through the LP-add path without triggering the trade tax. Holders interact with /tax-free-lp; under the hood, the tool calls the helper, which calls the BescSwap router, which creates the LP.

The helper supports both pair types BescSwap allows:

  • Native BESC pair — user supplies token + BESC, helper deposits both into the Token/WBESC pool.
  • ERC20 pair — user supplies token + FUSD (or BUSDC, etc.), helper deposits both into the Token/ERC20 pool.

The helper itself charges no fees, holds no funds between calls, and refunds any rounding dust to the caller in the same transaction.

Why it can't be abused

The first question anyone with a security brain asks: "If you exempt a contract from your token's tax, can't anyone use that exemption to dodge the tax on regular trades?"

Answer: no, because of how the exemption works.

The exemption is address-specific. Only the BescPad LP Helper contract address is exempt — not a role, not a function selector, not a path. Every other contract on the chain (BescSwap router, MetaMask, every other DEX, every aggregator) still pays the tax when it touches your token.

For the exemption to apply, the helper contract has to be on at least one end of the transfer. The helper's only public functions are LP-add functions. There's no swap(), no transfer() passthrough, no generic call — the only thing the helper does is take your tokens, pair them, and deposit them as LP to the pool address. There is no path where a regular trade can route through the helper.

If you (token creator) ever want to revoke the exemption, you call setIsFeeExempt(helperAddress, false) on your own token. The exemption is fully under your control.

For token creators — opt in

If you deployed your token through the BescPad factory and want holders to add LP without paying your token's trade tax, here's the full opt-in procedure.

Step 1: Open /tax-free-lp

Connect the wallet that owns the token. If you've already renounced ownership, you can't opt in — the exemption requires setIsFeeExempt which is owner-only on the standard token template.

Step 2: Register your token

Paste your token's contract address. The tool reads the helper's address from on-chain and prepares the registration transaction.

Step 3: Sign the exemption transaction

One transaction that calls setIsFeeExempt(helperAddress, true) on your token. Gas is minimal. Once confirmed, your token appears in the /tax-free-lp directory and the Tax-Free LP badge starts showing on your token across the BescPad UI.

Step 4: Tell your community

Point holders at /tax-free-lp and explain what it does. Most communities respond well to this — it removes a real friction from supporting their token without removing the tax that funds the project.

For holders — add LP through the tool

If a token is registered (badge showing), you can add liquidity to its pool without paying the trade tax:

  1. Open /tax-free-lp. Connect your wallet.
  2. Pick the token. Browse the registered list or paste a token address. Only tokens that have actually opted in show up — the tool checks the on-chain exemption flag before letting you proceed.
  3. Pick the pair currency. BESC (most common) or one of the supported ERC20 pairs (FUSD / BUSDC / etc.) depending on what the token is paired against.
  4. Enter your token amount. The tool reads the current pool ratio and auto-calculates the matching BESC (or ERC20) amount you need. You're not paying for any extra friction — the price is whatever the pool's mid-price is right now.
  5. Approve + add. Two transactions (token approval to the helper, then the LP-add call). The helper pulls both sides, deposits them into the BescSwap pool, and you receive LP tokens in your wallet. Trade tax: zero.

If the same workflow had been done via BescSwap's UI directly, your contributed tokens would have been taxed (typically 5-15%) and the pool would have received only the post-tax amount. Through the helper, the full amount goes in.

"Add & burn" variant for max trust

The helper has a second function pair: add LP and immediately burn the resulting LP tokens. This sends the LP straight to 0x000...dead in the same transaction.

Burning LP makes the contributed liquidity permanently un-rugable. Nobody — not even the team — can withdraw it. It's the strongest trust signal you can ship.

Two reasons holders use the burn variant:

  • "I support this project long-term." Adding LP and burning is a vote of confidence that's verifiable on-chain.
  • Treasury operations. A team that wants to grow LP without retaining custody (or paying a separate locker fee) can use the burn variant to push LP into the dead address in one step.

The burn happens inside the same transaction as the LP-add, so there's no window during which the LP tokens could be moved elsewhere. /tax-free-lp exposes the burn variant as a separate button in the UI.

What the Tax-Free LP badge actually means

When you see 🌊 Tax-Free LP on a token in the swap, presale page, or token list, it means exactly one thing: the token creator has whitelisted the BescPad LP Helper contract as fee-exempt on their token. Holders can add LP via /tax-free-lp without paying the trade tax.

Things the badge does not mean (worth being explicit because crypto badges get misread constantly):

  • The token is not tax-free to trade. Buying and selling still pay the trade tax exactly as the token's contract specifies.
  • Adding LP via any other DEX (BescSwap UI, PancakeSwap, any aggregator) still pays the tax. The exemption is tied to the helper contract specifically.
  • It's not an audit or security signal. It's a creator-set flag that costs one transaction. A scam token can ship with it just as easily as a serious project.
  • It's not a guarantee of locked LP. The LP that gets added still needs to be locked or burned separately for full trust — see the locking guide.

What it is: a real, useful UX win for holders of taxable tokens whose creator cares about LP depth. Read it as that, no more, no less.

Common pitfalls

  • Renounced ownership = can't opt in. setIsFeeExempt is owner-gated. If you've already renounced, the exemption can't be added retroactively. If you're planning to use Tax-Free LP, opt in before you renounce.
  • The exemption is one-way. The helper has to be on your token's exemption list. The reverse isn't needed and doesn't make sense — the helper exempts no one.
  • Pair must exist already. The helper deposits into an existing pair contract. If the pair doesn't exist yet, create it once via BescSwap (any small initial deposit works) before pointing the helper at it.
  • Don't approve max for life. The tool defaults to approving exactly the amount you're depositing. If you set "approve max" in the wallet prompt, the helper retains spending rights on your full balance until you revoke. The helper code is public and reviewable, but the principle of least privilege applies regardless.
  • It's per-token. Opting in on Token A doesn't opt in Token B. Each token's creator has to register independently.

FAQ

Why is Tax-Free LP only available through one tool?

Because the exemption is tied to one specific contract address — the BescPad LP Helper. Any other contract on the chain (including the BescSwap router used by the BescSwap UI) still pays the token's trade tax. That tightness is what makes the exemption non-abusable.

Is the helper contract owned by BescPad?

Yes. The helper has an owner-only rescue* escape hatch as belt-and-braces in case anyone accidentally sends tokens directly to the helper (it's not designed to hold funds — every legit call moves tokens in and out in the same transaction). Rescue only recovers stuck tokens; it can't drain ongoing user funds because the helper never holds them.

Can I add LP to a token that hasn't opted in?

No — the tool checks the on-chain exemption flag and won't show tokens that haven't whitelisted the helper. You can still add LP to those tokens directly through BescSwap; you'll just pay the trade tax.

Does Tax-Free LP work for standard (non-taxable) tokens?

Yes, but it doesn't matter for them — standard tokens have no trade tax, so adding LP through the helper and adding via any other route produce identical results. The tool is most useful for taxable and reward-token launches.

Can I revoke the exemption later?

Yes — while you still own the contract. Call setIsFeeExempt(helperAddress, false) on your token. Once you renounce ownership, you can't revoke (or grant) anything ever again.

Does the helper take a fee?

No. The helper charges no fees of its own. The only cost is the chain gas for the approve + add transactions. Rounding dust (when the pool ratio doesn't perfectly match what you supplied) is refunded to you in the same transaction.

What happens to the LP tokens?

They go to your wallet (the caller), unless you used the "add & burn" variant, in which case they go straight to 0x000...dead. The helper never retains them.

Connect Wallet
Connecting to BESC Hyper Chain (ID 2372)
🎁 The Big Crypto Giveaway
CRYPTO
MAGAZINE
What Would You Do
With $6 Million?

The biggest crypto giveaway in history. 10% of CMC Group's Liquid platform revenue for 6 months, up to $1M per month going to one lucky winner.

Powered by CMC Group & Crypto Magazine
🎯 Enter The Giveaway
Opens in a new tab — completely free to enter