Tezos Domains for Developers
  • Introduction
  • Integrating Tezos Domains
    • Client Libraries
    • GraphQL
      • Mainnet
  • Smart Contract Design
    • Smart Contract Overview
    • Top-Level Domain Registrar
    • Ownership Scheme
    • Domain Data
  • Contract Interoperability
    • Proxy Contracts
    • Name Resolution
    • Buys & Renewals
    • Auction Operations
    • Domain Operations
    • .tez TLD
    • Domains as NFTs
    • Affiliated Buys & Renewals
  • Deployed Contracts
    • Mainnet
    • Ghostnet
  • Audits
    • Audit by Quantstamp
    • Audit by Inference
Powered by GitBook
On this page
  • Open Auction
  • Bids
  • Settlement
  • First-In First-Served Registration
  • Renewals
  • Proceeds
  • Top-level Domain List
  • Configuration

Was this helpful?

  1. Smart Contract Design

Top-Level Domain Registrar

PreviousSmart Contract OverviewNextOwnership Scheme

Last updated 4 years ago

Was this helpful?

The registrar smart contract is responsible for managing the top-level domains. It sells second-level domains to buyers and allows renewals.

Open Auction

At service launch, every domain is offered to users through auction first. The registrar implements an model. It is an auction model most people are likely familiar with: all bids are openly visible and every new bid is required to be higher than the last bid. If there are no bids in a given period since the last bid, the auction ends with the highest bidder winning the auction.

Bids

Any account can submit a bid during an active auction and transfer associated funds along in the same transaction. If a bid is higher or equal to the current highest bid multiplied by (100% + %), it becomes the new highest bid and the previous highest bid becomes refundable or available for future bids (on the same or a different domain). Otherwise, the transaction fails. The auction ends after seconds since the last bid, but not earlier than since the auction's start.

A special case is the first bid, which has to be greater or equal to . When a previously unregistered domain name is first bid on, the name is pre-registered in the name registry to ensure its validity.

Settlement

After the auction ends, there is a settlement period of the same length as . The highest bidder invokes the settlement process transferring the domain to a chosen address, which becomes the new owner. The domain is registered for the (the time spent in the settlement period counts towards that period). If the highest bidder doesn't invoke settlement, the domain is treated as expired after the settlement phase ends.

First-In First-Served Registration

An expired domain becomes available for FIFS only after its auction ended with no bids. In the FIFS model, all domains are sold for a flat fee equal to the . In the period after the launch of the smart contract, all domains are treated as recently expired.

For FIFS registration, the contract implements a commit & reveal scheme to avoid of transactions.

Renewals

Owners of domains can renew their domains at any time up until the domain expires. The chosen renewal period has to be greater or equal to . Renewals are priced using .

Proceeds

Top-level Domain List

The top-level domains available are:

Name

Description

The standard TLD for names in Latin

TLDs for more character scripts will be likely made available in the future.

Configuration

There are several numeric parameters stored to configure this contract in the config bigmap. The keys of the bigmap following:

  • 0 = max_commitment_age is the maximum time for a buy commitment to be valid (in seconds)

  • 1 = min_commitment_age is the minimum time for a buy commitment to be valid (in seconds)

  • 2 = standard_price_per_day is the standard FIFS price for a day and the minimum amount that participants have to bid initially in auction (in picotezos = 1e-12 tez)

  • 3 = min_duration is the minimum period anyone can register or renew a domain for (in seconds)

  • 4 = min_bid_increase_ratio is the minimum ratio of a new bid to the current highest bid (in percent)

  • 5 = min_auction_period is the minimum auction period (in seconds)

  • 6 = bid_additional_period is the period after which the auction ends measured since the last successful bid (in seconds)

  • 1000 = launch_date is the start of the initial auction period for all domains, i.e., the date the service was officially launched (in second since epoch). The value of 0 means no launch has been configured

    • 1000 + label_length is the override of the launch date for all labels that are label_length characters long

Proceeds from Tezos Domains registrations and auctions are currently being accumulated in the smart contract. Only the can transfer funds stored in the contract. To learn more about the future plans for Tezos Domains proceeds, please .

The susceptibility to spoofing attacks using look-alike characters is reduced by limiting TLDs to predefined character scripts. Neither whole-script and mixed-script names can be created under one TLD.

confusable
open ascending price auction
front-running
min_bid_increase_ratio
bid_additional_period
min_auction_period
standard_price_per_day
min_duration
min_duration
standard_price_per_day
min_duration
standard_price_per_day
.tez
visit our website
administrative multisig