Skip to content

[Feat]: Decide the economics of DotNS name pricing #209

Description

@sphamjoli

Component

Registration

Priority

P0

Summary

DotNS charges for names through fixed deposits, but the model behind the charge needs final decision before mainnet launch.

We have different questions to be addressed:

  1. Is the charge a deposit, a fee, or rent? Currently it's a refundable deposit, so as a consequence the cost of holding a name forever is just the missing yield on the locked DOTs
  2. How should prices/deposits be computed for different name lengths? Today the price doesn't depend on length: verified users pay nothing, everyone else pays a flat 10 DOT, and short names (five characters or fewer) can't be registered at all. feat: price dotNS names on a scarcity curve #208 proposes a price that doubles for every character below nine. The alternative is an explicit table of a few bands, which is what Solana NS use, and which lets us pick the steps we actually want rather than being locked to a fixed ratio.
  3. Should there be a minimum deposit for names that are reserved to governance?
  4. Should a transfer to an ineligible recipient be priced or refused? Today it's priced at 10 DOT, or free if the name's label was never settled, so personhood/devicehood stops meaning anything once the name is issued. - related to [Feat]: Make PoP-gateway-minted names soulbound #212
  5. Where do the non-refundable fees go? They accumulate in a pot with no withdrawal function at all, while governance could route them to a burn or the treasury.

Proposals

Option A: #208

Add a handler-driven invariant suite over PopRules that asserts the curve's shape holds after any reachable sequence:

  • price is strictly decreasing in base length below nine, and flat at the base fee for base length nine and above.
  • transferFloor for any name and any sender/recipient pair never exceeds the name's own price.
  • price equals D * 2 ** (9 - n) for every admissible base length n below nine, and D at nine and above.

Option B: bands

A few bands rather than a formula, with edges aligned to the personhood boundaries. For example:

Band Deposit
1-2 chars 1,000 DOT
3-5 chars 250 DOT
6-9 chars 50 DOT
10+ chars 10 DOT

This is the shape both ENS and Solana NS use, and it lets us pick the steps we want rather than being locked to a fixed ratio. The two shortest bands are only reachable through the governance reservation flow, so they price an allocation rather than scarcity.

Option C: current model with some fixes

No length pricing at all: verified users continue to pay nothing, unverified users a flat deposit. Decide the transfer policy and the fee destination, and leave the ladder for later.

Acceptance criteria

  • A decision is recorded on whether the charge is a refundable deposit, a non-refundable fee, or recurring rent, and on whether it decays over time.
  • A decision is recorded on whether price varies with length, and if so the chosen bands or formula, with edges confirmed against the personhood eligibility boundaries.
  • A decision is recorded on whether a transfer to an ineligible recipient is priced or refused, settled jointly with [Feat]: Make PoP-gateway-minted names soulbound #212 rather than twice.
  • A decision is recorded on where non-refundable fees go and whether governance can move them.
  • Once the model is agreed, an invariant suite asserting it is opened as a follow-up.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions