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
  • Contract: AffiliateBuyRenew
  • Entrypoint: buy
  • Entrypoint: renew

Was this helpful?

  1. Contract Interoperability

Affiliated Buys & Renewals

PreviousDomains as NFTsNextMainnet

Last updated 1 day ago

Was this helpful?

Tezos Domains introduces an affiliate model that allows partners to offer domain purchases directly through their own apps. Affiliates earn a percentage with each tracked sale. This model is ideal for integration into wallets, marketplaces, and explorers, though any Tezos project can become an affiliate partner. To join the program, please follow the steps on .

Affiliate purchases are tracked using a dedicated smart contract. This contract extends the standard entrypoints by including an additional affiliate parameter, which identifies the affiliate partner by their Tezos address. You can find the mainnet address in our .

Contract: AffiliateBuyRenew

Entrypoint: buy

Buys a second-level domain based on previous commitment (see ).

Amount restriction: The amount sent with this call has to be equal to the price of the domain. The price in mutez is calculated as standard_price_per_day * duration / 1000000.

Parameter

Type

Description

label

bytes

The UTF-8 encoded label of the second-level domain to buy.

duration

nat

Ownership duration represented in days.

owner

address

The new owner of the given domain.

address

address option

The optional address the given domain resolves to.

data

(string, bytes) map

A map of any additional data clients wish to store with the given domain.

nonce

nat

The chosen commitment nonce.

affiliate

address

Address uniquely identifying the affiliate.

Errors:

Error

Description

COMMITMENT_DOES_NOT_EXIST

COMMITMENT_TOO_OLD

The commitment is too old (older than configured age). Try recreating it again.

COMMITMENT_TOO_RECENT

The commitment is too recent (younger than configured age). Wait for some time.

LABEL_TAKEN

The requested label already exists and it is not expired.

LABEL_NOT_AVAILABLE

The requested label is currently not available for registration.

LABEL_IN_AUCTION

The requested label is currently only available in auction.

INVALID_LABEL

LABEL_EMPTY

The given label is empty.

LABEL_TOO_LONG

The label is too long.

NAME_TOO_LONG

The name (label + parent) is too long.

DURATION_TOO_LOW

The requested duration is too low (lower than the configured minimum).

AMOUNT_TOO_LOW

The transferred amount is lower than the actual price.

AMOUNT_TOO_HIGH

The transferred amount is higher than the actual price.

Entrypoint: renew

Renews second-level domain for requested duration.

Amount restriction: The amount sent with this call has to be equal to the price of the domain. The price in mutez is calculated as standard_price_per_day * duration / 1000000.

Parameter

Type

Description

label

bytes

The UTF-8 encoded label of the second-level domain to buy.

duration

nat

The renewal duration represented in days.

affiliate

address

Address uniquely identifying the affiliate.

Errors:

Error

Description

LABEL_NOT_FOUND

The requested label does not exist.

LABEL_EXPIRED

The requested label exists but it is expired. Therefore it can be bought, not renewed.

DURATION_TOO_LOW

The specified duration is too low (lower than the configured minimum).

AMOUNT_TOO_LOW

The transferred amount is lower than the actual price.

AMOUNT_TOO_HIGH

The transferred amount is higher than the actual price.

Corresponding commitment (see ) was not created before.

The given label is not valid. See .

Tezos Domains Forum
buy and renewal
deployed contracts list
TLDRegistrar.Commit
TLDRegistrar.Commit
Label Validation