Tether's USDT is the most used stablecoin in the world, with about $184.6 billion in circulation at its Q2 2026 attestation. Every one of those tokens lives inside a smart contract, and that contract is public. Anyone can read it. Almost nobody does. The code is roughly 450 lines long, and about 40 of them give one party powers that most USDT holders have no idea exist.

We read the whole thing, then checked its live settings on the Ethereum blockchain on 6 October 2026. This guide walks through every function in plain English: the ordinary ones you use when you send USDT, and the privileged ones only Tether can call. Two of those get the most attention, because they matter most to your money. One freezes an address. The other sets its balance to zero. If you are new to the idea of code that holds money, start with our plain-English guide to smart contracts and come back.

What is the Tether smart contract and where does it live?

A smart contract is a program stored on a blockchain. For a token like USDT, that program is really a ledger: a list of addresses and how many tokens each one holds, plus the rules for changing that list. When you "hold USDT" you don't hold a coin. You hold an entry in Tether's ledger, and the contract's rules decide what can happen to that entry.

The main Ethereum contract sits at the address beginning 0xdAC17F9. It was written in Solidity version 0.4.18 and deployed in late 2017, and the verified USDT source code on Etherscan matches the bytecode running today, so what we describe below is exactly what is live. TRON's USDT contract, the one behind most USDT transfers in Asia and the developing world, is a near-identical copy, and its published interface lists the same privileged functions: addBlackList, removeBlackList, destroyBlackFunds, issue, redeem, pause, deprecate and setParams. Tether also issues USDT on other networks, but these two contracts hold most of the supply. On 6 October 2026 the Ethereum contract alone reported a total supply of about 88.3 billion USDT.

Under the hood, the contract is built from a stack of smaller pieces: a basic token, an "Ownable" layer that defines who the boss is, a "Pausable" layer with an emergency stop, and a "BlackList" layer. The last two are where the interesting powers live.

Who holds the keys to the contract?

Almost every powerful function in the code carries a one-word label: onlyOwner. It means "refuse this call unless it comes from the owner address". So the first question for any USDT holder is simple: who is the owner?

We asked the contract directly. The owner is another contract, at an address beginning 0xC6CDE7, and that contract is a multisig wallet. When we queried it, it reported six signer addresses, a requirement of three approvals for any action, and 5,738 transactions over its lifetime. In plain terms, three of six Tether staff keys have to agree before a freeze, a burn or a new batch of tokens goes through. That is better than a single key, and worse than no key at all, which is what Bitcoin offers. For a sense of how multisig works, see our guide to multisig key setups.

Two-column diagram of the Tether USDT contract. Left, functions anyone can call: transfer, transferFrom, approve, balanceOf. Right, functions only Tether's 3-of-6 multisig can call: addBlackList, removeBlackList, destroyBlackFunds, issue, redeem, pause, setParams and deprecate.

Every function in the USDT contract, sorted by who can call it. The right-hand column is what this article is about.

The multisig design has a side effect that matters. Each privileged action is proposed by one signer, confirmed by others, then executed, and that takes time. In May 2025 the analytics firm AMLBot documented a 44-minute gap on TRON between a freeze being proposed and landing on-chain, and estimated that over six years about $78.1 million had been moved out of wallets during that window, before the freeze took effect. Tether's response was that the short delay is a deliberate trade-off for the security of the system. Both things are true.

The functions anyone can use, and the checks hidden inside them

Five functions make up the everyday life of USDT, and they look like any other token's. The detail is in what the Tether version checks before it does anything.

  • transfer(to, value). Moves tokens from you to someone else. Before it moves anything, the Tether version runs two checks: the contract must not be paused, and your address must not be on the blacklist. If either check fails, the transaction is rejected.
  • transferFrom(from, to, value). Lets an app you have approved, such as an exchange or a DeFi protocol, move tokens on your behalf. Same two checks, applied to the address the tokens are leaving.
  • approve(spender, value). Gives an app permission to spend up to a set amount of your USDT. Interestingly, this one is not blocked by the blacklist or the pause switch. You can still grant permissions while frozen. They just can't be used.
  • balanceOf(address) and allowance(owner, spender). Read-only. Anyone can look up any balance or any approval, which is why the frozen balances we discuss below are visible to the whole world.

There is one more thing buried in the transfer code. Every transfer calculates a fee using two settings, basisPointsRate and maximumFee, and sends that fee to the owner. Today both settings are zero, so the fee is zero and you never notice it. The machinery is already there, though, and we come back to it below.

Notice also what the transfer check does not do. It checks the sender, not the receiver. A frozen address can still receive USDT. Anyone who sends tokens to a blacklisted address adds to a balance that can't move, and, as the next two sections explain, can be destroyed.

The freeze: addBlackList and removeBlackList

The BlackList section of the contract is only about 30 lines long. Its core is a simple list, isBlackListed, which maps every address to true or false. Two owner-only functions change it. addBlackList(address) sets it to true and announces an "AddedBlackList" event to the network. removeBlackList(address) sets it back to false and announces "RemovedBlackList".

That is the entire freeze mechanism. There is no court order field, no reason code, no expiry date and no appeal process in the code. There is an address and a switch. Once the switch is on, every transfer and transferFrom from that address fails, and the tokens sit where they are. You can still see them in your wallet. You just can't do anything with them.

How often is the switch used? According to BlockSec's USDT blacklist tracker, Tether blacklisted 4,163 addresses holding about $1.26 billion during 2025, a record year, and by late July 2026 the list held 9,597 addresses with $5.69 billion immobilised, roughly two thirds of it on TRON. In the 30 days to 7 May 2026 alone, 371 addresses holding about $515 million were frozen. Tether itself said in April 2026 that it had frozen more than $4.4 billion since launch while working with over 340 law enforcement agencies in 65 countries.

Who decides? Tether's public statements point to three routes: direct requests from law enforcement, sanctions lists such as the US Treasury's OFAC list, which Tether began matching proactively on 1 December 2023, and Tether's own monitoring for theft, scam and hack patterns. Only the sanctions route involves a published list. For the rest, Tether does not publish per-address reasoning, and a freeze does not need a court order first. In 2025, about 3.6% of frozen addresses were later removed from the list, with a median wait of 18.2 days for those that were.

There are good stories here. The biggest single freeze on record, two TRON addresses holding $344 million, was executed on 23 April 2026 in coordination with US authorities and attributed to Iran's central bank. Pig-butchering rings, exchange hackers and ransomware groups have all lost funds to the blacklist. The point of this article is not that freezing is always wrong. It is that the same switch works on every address, the criteria are private, and nothing in the code distinguishes a sanctioned bank from a small business whose customer happened to pay with tainted coins.

destroyBlackFunds: the function that wipes a balance to zero

Flow diagram of USDT after a freeze: a trigger, then addBlackList by Tether's multisig, then two exits. removeBlackList unfroze about 3.6% of addresses in 2025. destroyBlackFunds zeroed 55.6% of frozen value, about $698 million, and an issue call then minted the same amount elsewhere.

Freeze, then one of two exits. In 2025 more than half the frozen value went down the right-hand path.

Freezing stops tokens moving. The next function removes them. Here is the whole of destroyBlackFunds, translated line by line from the contract.

  1. Check the address is blacklisted. The function refuses to run on an address that has not been frozen first, so every destruction is preceded by a freeze.
  2. Read the balance. The code stores it in a variable the developers named dirtyFunds.
  3. Set the balance to zero. One line. The address's entry in the ledger becomes 0.
  4. Reduce the total supply by the same amount, so the destroyed tokens no longer exist anywhere.
  5. Announce it with a "DestroyedBlackFunds" event that records the address and the amount.

Nothing is transferred. The tokens are not moved to Tether or to the police. They are deleted. In accounting terms, Tether's liability to that address disappears, and the dollars that backed those tokens stay in Tether's reserves. What usually happens next is a second owner-only call, issue, which creates the same number of new tokens and places them in Tether's treasury address, from where they can be sent to a court-designated wallet, a victim, or a recovery account. Total supply goes down and then back up. The value changes hands without anyone needing the frozen wallet's private key.

This is not a rarely used emergency measure. BlockSec's figures for 2025 show about $698 million destroyed out of $1.26 billion frozen that year, or 55.6%. In June 2026 alone there were 65 burn events totalling $37.58 million. The function also underpins Tether's paid Token Recovery service for people who send USDT to the wrong address: Tether freezes the mistaken destination, destroys the tokens there and reissues them to the sender, for a fee of up to 10% of the amount with a $1,000 minimum.

The clearest illustration of how this plays out in practice is a lawsuit filed on 31 August 2026 in the Southern District of New York. Two Thai businessmen say Tether froze $42,417,785.62 of USDT across ten Ethereum addresses on 30 October 2025 following an informal request from US Homeland Security Investigations. A seizure warrant arrived 112 days later, on 19 February 2026, and it directed Tether to use destroyBlackFunds on the addresses, mint an equivalent amount, and transfer the new tokens to a government-controlled wallet. Decrypt's report on the case has the details. Whatever a court eventually decides about the plaintiffs, the sequence is exactly what the code allows: freeze on request, destroy on warrant, reissue to whoever the issuer is told to pay.

Minting and redeeming: where USDT comes from

Two more owner-only functions control the supply itself. issue(amount) creates new tokens out of nothing and adds them to the owner's balance, raising total supply. redeem(amount) does the reverse: it deletes tokens from the owner's balance and lowers total supply. Both have overflow checks and nothing else. There is no code linking a mint to a bank deposit, and no code that proves a dollar exists for each token. That link is a promise made off-chain and reported in quarterly attestations, which is why reserve quality is a separate question we cover in USDT vs USDC.

When you see headlines that "Tether minted a billion USDT", this is the function that ran. Freshly issued tokens sit in Tether's treasury address, which Tether describes as "authorised but not issued", until a customer wires dollars and the tokens are transferred out. The contract does not know the difference. To the code, the treasury is just the owner's balance.

The other levers: pause, fees, deprecate and ownership

Four further owner-only functions get less attention than the blacklist, and each one is worth knowing about.

FunctionWhat it doesLive setting, 6 Oct 2026
pause() / unpause()Stops every transfer and transferFrom for every holder at once. An emergency brake on the whole token.Not paused
setParams(basisPoints, maxFee)Turns on a transfer fee paid to Tether. Hard limits in the code: under 0.2% per transfer and under 50 USDT per transfer.0 and 0, so no fee
deprecate(newAddress)Redirects every transfer, balance lookup and approval to a new contract of Tether's choosing. There is no function to undo it.Not deprecated
transferOwnership(newOwner)Hands all of the above to a different address.Owner is the 3-of-6 multisig

The pause switch has never been used on the main contract, as far as the public record shows, and Tether has never charged the transfer fee. The deprecate function is the one to understand, because it is the upgrade path. If Tether ever calls it, the old contract becomes a shell that forwards every request to new code, and that new code can have any rules at all. Holders would not need to do anything, and would not be asked. We checked all four settings live on 6 October 2026, and the table shows what we found.

Is this unique to Tether?

No. Every major fiat-backed stablecoin has similar controls, and in the United States they are now mandatory. The GENIUS Act, signed in July 2025 and taking full effect in January 2027, requires permitted stablecoin issuers to have the technical ability to freeze, seize or burn tokens on a lawful order. Our guide to the GENIUS Act explains what else it demands. Circle's USDC has a blacklist function too, and used it in August 2022 to freeze addresses linked to the Tornado Cash mixer after US sanctions.

What differs is how the controls are used. AMLBot's comparison of 2023 to 2025 found that Tether blacklisted 7,268 addresses holding $3.29 billion in that period, while Circle blacklisted 372 addresses holding $109 million, and that Circle acts on court orders and sanctions lists but does not destroy and reissue tokens. Tether's approach is more aggressive, and Tether would say more effective: its T3 Financial Crime Unit, set up with TRON and TRM Labs in September 2024, had frozen more than $450 million by May 2026.

The history explains the design. On 19 November 2017, $30,950,010 of USDT was taken from Tether's own treasury wallet, when USDT still ran on Bitcoin's Omni layer. Tether's response was to push out a software update that blacklisted the thief's address, as reported at the time by Finance Magnates. The Ethereum contract was deployed days later with the BlackList section built in from day one. The powers in the code were written to protect Tether, and have since been turned towards everyone else.

What this means for the USDT in your wallet

None of this makes USDT a scam, and none of it is hidden in the sense of being secret. The code has been public since 2017. It is hidden in the sense that almost nobody who holds USDT has read it or understood what it allows. So here is the practical version.

  • USDT is an IOU, not a bearer asset. Your balance is an entry in Tether's ledger that Tether can freeze or delete. That is the same position as money in a bank account, with fewer legal protections and no deposit insurance. It is the opposite of Bitcoin held in your own wallet, where no freeze function exists. Our beginner's guide to Bitcoin explains why.
  • Use stablecoins for what they are good at. Moving dollars quickly, parking funds between trades, paying someone abroad. For savings you cannot afford to lose access to, the freeze and destroy powers are a reason to think twice. Our guide to stablecoins covers the other risks, including depegs.
  • Know where your coins came from. Most freezes target funds traced from hacks, scams and sanctioned entities. Buying USDT on a peer-to-peer market from a stranger, or receiving it from a counterparty you don't know, is how innocent holders end up with tainted tokens.
  • You can check any address yourself. On Etherscan's page for the USDT contract, open the "Read Contract" tab and query isBlackListed with an address. A result of true means it is frozen. Every freeze and burn is also announced as an on-chain event, which is how trackers such as BlockSec compile their figures.
  • Self-custody does not protect you from this. A hardware wallet protects your keys from thieves. It does nothing against a blacklist, because the control is in the token's contract, not in your wallet. That is the fundamental difference between a token someone issues and a coin nobody controls. Our guide to crypto wallets explains what self-custody does and does not do.

Governments like these controls, and the trend is towards more of them, not fewer. Our CBDC vs cryptocurrency guide shows where that road leads. If you have a specific question about a token's contract, ask Ask Crypto AI, our encrypted crypto assistant, or browse more explainers in the Stablecoins hub.

Disclosure: this is education, not financial advice. Contract settings were read directly from the Ethereum blockchain on 6 October 2026 and can change at any time. Freeze statistics are from BlockSec and AMLBot and are their estimates.

Frequently asked questions

Can Tether freeze my USDT?

Yes. Tether's contract has an owner-only function, addBlackList, that marks any address as frozen. From then on every transfer from that address fails, although it can still receive tokens. Tether has used it on more than 9,500 addresses, mostly at the request of law enforcement, in response to sanctions lists, or after its own monitoring flagged theft or scam activity. No court order is required by the code.

What does destroyBlackFunds do?

It sets a frozen address's USDT balance to zero and reduces the total supply by the same amount. The tokens are deleted, not moved. Tether can then call issue to create the same number of new tokens and send them to a court, a victim or a recovery account. In 2025 about $698 million, or 55.6% of the value Tether froze that year, was destroyed this way.

Who controls the Tether smart contract?

Its owner is a multisig wallet that reported six signer addresses and a three-signature requirement when we queried it in October 2026. Every privileged function, including freezing, burning, minting, pausing and upgrading, can only be called by that owner. So three of six Tether keys have to agree before any of those actions goes through, and the process takes minutes rather than seconds.

How can I check if an address is blacklisted by Tether?

Open the USDT contract on Etherscan, choose the Contract tab and then Read Contract, find isBlackListed, paste the address and click Query. True means frozen. TRON addresses can be checked the same way on Tronscan. Independent trackers such as BlockSec also publish a searchable list built from the AddedBlackList events the contract announces every time a freeze happens.

Does USDC have the same freeze and burn functions?

USDC has a blacklist function and has used it, notably against Tornado Cash addresses in August 2022, but Circle does not destroy and reissue tokens the way Tether does. Between 2023 and 2025 Circle froze about $109 million across 372 addresses, against Tether's $3.29 billion across 7,268. Under the GENIUS Act, all permitted US stablecoin issuers must be able to freeze or burn tokens on a lawful order from 2027.

Can Tether charge a fee on USDT transfers?

The code allows it. A function called setParams lets the owner switch on a per-transfer fee paid to Tether, capped in the contract at less than 0.2% of the amount and less than 50 USDT per transfer. Both settings were zero when we checked on 6 October 2026, and Tether has never used them, but the mechanism is live in the contract and could be switched on by the multisig.

Can a frozen USDT balance be unfrozen?

Sometimes. Tether can call removeBlackList, which restores the address. In 2025 about 3.6% of blacklisted addresses were removed, with a median wait of 18.2 days. Routes include petitioning Tether directly with identity and transaction evidence, suing in a relevant jurisdiction, or, for US seizures, an innocent-owner claim in the forfeiture case. Speed matters, because once destroyBlackFunds has run the balance is gone.

Keep learning