CONTRACT ANALYSIS

TetherToken

Scanned September 1, 2026 · Check a different contract →

Code review

TetherToken

Ethereum · 0xdAC17F953D831ec7
View source →
4
capabilities present
3
undetermined
7
checks run
Warn someone before they buy:Share on XShare on RedditShare on LinkedIn
🪤

How the owner could rug you

1 owner power found that could be used against holders. Each is a capability the code grants — not proof of intent.

🟡Owner retains privileged powers
Yes

The owner can continue to call any onlyOwner functions, maintaining control over the contract.

Code: Ownable sets a public owner variable in the constructor; onlyOwner modifier protects functions like transferOwnership, pause, unpause, addBlackList, removeBlackList. No renounceOwnership function is present.

Owner can mint new tokens
Undetermined

Code: No mint function found in the visible portion of the contract; the code may contain a mint function later in the truncated part.

Owner can pause or disable trading
Undetermined

Code: A Pausable contract is inherited with pause/unpause functions, but the visible transfer functions do not use the whenNotPaused modifier; trading could be blocked in code not shown.

Owner can blacklist addresses
Undetermined

Code: BlackList contract defines addBlackList/removeBlackList and a public isBlackListed mapping, but the visible transfer logic does not check this mapping; later code might add the check.

Owner can change transfer fees
Undetermined

Code: Public variables basisPointsRate and maximumFee are used to calculate fees, but no setter functions appear in the visible code; setters could exist later.

Contract logic can be upgraded
Undetermined

Code: No proxy or delegatecall pattern is present in the shown code; upgradeability could be introduced in the omitted portion.

Owner can withdraw user funds
Undetermined

Code: No function that transfers ether or tokens from the contract to the owner is visible; such a function might be defined later.

This checks only what the code can do. It cannot see whether liquidity is locked, how concentrated holders are, or what the team intends — those need live on-chain data. Absence of these mechanisms is not proof a token is safe.

What this could cost you

How much money would you put into this? We'll show you what you could actually lose — in dollars, not just a scary word like "risk."

$

Enter an amount above to see it in real dollars instead of just labels.

Scope of this review

This contract's source is 14,888 characters — only the first 9,000 were analyzed, so parts of it were not examined. That's the real reason, not a vague size limit: 5,888 characters were cut off the end.

What the code allows

Owner privileged functions
Present

Evidence: owner variable with onlyOwner modifier; functions transferOwnership, pause, unpause, addBlackList, removeBlackList are protected by onlyOwner.

This allows: Owner can change contract parameters, pause operations, and manage a blacklist.

Transfer fee mechanism
Present

Evidence: Both transfer() and transferFrom() compute a fee using basisPointsRate and maximumFee, deduct it from the amount, and credit it to the owner address.

This allows: Every token movement may incur a fee that goes to the owner.

Pausable functionality
Present

Evidence: Pausable contract defines pause() and unpause() guarded by onlyOwner; a public bool paused flag is maintained.

This allows: Owner can toggle a paused state, potentially affecting functions that respect it.

Ownership not renounced
Present

Evidence: owner is set in the constructor and never cleared; no renounceOwnership function appears.

This allows: Owner retains control over all onlyOwner functions.

Mint authority
Undetermined

Evidence: No mint() or similar function is present in the visible source.

This allows: If a mint function exists, the owner could create additional tokens, affecting supply.

Transfer restrictions
Undetermined

Evidence: Transfer and transferFrom do not reference isBlackListed or paused flags in the visible code; however, BlackList and Pausable contracts are inherited and could be used later.

This allows: If restrictions are added, certain addresses or all transfers could be blocked.

Upgradeability pattern
Undetermined

Evidence: No proxy or delegatecall constructs are visible; the missing tail could contain such logic.

This allows: Upgradeability would allow the owner to replace the contract’s code.

Worth reading yourself

  • transfer() and transferFrom() calculate a fee (basisPointsRate, maximumFee) and send it to the owner address
  • BlackList contract with addBlackList/removeBlackList and public isBlackListed mapping
  • Pausable contract with pause/unpause functions controlled by onlyOwner

What this did not check

  • Source code was truncated at 9000 characters; any mechanisms that may appear later (e.g., minting, blacklist checks in transfers, fee setters, upgradeability, withdraw functions) could not be examined.
  • Liquidity lock status, holder concentration, and actual on‑chain balances are not visible in the source and were not checked.

Automated review of verified source only. Not an audit. Does not cover on-chain state, holder distribution, liquidity, or deployer behavior. It cannot tell you whether a token is safe or whether to buy it. Absence of a finding is not evidence that a contract is sound — it may mean the relevant code was not readable, not verified, or not reached.

Want more than the free read?

A real security researcher personally reads this contract's verified source — not an automated re-run of the free check.

What's checked

The same 7 owner-power categories as the free check — mint authority, ability to disable trading, blacklist power, mutable fees, upgradeability, privileged withdrawal, and whether ownership is still active — plus 4 categories the free tier doesn't cover: exact current fee values and where they're set, whether ownership itself can be transferred (and to whom), any hardcoded or owner-settable exceptions to fees/limits/blacklist, and external contracts this one calls out to and trusts.

How it's done

I read the contract's actual verified source directly — no token-window truncation, since a person isn't limited by an LLM's context size the way the free tier is. Every finding cites the specific function or modifier it comes from; if the code doesn't determine something, the report says so instead of guessing.

What you get

A written report emailed to you within 24 hours: a plain-English summary, every finding with its evidence, and what the review could not determine from source alone.

Disclaimer: this is a capability review of verified source code, not a formal security audit and not investment advice. It reports what the contract's owner/admin technically CAN do — it does not check on-chain state, liquidity depth, holder concentration, or deployer behavior, and it does not certify a contract as safe.

Building something that needs this programmatically?

By purchasing, you agree to our Terms of Service and Privacy Policy.

This is a surface read

It reports capabilities visible in source. It does not model economics, test exploit paths, or reason about how contracts interact. A real review does — with runnable proofs for anything it claims.

Request a security review →

Paid reviews go further than this free scan: every finding is signed, timestamped, and hash-chained into a record — self-scored 16/20 against an independent standard →

✉️Email us