Username pricing

The ENS registration DApp is set to launch next week, and one of the final remaining pieces is to set the price of a username.

At least initially, it makes sense to price each name at a flat and static amount.

The value of a username is hard to estimate. Prices of a “top-level” .eth name vary based on how much a user is willing to bid, and whether other bidders compete with them for their name at auction.

With a .stateofus.eth name, users have the advantage of much more quickly and conveniently registering on the name service. The money is merely deposited, and not spent; a user will have the option to withdraw their funds after 1 year.

For both Status and our users, there’s a big upside to encouraging as many username registrations as possible. Users will be able to find each other in Status more easily with an ENS name, and eventually, these names will probably be used to build out their identity, for display in public chats, etc.

The current thinking is to set the price to a low amount, e.g. 10 SNT, to encourage registration. User attitudes toward paying for a “username” are not well understood.

We could run a survey to understand the value of an ENS name to our users, but I also want to invite discussion about it here from anyone with an interest in pricing (crypto)economics.

Another factor to consider is, what happens when the price of SNT changes?

10 SNT today = ~$.35. If 10 SNT in 1 year = $50, that’s a lot less inviting.

On the flip side, if the cost of a username in SNT adjusts itself to remain at ~$.35, will users release their names to get back appreciated SNT and then re-register at a lower price?

Please discuss. :tea:

2 Likes

What are the trade offs of updating the price periodically?

Keeping a low price makes sense to me otherwise people will just use regular ENS names and not stateofus.eth. Once we leverage stateofus.eth registrar to add extra features it might be different but currently a stateofus.eth name is not much different than a regular ENS name.

BTW Gitcoin offers free ENS names on the gitcoin.eth domain: https://medium.com/gitcoin/personalize-your-own-gitcoin-ens-name-f8e5d7438e3e

During the call, @ricardo3 mentioned that there is slashing mechanism involved in the process of managing names. He also mentioned that it is connected with the price of a name and I’d love to hear more about it.

As far as I remember, the price for a name in SNT should cover the gas price for sending a transaction that slashes a reported name and covers a reward for the reporter.

Is the slashing mechanism described somewhere ?

I think it’s a big improvement in UX if someone can look up and communicate with someone using barry instead of barry.gitcoin.eth especially on mobile. When there are few users no one cares about short names like the early days of the web and twitter but once there is a large network of users short names become in demand so I think for now we should optimize for user growth.

Also, regarding other services that offer free ENS names like Gitcoin, if we got even 25% of them to register a contact code and use Status it’s presently thousands of new users.

Except that if you do that someone can easily make his own registrar and impersonate everybody

You can read a bit about it in this post: ENS Usernames, Unallowed names & Slashing Conditions

I think preferential treatment in UI is one good value add, if small. So if I type “Barry” to start a new chat, the default look-up is barry.stateofus.eth. And if I choose to display a .eth address in chats, a .stateofus.eth address presents as Barry, whereas any other address contains a full ending.

There must also be certain privileges that we can grant to users who have a Status-registered name. This could be things like:

  • Eligibility to vote in certain DAO initiatives
  • Access to private group chats for community members
  • Profile verified marks to build credibility
  • Easier account recovery

Would love to hear other ideas.

Also, regarding other services that offer free ENS names like Gitcoin, if we got even 25% of them to register a contact code and use Status it’s presently thousands of new users.

Definitely something we need to support as well, through some form of settings.

1 Like

The price is introduced initially to slow down squatting, but now is also important for the slashing mechanism.
If the slashing mechanism fails, the UI should still safeguard by not even trying to resolve usernames against rules. That might not be the case for reserved names, as this extensive list might not be loaded in the user clients to make the dapp load and execute faster.

This are the estimated gas costs for whoever is slashing:

  • slash usernames with a bad characters = 80549 gas
  • slash usernames that are reserved names = 92210 gas
  • slash usernames that are smaller than allowed = 72750 gas
  • slash usernames that start with ‘0x’ and the following 7 characters are hex chars, and the name is smaller than 12 characters = 74523 gas

For having a good safety margin we should consider 180000 gas, that is about the double of the worst case (reserved names), that would be, using 3 gwei, 0.00054 ETH, that would be in today SNT/ETH value about 3 SNT.
We should consider that names publicly known, such as the list of reserved names, would be disputed and some might loose their gas in the process.

So 3 SNT would be for paying the gas cost, therefore the minimum would be about 5 SNT, which would almost give no profit to the slasher, that could have better results by lowering the gas price.

What we want is to really incentivize the slashing, promising a real reward to whoever points a name against the rules, so the profit should be at least 100% to worth the risk of disputing on the slashing mechanism, therefore the reward should be at least 6 SNT.

Following the logic presented above, I suggest the starting registration price at 9 SNT (~0.33 USD @ today), giving 6 SNT to slashers.

If this values turn out to become out of reality the contract is designed to allow change the price for future registrations (not changing past).

2 Likes

So if 9 is the minimum, can we go up 1 SNT and make it 10? The cost in USD is marginally higher, and it feels nicer. 9 SNT would raise questions for me as a user; it’s sort of unusual as prices go. On the plus side, it might indicate that we priced it strategically.

I think that 9 or 10 does not make much difference.

However 9 is a multiple of 3, which make division exact (1/3 of funds is kept in contract for controller to withdraw).
In a design perspective, 9 also a more beautiful number, as 10 requires 2 digits, however I don’t think this should be considered for setting the price. 10 would be considered a full number?
I think that 10 would be better as it is gives more reward to slasher and makes more expansive for squatters, but if that’s the plan we should see how much we want to set for this incentives with the cost of possibly reducing the user adoption.
If the price is too high, it might pose a barrier for small holders. One dollar might be a lot in undeveloped countries.
It’s important to remember that this deposit is refundable after one year of registration.
I expect the price to be changed if the token gets too expansive.

I am unsure about the value and to reduce people from registering lots of names, like all 4 character names, to later sell them.

A related issue happens in online games, for instance https://www.sythe.org/threads/how-to-tell-if-your-name-is-rare-or-not-name-market-tips-faq/