Token Symbol Collisions and Asset Identity
Prevent assets with matching symbols from merging by using chain and contract identifiers, while treating names, logos and tickers as display metadata.

Overview
When translating these concepts into an integration, keep the scope described by the wallet history api with the result. The examples in wallet transaction history and smart contract event logs show how the same distinction affects neighbouring data questions.
Token symbols are convenient labels, but they are not unique identifiers. A data model keyed by symbol will eventually combine unrelated balances, prices or histories.
Anchor the asset to its technical identity
For a contract token, use network and contract address, adding token ID when the standard requires it. Represent native currencies explicitly instead of inventing a token address. Keep symbol and name as mutable metadata associated with that identity. A bridged representation can share a familiar ticker while carrying separate contract and bridge risk.
Worked example: two assets called USD
Contract A and unrelated contract B both report symbol USD. A wallet owns balances in both. If prices are joined by symbol, an unverified B balance can inherit A’s market value. An identity-based join prevents that mistake and permits the UI to show both display labels with a distinguishing network or contract reference.
Review every metadata shortcut
Test symbol-only search results, cached logos and cross-chain exports. Require an explicit mapping before grouping representations into an economic asset family. Record who supplied that mapping and when it applied. Similar branding is not evidence of issuer identity, redeemability or interchangeability, so keep grouped totals reversible into their constituent technical assets.
A practical acceptance test
Give unrelated contracts the same ticker and attach a price only to the first identity. The second holding must remain unpriced rather than inherit that price. Add a documented economic-family mapping as a separate layer, then verify that removing it restores independent totals without changing any raw balance or event identity.
Questions about the topic
Frequently asked questions
Can two valid tokens share a symbol?
Yes. Symbols are not globally unique.
Should bridged tokens automatically share one balance?
No. Group them only under an explicit representation policy.
Standards & technical documentation