Forced token destruction upon sale, draining the liquidity pool of TENDRIL
The Cryptonomist
58m ago
Ai Focus
On November 4th, a previous sale on BNB Chain triggered the token destruction of TENDRIL, nearly emptying the liquidity pool on the TENDRIL side and facilitating an exchange that removed nearly 4.42 million USDT. The article states that the net outflow from the transaction was 555,670.538752928908475139 USDT, which is lower than the final swap output, as there had already been a large inflow of USDT in the same transaction prior to that.
Helpful
No.Help

A token destruction triggered by a sale almost emptied the balance on the TENDRIL side of the TENDRIL liquidity pool on BNB Chain on November 4, 2026, and facilitated an exchange that removed nearly 4.42 million USDT. The net outflow from this transaction was smaller, at 555,670.538752928908475139 USDT, as there was already a large inflow of USDT in the same transaction.

How does selling trigger token destruction?

Before the remaining TENDRIL of the seller was added to the liquidity pool, a controller was invoked first. At UTC time 16:02:45, the transferFrom of the router initiated a sale of 39,053,180,124.060957132414461269 TENDRIL, which triggered the taxes and controller logic for that token.

A 30% selling tax will be charged on transfers into the main pool, except when sent from the two configured addresses _poolControl and _markControl. The contract executing this transaction does not meet these exemption conditions. Therefore, the tokens are first sent to _poolControl in the amount of 11,715,954,037.218287139724338380 TENDRIL.

Subsequently, the token calls the controller's sellToken function, passing in the original quantity sold, not just the tax amount. This call is completed before the token records the remaining 70% into the pool.

The order displayed in the historical call trace is: transferFrom, sellToken, controlburn, and sync, followed by the final swap. The controller's opcode trace confirms that it multiplies the original sell quantity by 2 to determine the exact amount that is subsequently removed from the pool.

controlburn Removing tokens from the pool without reducing the total supply

The controlburn function transfers TENDRIL from the pool balance to a dead address, but it does not reduce the total supply of tokens, nor does it destroy the tokens of liquidity providers.

Its permission check requires that the caller must match with _poolControl. Once authorized, it uses _basicTransfer to deduct tokens from the pool's balance and record them as dead addresses. There is no pool authorization or liquidity withdrawal involved here: the token contract directly controls its own balance records.

Log 28 records the removal of 78,106,360,248.121914264828922538 TENDRIL. This leaves only 6,678 original units in the pool. Calculated to 18 decimal places according to TENDRIL, the remaining amount is merely 0.000000000000006678 TENDRIL.

This destruction did not also remove USDT. Almost all of the TENDRIL balances disappeared, while the USDT in the pool can still be used for the next exchange.

Abandoning ownership did not prevent this path from being used. In block 131653426, which precedes the event, owner () returns a zero address. However, controlburn checks for a configured controller, rather than owner (), so the permissions for this path are still valid. This function is not open to everyone; any caller will fail the authorization check.

Reserve reset allows for almost all USDT to be withdrawn.

The controller immediately calls sync () after destruction. Before the remaining sold tokens arrive, it records the token balance after clearance. Log 29 sets the reserve to 4,421,023.357469283419586501 USDT and 0.00000000000006678 TENDRIL.

Subsequently, 27,337,226,086.842669992690122889 TENDRIL entered the pool. In the end, swap transferred out 4,421,023.357469283419586499 USDT, leaving only 0.000000000000000002 USDT.

The constant product formula can explain this output scale. Ignoring transaction fees and rounding for example, the output of USDT can be calculated by multiplying the USDT reserve by the token input, and then dividing by the sum of the token reserve and the token input. When the recorded token reserve is almost zero, the input term dominates the denominator, and the output will be close to the entire USDT reserve.

However, the amount ultimately withdrawn this time is not the net amount of the entire transaction taken from the pool. The total outflow was 5,117,517.824288279504509510, while the total inflow was 4,561,847.285535350596034371. Subtracting the two amounts results in a net outflow of 555,670.538752928908475139.

The contract code and historical trajectory have restored the entire sequence.

The token destruction triggered by this sale was reconstructed through the source code verified by a blockchain browser, historical calls, event logs, and the opcode trail. After using Solidity, v0.8.24, and commit.e11b9ed9 and recompiling without optimization, the executable runtime code obtained on block 131653426 is consistent with the contract bytecode, except for the compiler metadata.

The decoded destruction parameters are exactly consistent with the number of tokens transferred from the pool to dead addresses. Integer calculations also correspond to the tax amount, remaining sellable tokens, and reserve balance. The total supply remains unchanged between adjacent blocks before and after the transaction.

This successful transaction occurred in block 131653427. The receipts, verified through two public BNB Chain RPC endpoints, matched, and upon recheck on November 6, 2026, the flow at the address level indicated by USDT also corresponded perfectly.

This article was generated with the assistance of artificial intelligence and has been reviewed by an editorial team.

Tip
$0
Like
0
Save
0
Views 28
WalletJYS reminds readers to view blockchain rationally, stay aware of risks, and beware of virtual token issuance and speculation. All content on this site represents market information or related viewpoints only and does not constitute any form of investment advice. If you find sensitive content, please click“Report”,and we will handle it promptly。
Submit
Comment 0
Hot
Latest
No comments yet. Be the first!
Related
TEN Holdings Announces Financial Results for the Third Quarter of 2026
TEN Holdings indicates that in the third quarter of 2026, revenue increased by 17.9% year-on-year to $640,000. However, due to the write-off of a $1.8 million capitalized service contract and approximately $500,000 in legal fees, the net loss expanded to $3.734 million. The company stated that it has launched a new generation of digital experience platform TEN and continues to advance its transformation towards SaaS and a subscription-based model.
PR Newswire
·2026-11-07 06:59:44
14
U.S. 401(k) Alternative Assets Rules Enter Final Review Stage at the White House
The U.S. Department of Labor's rules regarding alternative assets in 401(k) plans were submitted to the White House on Thursday for final review. If these rules are implemented, they will relax the conditions for including private equity, real estate, and cryptocurrencies in retirement plans, and they are now nearly complete and ready for public release.
The Cryptonomist
·2026-11-07 06:30:24
24
Mynd.ai Announces Adjustment to the Proportion of American Depository Receipts
Mynd.ai announces that it will adjust the ratio of its American Depository Receipts (ADS) to common shares from 1 ADS representing 10 common shares to 1 ADS representing 75 common shares. This change is expected to take effect around December 7, 2027, and ADS will continue to be traded on NYSE American under the symbol “MYND”.
PR Newswire
·2026-11-07 06:08:59
28
Greece passes cryptocurrency tax law: 10% tax on profits, 15% tax on staking and DeFi
The Greek Parliament passes cryptocurrency tax law, imposing a 10% capital gains tax on annual net earnings exceeding 500 euros, and a 15% tax on income from staking, crypto lending, and DeFi.
Decrypt
·2026-11-07 05:00:54
35
View More