TRON · Permission Layer

A quarter of TRON's money has quietly changed hands. No transactions were involved.

Every TRON account carries a rewritable permission structure, so control can be handed to a different party while the balance never moves. We measured every time it has happened: 320,186 changes across 240,140 accounts over seven years, from a full census of TRON's transaction-contract history. 3,776 funded accounts holding $864,319,516 no longer answer to the key that made them.

What we found

Four load-bearing figures. Every one is a count, not an estimate.

  • $864M

    3,776 funded accounts have removed their own key from their own owner permission — 31.4% of every dollar sitting in a permission-changed TRON account. Section 7

  • 696

    Accounts controlled by a single key. Flow analysis reads them as 696 independent parties. Section 8

  • $2,608

    Total value ever passed between accounts under the same controller, out of $247.8M moved. The layering theory is dead. Section 9

  • 73.7%

    Of the $1.08B leaving these accounts goes to addresses carrying no label of any kind. Section 10

The headline number in this piece is not the biggest number in this piece. We found $802M of apparently seized value and then spent two corrections taking it apart. What survived is $35.8M. The corrections are in section 6, at full length, because that is where the analysis earns the right to section 7.

01 — The transactionThe handover

At 08:05 UTC on 29 January 2026, in block 79,669,857, a wallet holding $289,281.54 of USDT executed an AccountPermissionUpdateContract. The fee was 100 TRX.

Before that call, TQ4yK8ZZZs9FyKLRG53kyhwH3yGPHPYRau was an ordinary single-key wallet. One owner, one signature, full control. After it, the account was a 2-of-2 multisig: every subsequent action requires two signatures, and neither party can move a cent alone.

The co-signer added was TLVmkN6HjC69Yz9nr5xhCyqXCZyuRHz3zD. That address has never sent, never received, never paid a fee, and never made a single call in TRON's entire history. It holds half the signing power over a quarter of a million dollars and appears in no transfer graph anywhere, because it has never touched one.

The account has not signed anything since. The money has sat there six months.

No transfer took place. No counterparty. No amount. There is nothing in this event for a transfer-based tracing tool to index, and so there is nothing to flag.

02 — What this article is aboutThe assumption this breaks

Every crypto-tracing product in production — money-flow tracing engines included — rests on one assumption: value moves by transfer. Follow the transfers, follow the money. The vendors differ in how they build the graph; none of them differs on the axiom.

TRON does not honour it. A TRON account is not a keypair; it is a record with a mutable permission structure attached. The owner permission can rewrite itself, including rewriting away the key that wrote it. Control of an account and its balance can pass from one party to another with no value leaving, no counterparty recorded, and no transfer to trace.

We measured every one of these events. 320,186 permission changes across 240,140 distinct accounts, from June 2019 to 10 August 2026. Not a sample. Not an extrapolation. A census of every AccountPermissionUpdateContract ever included in a TRON block, joined against the full USDT transfer history and 71.9 million labelled addresses.

Three findings, named up front so you can stop here and still have the story:

  • Most of it is nothing. 66.2% of permission changes happen at provisioning time, before the account has done anything. Any alert that fires on a permission change is wrong two times in three.
  • What is there is bigger than what looks like theft. 3,776 funded accounts holding $864,319,516 have ceded their own owner permission. That is not fraud detection — it is a measurement of how much value on TRON sits behind a key other than the one that put it there.
  • The trail is not obscured. There is no trail. Shared-controller accounts do not pass funds to each other. We tested the obvious layering hypothesis and it failed by four orders of magnitude.

Section 3 explains the mechanism. Sections 4 through 6 clear the ground. Section 7 is the finding.

03 — The mechanismHow TRON accounts actually work

A TRON account carries two classes of permission. The owner permission is the root: it can sign anything, and critically, it can rewrite the entire permission structure — including itself. The active permissions are day-to-day keys, each restricted to a whitelist of contract types encoded as an operations bitmap. An active key can be allowed to transfer TRC-20 tokens and forbidden from changing permissions, or the reverse.

Each permission holds a list of keys, each key carries a weight, and the permission carries a threshold. A signature set is valid when the weights sum past the threshold. m-of-n multisig is native — no contract, no factory, one call.

Two consequences follow, and they are the whole story.

First: the key that created an account and the keys that control it need not be the same key, and the transition between them leaves no transfer. An address is therefore not a stable proxy for a party. It is a proxy for whoever currently satisfies its threshold, which is a property that changes silently.

Second: one key can sit above many accounts. A single controller can hold owner weight across hundreds of addresses that have never interacted with each other and appear, to any flow graph, as unrelated parties.

Before and after: block 79,669,857

The permission structure of TQ4yK8ZZ…PYRau either side of one 100 TRX call. Balance unchanged. Counterparty unrecorded.

Before — 29 Jan 2026, 08:04

Owner permission · threshold 1

TQ4yK8ZZ…PYRau weight 1

Sum of available weight: 1 / 1. Sole control.

Active permission · threshold 1

TQ4yK8ZZ…PYRau weight 1

Operations bitmap: transfer, TRC-20, delegate.

After — 29 Jan 2026, 08:05

Owner permission · threshold 2

TQ4yK8ZZ…PYRau weight 1

TLVmkN6H…Hz3zD weight 1 — no history

Sum of available weight: 1 / 2. Neither party can act alone.

Active permission · threshold 2

Both keys, weight 1 each

$289,281.54 USDT. Unmoved since.

The original holder did not lose the account. It lost the ability to use it alone — and the party it now shares it with has no on-chain history to attribute. Half the signing power over a quarter of a million dollars is held by an address that has never appeared in a transfer graph.

04 — The censusSeven years of it

320,186 permission changes. 240,140 accounts. June 2019 through 10 August 2026. Not one of them failed — this is not an attack surface with a success rate, it is a supported feature working as designed. Roughly 32 million TRX has been burned in fees doing it.

Repeat behaviour is thin at the top and heavy at the tail. 82.4% of accounts change permissions exactly once and never again. One account has done it 376 times.

320,186
Permission changes, all time
240,140
Distinct accounts affected
~32M
TRX burned in fees
376
Changes by a single account

Permission changes by year

Events and distinct accounts, 2019 to 10 August 2026. 2026 is a partial year.

018k36k54k72k 20192020202120222023202420252026 2529,81031,95352,63163,86171,68155,13834,860 to 10 Aug
Permission-change eventsDistinct accounts
Volume plateaued after 2022 and has been broadly flat since — roughly 55,000 events a year. This is not a spike to investigate. It is a standing feature of the chain at a volume any indexer could carry.

05 — The deflationMost of it is nothing

Before any of this can mean something, the noise has to come out. 73.3% of accounts change permissions the same day they first transact.

Be precise about that figure. 7.1 points of the 73.3% are definitional: those accounts have never initiated anything except the permission change itself, so their age at change is zero by construction. Strip them and the substantive same-day rate is 66.2%.

That is automated provisioning. A service spins up an account, hardens it into a multisig or delegates an active key, and puts it to work — all in one session. Two out of three permission changes on TRON are a deployment script, not an event.

Any monitoring rule that fires on a permission change is wrong two times in three. The signal is not the change. The signal is when the change happens relative to the account's life.

Account age at first permission change

240,140 accounts. Age measured from first initiated transaction to first permission change.

Same day1–7 days8–30 days31–180 days181–365 days1–2 yearsOver 2 years 176,04610,72510,21417,6217,77712,6225,135 Of the same-day block, the darker segment (17,050 accounts) is definitional — those accounts never initiated anything else.
The distribution is not a curve with a tail. It is a wall and a rounding error. The 45,000 accounts that changed control more than 30 days into their life are the entire population worth looking at — and they are where the money turns out to be.

The value picture deflates the same way. Across all permission-changed accounts, $567.27B was received and $564.51B was sent: 99.5% of everything that ever entered passes straight through. These are conduits. $2.757B is retained, and the retention is brutally concentrated — the top 100 accounts hold 44% of it, the top 1,000 hold 87%.

That accounts for the noise. It does not account for the money.

06 — The trapThe eight-hundred-million-dollar number, and why it's wrong

Here is the number we found first, at full force.

Classify every permission-changed account on one criterion: did it send USDT after its last permission change? The accounts that did not — that went dark on the outbound side after control was rewritten — hold $802,099,001.

That is a headline. It is also wrong, twice.

Correction one — timing

"No outbound after" is not "stopped because of"

The classifier tests order, not causation. An account that had already gone quiet years earlier, and then had its permissions changed, lands in the same bucket as one that stopped the day it lost control.

The second-largest dark account holds $35,050,019. Its permissions were changed on 8 June 2025. Its last outbound transfer was 29 June 2024 — nearly a year earlier. It was already dark. Then control changed. Nothing was seized; something was inherited.

When outbound activity actually stopped, relative to the permission change

Dark accounts only. Bars are USDT held; counts are labelled.

Never sent at allStopped at the change (≤1d)2–30 days before31–365 days beforeAlready quiet >1 year $528,223,545$35,757,288$28,414,565$107,245,471$102,458,131 5,482 accounts2,427 accounts1,820 accounts1,297 accounts417 accounts Only the pink band is consistent with a seizure. Everything above and below it stopped for reasons that predate the change.
The $802M collapses on inspection. The largest single bucket — $528M — never sent a USDT transfer in its life, so "stopped sending after the permission change" describes it only trivially. These are vaults, not victims.

Correction two — Tether

Most of what remains is frozen, not stolen

We ran the 600 largest dark accounts against 71.9 million labelled TRON addresses. 271 of them, holding $343.5M, are on Tether's blacklist. A blacklisted address cannot move USDT: the token contract rejects the call. Of accounts that were operating and then stopped, 73% of the value is frozen, not seized.

State this carefully. The blacklist link is association, not proven causation — we observe zero failed send attempts, and the label set carries no timestamps, so we cannot order the freeze against the permission change. What we can say is that a non-moving balance has a documented reason for not moving that has nothing to do with who holds the key.

Tether blacklist status by account class, USDT held

Blacklisted versus clean value within each dark-account class.

Never-spent vaultDark while dormantDark, still receiving $168.7M · 91$348.2M · 240 clean$159.2M · 142$59.0M · 46 clean$15.6M banned · 38   /   $25.7M clean · 43 Dormant accounts are majority-blacklisted by value. Vaults are majority-clean — a different phenomenon.
The class that looks most like theft — funded, previously active, now silent — is the class most likely to be under a Tether freeze. Reading "dark after permission change" as "compromised" would have misattributed $343.5M.

What survives both corrections: 2,427 accounts holding $35,757,288. Operating wallets whose outflows stopped within a day of losing sole control, with no duller explanation available. That is the defensible number, and it is 22× smaller than the headline we started with.

Two structural facts support it. Accounts hardened at birth go dark at a much lower rate than accounts whose permissions change mid-life — mid-life changes are 2.8× more likely to end in silence — and the dark rate has risen every cohort year since 2022.

Dark outcomes by when the permissions changed

Accounts still transacting versus accounts gone dark, split by account age at change.

Timing of permission changeStill aliveWent darkUSDT in dark accounts
Hardened at birth (same day)170,2005,846$418,804,660
Early (1–30 days)19,2991,640$21,633,595
Mid-life (over 30 days)39,1973,958$361,660,746

A mid-life permission change is 2.8× more likely to be followed by silence than one at provisioning. Dark rate by cohort year: 2020 0.5% · 2021 0.5% · 2022 0.8% · 2023 4.7% · 2024 6.2% · 2025 7.4% · 2026 10.9%. The 2026 figure is a partial year and subject to survivorship — recent accounts have had less time to resume.

07 — The finding$864 million behind someone else's key

The correct question is not how much value was taken. It is how much value sits in accounts whose owner permission no longer contains the key that created them. That is a census, not an inference, and it needs no theory of intent.

11,985 permission-changed accounts hold $1,000 or more. Between them they account for 99.9% of all retained value in the population. Of those, 3,776 have removed their own key from their own owner permission.

They hold $864,319,516 — 31.4% of every dollar sitting in a permission-changed TRON account. The ownership of that money changed hands and produced zero transfers.

Bitquery census · 3,776 accounts · ≥$1,000 cohort

This is not an allegation. Ceding an owner permission is what a custody migration looks like, what an exchange re-keying looks like, what a treasury moving to a signing service looks like. The point is narrower and harder: on TRON, an $864M change of control is invisible to every tool that indexes transfers, and the honest ones as well as the dishonest ones are invisible together.

Compare the funded cohort against a random sample of permission-changed accounts and the shape diverges hard.

Control configuration: random cohort versus funded accounts

Random n=20,012 · funded (≥$1,000) n=11,985. Cohort-sampled rates, not a census.

Ceded own owner keyMultisig (2+ keys)Self-escalating bit 46 35.9%31.5%58.7%77.6%46.2%18.6% Bit 46 permits an active key to rewrite the permission structure — a key that can promote itself.
Random cohortFunded ≥$1,000
Funded accounts are far more likely to be multisig and far less likely to leave the self-escalation bit set. Money is managed deliberately; the random population is managed by script. Note the asymmetry in what that means for tracing: careful custody and quiet compromise leave the same on-chain trace.

Two accounts illustrate the range. TMauqkA78pfysSTn8jD1dvEUkjme2gEEdn holds $176,949,163 and is a Bitget cold wallet — a permission change here is exchange operations, nothing more. TTr4STG8SMVrPafYZEvFjZoerPGFTD8vUR took 81 deposits totalling $55,050,056, has never sent anything, ever, and is on Tether's blacklist. Same event class. Entirely different stories. Neither one is legible from transfers alone.

08 — The ringsOne key, 696 accounts

Controllers do not stop at one account. 3,481 controller keys hold signing power over more than one account, covering 12,393 accounts holding $1,763,200,986 between them.

The distribution is the usual shape until it isn't. Most rings are pairs. Then there is a tail, and at the end of the tail, one key signs for 696 separate accounts.

696 accounts, one signer. Every flow-based graph on the market reads them as 696 independent parties transacting at arm's length.

Largest observed ring · floor, not a count

Ring size distribution

Controller keys by number of accounts they sign for. 3,481 multi-account keys.

04509001,350 23456789+ 1,7756113271601309075313 Accounts controlled by one key 696 ACCOUNTS · ONE KEY 12,393 accounts sit under ashared controller, holding $1,763,200,986 Ring counts are floors. A ring is onlyvisible when two members are enriched,and enrichment coverage is 14%.
Every count on this chart is a lower bound. At 14% enrichment coverage, a ring becomes visible only when at least two of its members happen to be enriched — the true distribution is shifted right by an unknown amount, and 696 is the smallest possible answer for the largest ring.

09 — The negative resultThe theory that didn't survive

Shared controllers suggest an obvious next move, and we made it. If one party holds the keys to hundreds of accounts, that party should be passing funds between them — self-transfers dressed as arms-length hops, the classic layering pattern, with a tracer counting each leg as a change of hands.

We tested it directly. Across 694 accounts under shared controllers that moved $247.8M outbound, we measured every transfer landing on another account under the same controller key.

$2,608. Five transfers. Out of $247.8 million.

Shared-controller internal flow · hypothesis rejected

The theory is dead. Not weakened — dead by four orders of magnitude. Commonly-controlled TRON accounts do not talk to each other.

This matters more than a confirmation would have. It means the blind spot is not a laundering technique hiding inside a transfer graph, where better graph analysis would eventually find it. The relationship between these accounts produces no transfers at all. There is no trail to obscure, and therefore no amount of cleverness applied to transfer data will recover it. The only way to see the link is to index the permission structure itself.

10 — The exitsWhere it goes

We attributed every USDT transfer leaving a handed-over account, at 99.9% destination coverage: $1,083,778,485 across 34,632 destinations. The result is mostly an absence.

Destination of outbound value from permission-changed accounts

$1,083,778,485 total, attributed against 71.9M labelled addresses.

73.7%$798,386,660 · no label of any kind 18.6% · $201,853,157Exchange deposits7.2%$77,676,195Energy delegates Other labelled destinations: $5,862,473 (0.5%). Only 1,910 of 240,140 permission-changed accounts — 0.80% — carry any label themselves.
Three-quarters of a billion dollars leaves these accounts for addresses that no labelling provider has ever seen. This is what an attribution gap looks like when it is measured rather than assumed — not misattributed, simply absent.

The 18.6% that does reach an exchange is not spread the way you would expect. Where TRON value has previously been traced to a cash-out, it has concentrated the same way — the $812M that moved through a four-day-old burner and the $110M laundering circuit both cleared through a handful of venues rather than the long tail.

Exchange-bound value by venue

$201,853,157 of exchange deposits from permission-changed accounts.

KlicklBinanceBitMartOKXBybitGate.ioHTXHuione Group $130,941,395$27,046,559$15,705,201$15,263,986$5,798,831$1,950,690$1,053,571$1,043,223 Klickl alone absorbs 65% of everything exchange-bound — 4.8× Binance, on a fraction of the deposit-address footprint.
Concentration this severe at a single mid-tier venue is a chokepoint, and chokepoints are where compliance leverage exists. $130.9M of handed-over value has one cash-out door.

Normalising for size sharpens it further. Measured as permission changes per million deposit addresses, the venues sort into two regimes.

Permission-change rate per million deposit addresses

Normalised exposure. Higher means deposit addresses at that venue are more likely to have had control rewritten.

VenueRate per millionVersus Binance
CoinEx181.697×
MaiCoin47.525×
Huione Group24.213×
Remitano16.18.5×
MaskEX9.44.9×
Bitget5.52.9×
Kraken4.62.4×
HTX3.82.0×
OKX3.31.7×
KuCoin2.11.1×
Binance1.9baseline
ChangeNOW0.90.5×

CoinEx deposit addresses have their permissions rewritten at 97× the Binance rate. This measures a property of the addresses, not of the exchange's conduct — but a 97× spread between two venues doing the same job is a fact that belongs in a risk model.

One last count, because it inverts the expectation. 6.92% of these accounts use vanity addresses — 16,623 of them — against a chance rate of roughly (1/58)⁴, about 0.0000088%, and 0 of 225 in a matched control. Vanity is deliberate and it is everywhere here. But it does not mark risk. It marks the opposite.

Vanity address rate by account outcome

Share of accounts in each outcome class using a vanity prefix. Population rate 6.92%.

Kept transactingNever-spent vaultDark, still receivingEmptiedDark while dormant population 6.92% 11.42%7.41%4.47%2.91%1.60%
The signal runs backwards from the intuition. Accounts that kept operating are 7× more likely to use a vanity address than accounts that went dark. Vanity marks a healthy business that wanted a memorable deposit address — treating it as a risk flag would invert the model.

11 — The consequenceWhat this means for anyone tracing TRON

An address on TRON is not a stable proxy for a party, and the entire tracing industry treats it as one.

The failure mode is not a false positive. It is silence. You labelled an address in March. In June its owner permission was rewritten and someone else took control. Nothing moved, nothing fired, no alert was generated, and your label continued to describe a party that no longer holds the keys. Attribution decays quietly and there is no event in the transfer stream to tell you it happened. It is a quieter failure than an address that is almost right, and a harder one to test for.

Section 9 is the reason this cannot be fixed downstream. If commonly-controlled accounts were passing funds to one another, better clustering on transfer data would eventually surface the link. They are not. $2,608 of $247.8M. The information simply is not present in the transfers, at any resolution, under any algorithm.

The fix is not cleverer graph analysis. It is indexing a contract type that nobody indexes. Roughly 55,000 permission changes a year is trivial volume — smaller than a single busy token's daily transfer count. Every one is a public, deterministic, fully-specified state change sitting in the block data. No provider retains the payload.

12 — MethodHow this was measured

Method and limits

The census is drawn from 7.5 billion transaction-contract rows and 5.9 billion transfer rows on Bitquery's own TRON infrastructure — every AccountPermissionUpdateContract ever included in a block, joined to the complete USDT transfer history. Attribution runs against 71.9 million labelled TRON addresses.

Permission structures themselves are not recoverable from any indexer, because no indexer retains the payload. 33,608 accounts were enriched one node call at a time, at roughly 1.4 requests per second. That constraint is why the control-configuration figures in section 7 are cohort-sampled while every value figure in this piece is a full census. We never present a sampled rate as a count.

Two independent clusters were run against the same range as a cross-validation. Their aggregate value figures agree to six decimal places, and their event counts differ by 0.004%.

Limits, in one place. Ring counts are floors: a ring is only visible when at least two members have been enriched, and enrichment coverage is 14%, so the true distribution is shifted right by an unknown amount. The Tether-blacklist relationship is association, not proven causation — we observe zero failed send attempts and the label set carries no timestamps, so freezes cannot be ordered against permission changes. 2026 is a partial year through 10 August and its cohort figures are subject to survivorship. The $35.8M in section 6 is what survives two corrections applied to an $802M starting figure; we present the corrections rather than the starting figure because the starting figure is not defensible.

Query TRON the way this was measured

Permission changes, transfers, balances and labels across TRON and 40+ chains — the same full-population data behind every figure in this piece, over GraphQL, streaming APIs, or natural language through our MCP server.

Bitquery.Bitquery Investigations · TRON permission-layer census, June 2019 – 10 August 2026 · All figures are counts from a full census unless explicitly marked cohort-sampled.