What a Contract Address Is, and Why It Is the Real Name

A token's name and ticker are text anyone can copy. The address is the only part that cannot be faked, which is why every safety check starts there.

What a Contract Address Is, and Why It Is the Real Name

The short answer

A contract address is where a smart contract lives on the chain – a 42-character string beginning 0x. For a token it is the token's only unique identifier: names and tickers are free text, and a dozen contracts can call themselves the same thing, but the address is assigned by the chain and cannot be duplicated. Every meaningful check runs off it – holders, liquidity, whether minting is renounced, whether the thing trading under a familiar name is the contract you meant. Copy it from the project's own channel or from the pool you are trading against, never from a search result or a reply.

Every account on an EVM chain is an address. Some belong to people and are controlled by a private key; some belong to code and are controlled by the code. The second kind is a contract address, and a token is a contract.

Why the name is not the name

When a token is deployed, whoever deploys it chooses the name and the symbol. They are strings in the contract, they are not checked against anything, and nothing stops a hundred contracts calling themselves the same thing with the same ticker. Several of them will be copies made specifically to be mistaken for the one you are looking for.

The address is different. It is derived from the deployer and the transaction that created the contract, it is assigned by the chain, and there is exactly one. That is why it is the only identifier worth trusting.

Where to get it, and where not to

  • From the project's own site or pinned post. Best source there is.
  • From the pool you are about to trade against, on the venue itself.
  • From a block explorer, once you have it, to verify rather than to find.
  • Not from a search result, which can be paid for.
  • Not from a reply under an announcement, which is where copies are posted within seconds.
  • Not from a message you did not ask for, ever.
Checks that need it and nothing else – what the address unlocks
Checks that need it and nothing else – None of them work from a ticker

What you can do once you have it

Everything. Paste it into Bubblemaps and see whether twenty independent-looking wallets are one entity. Paste it into Blockscout and read whether minting has been renounced, who deployed it and what else that deployer has created. Find the pool and check whether the liquidity can be withdrawn. None of those checks accept a ticker.

Reading one safely

  1. Check the first four and last four characters, not the middle. Vanity-generated lookalikes match the beginning and diverge in the middle.
  2. Paste, never type. A transposed character is a different address, usually one nobody controls.
  3. Verify it is a token and not a wallet – the explorer says which, and a contract shows code.
  4. Look at when it was deployed. A contract created eleven minutes ago is a fact worth having before anything else.
  5. Keep the address, not the name, if you are writing it down for later.

A note on address poisoning

There is an attack built entirely on people copying addresses from their own history. It sends a worthless transaction from an address that matches yours at both ends, so it appears in your transaction list looking familiar, and it is there for the moment you copy from history instead of from source. Copy from the source every time and it cannot reach you.

FAQ

What is a token contract address?

The address where the token's contract lives on the chain – 42 characters starting 0x. It is the token's only unique identifier, because names and symbols are free text chosen at deployment and can be duplicated by anyone.

Where do you find a token's contract address?

From the project's own site or pinned post, or from the pool you are trading against on the venue itself. Not from a search result, which can be paid placement, and not from a reply under an announcement, which is where copies get posted within seconds of the original.

Why do two tokens have the same name?

Because the name and ticker are just strings written into the contract when it is deployed, and nothing checks them against anything. Copies exist specifically to be mistaken for the original, which is why the address is the only part worth verifying.

More from the blog