There was some debate on a call recently about how tokens should be named in the token interface. I want to continue the conversation here so that we might come to consensus about this. Also continuing the discussion in the forum provides the opportunity for input from other community members and Sovryn users who might have opinions or insights about this.
On one side of the debate there are folks who think that the token names should be abstracted so that users just see an asset they are familiar with. For example, RBTC would become BTC
and USDT would become USD
. There is some precedent for this kind of abstraction, although not in the exact way mentioned here. dydx is a derivatives trading platform on Ethereum that uses BTC
and USD
in their trading interface:
However what is different about dydx is that the BTC and USD being traded are not tokens, they are derivatives backed by USDC collateral, which is specified in their FAQ:
On the other side of this debate are those (including myself) who argue that because Sovryn users are actually trading specific tokens, those tokens should be clearly identified in the user interface so that users don’t end up holding a token that they do not want. One example of a trading platform that comes close to following the UI pattern I advocate for is Uniswap, which shows the exact token name when users are selecting the tokens they want to trade:
While Uniswap does not show the contract address in the UI, they do offer the ability for users to paste in a contract address so users can be sure they’re getting the exact token they want. I should note that this is how virtually all DEXes that trade multiple tokens show the token names. This is also what users expect, according to a (admittedly low sample size) poll I ran on Mastodon and Twitter. It would be my preference that in the Sovryn dropdown menu where users select what tokens to trade/lend/borrow they see the token name and contract address, so they can be sure right away that they are selecting the right token and don’t end up holding something they don’t want.
I am not in principle opposed to the abstraction method, where RBTC is shown as simply BTC
in the UI, as long as there is some visual indicator of which BTC-pegged token is being abstracted. However, I do note that regardless of how the token name is abstracted a challenge arises when there are multiple pegged tokens being traded in the system that represent the same asset. For example, today Sovryn lists USDT and DOC, both dollar-pegged stablecoins. Under token abstraction, would these both be shown as USD
in the UI? Even with visual indicators of the underlying token, I can imagine users easily getting confused about which is which if we don’t spell it out for them like “USD (USDT - 0xef213441a85df4d7acbdae0cf78004e1e486bb96
)” and “USD (DOC - 0xe700691da7b9851f2f35f8b8182c69c53ccad9db
)”. In the future, there may be multiple BTC-pegged tokens listed as well, RBTC and SovBTC. And there could be more such like-pegged tokens coming.
What do others think of this? Do you prefer abstracting the token names in some way? Do you prefer the more detailed way of showing token names? Do you have some other ideas for how tokens should be displayed in the Sovryn interface?
I’ll close by sharing some relevant tweets and a link to the Chain Agnostic standards repo which is attempting to standardize token addressing and naming in our brave new world of pegged tokens and multichain bridges.
https://twitter.com/MyCrypto/status/1369402543625932803