Skip to content

feat(tokens): add USDT token definition#4836

Open
viral-sangani wants to merge 1 commit into
wevm:mainfrom
viral-sangani:viral/add-usdt-token
Open

feat(tokens): add USDT token definition#4836
viral-sangani wants to merge 1 commit into
wevm:mainfrom
viral-sangani:viral/add-usdt-token

Conversation

@viral-sangani

Copy link
Copy Markdown

Adds a multi-chain usdt token definition to viem/tokens, mirroring the existing usdc definition. This lets consumers reference Tether USD through the first-class tokens API (import { usdt } from 'viem/tokens') instead of hand-rolling their own token types.

What's included

usdt covers native Tether USD (6 decimals) on the following chains:

Chain Address
Ethereum (1) 0xdAC17F958D2ee523a2206206994597C13D831ec7
Optimism (10) 0x94b008aA00579c1307B0EF2c499aD98a8ce58e58
Base (8453) 0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2
Celo (42220) 0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e
Avalanche (43114) 0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7
Linea (59144) 0xA219439258ca9da29E9Cc4cE5596924745e12B93
Scroll (534352) 0xf55BEC9cafDbE8730f096Aa55dad6D22d44099Df

Verification

Every address was checked on-chain (name() / symbol() / decimals()) before inclusion. Chains were intentionally excluded where the canonical deployment is not native 6-decimal Tether USD:

  • BSC (56) — USDT there is 18 decimals, incompatible with defineToken's single decimals field.
  • Polygon, Arbitrum, Unichain, Worldchain — canonical deployment is USDT0 / a bridged variant (already represented by the separate usdt0 definition), not native Tether.
  • Sei — deployment reports USDT.kava (bridged), not native Tether.

Kept conservative on purpose; happy to add more chains if maintainers prefer broader coverage.

Notes

  • Follows the hand-maintained multi-chain pattern of usdc.ts (no generated banner, so pnpm gen:tokenlist leaves it untouched).
  • Flagged popular: true, matching USDC.
  • Added a changeset (patch).

Checklist

  • Tests pass (pnpm vitest run src/tokens/) — includes the index.ts exports snapshot updated for usdt.
  • Lint/format clean (biome check).
  • Typecheck clean (tsc --noEmit).
  • Changeset included.

Adds a multi-chain `usdt` token definition to `viem/tokens`, mirroring
the existing `usdc` definition. Covers native Tether USD (6 decimals)
on mainnet, optimism, base, celo, avalanche, linea, and scroll.

All addresses verified on-chain (name/symbol/decimals) before inclusion.
Chains where the canonical deployment is USDT0 or a bridged variant, or
uses non-6 decimals (e.g. BSC at 18), are intentionally excluded.
@changeset-bot

changeset-bot Bot commented Jul 14, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 703361e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
viem Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

@viral-sangani is attempting to deploy a commit to the Wevm Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant