Skip to content
Max edited this page Apr 2, 2024 · 2 revisions

BANS - Beam Anonymous Naming Service

NOTE: Parts of this spec are still under discussion on beam forum

This is the initial spec for the Beam Name Service. This will be an essential tool in the ecosystem it will act as a public good, with funds from sold domains going to the BeamX DAO Treasury.

1. Overview

BANS is the Beam equivalent of the popular ENS (https://ens.domains/) service on the Ethereum network. Unlike ENS, however, Beam service protects the privacy of the users by keeping the identity of the domain owner as well as the assets sent to this domain confidential and only visible to the owner of the domain.

2. Basic definitions

  1. Domain - a string of characters (A-Z, a-z, _ TBD) followed by a mandatory suffix (.beam) Examples: alex.beam, vik.beam

  2. Domain name length should be between 3 (minimum) and 64 (maximum, TBD) characters

  3. Domain is unique in a sense that only one instance of a domain can exist in the system at the same time and belongs to a single user or entity

3. Initial purchasing of a domain

  1. A user can mint a new unique domain that is not yet registered in the system directly from the dApp by paying a price (in Beam).

  2. Price depends on the length of the domain (TBD):

    5+ character .BEAM names: $10 in BEAM per year.

    4 character .BEAM names: $120 in BEAM per year.

    3 character .BEAM names $320 in BEAM per year.

  3. Purchased domain are in an ‘inactive’ state

  4. All proceeds are forwarded to the vault controlled by BeamX DAO

4.Domain expiration

  1. A domain is sold with a default expiration date of one year (in blocks) from the date of purchase

  2. After the domain expires, an owner gets 90 days to extend it

5. Domain activation

  1. Users can activate a domain by sending an appropriate transaction

  2. After the activation the domain points to a public key of the user

6. Sending assets to a domain

  1. A user can send Beam or any Confidential Assets to a domain through the dApp

  2. An owner of the domain can see all the assets that were sent to the domain and withdraw them to their wallet

  3. Any user who is not an owner of the domain can only see the funds that were sent by themselves, but not the assets that were sent by others

7. Selling a domain

  1. An owner of the domain can sell the domain on the Marketplace for any fixed price set in Beam

  2. The domain is sold as is, with the existing expiration date and in an inactive state

  3. Selling the domain does not affect the existing users account in the system or their ability to withdraw assets that were previously sent to the domain. It only affects future transactions to this domain.

8. Open questions

Should we support multiple top level domains in addition to .beam ?

Should we support subdomains at this point?

Should there be royalties on secondary sales?

Can we make NFT as an image of your .beam domain? Example: How To Make Your NFT Your ENS Profile Avatar 3

What shall the name be? BNS? Or something else?

  1. Future versions
  • Beam wallet integrations

  • Auction support (English? Dutch?)

  • Additional Top level domains