top of page


Songbird Domains

Songbird Domains's  icon image

Songbird Domains


Songbird Domains's  icon image
average rating is 2.6 out of 5

8 Ratings






8 months ago

Last Updated


What are Web3 domains?

Every crypto/NFT community starts with an idea. First it grows to a few fans. A few supporters. Few contributors. And it keeps growing and growing. Then it sets up a Discord or Telegram group. Then it becomes a thing. A brand.

Some take it a step further and form a DAO with its own token. But the basic principle stays the same. They are a group of people who share the same passion and vision.

As a founder or moderator of your community, you have the responsibility to nurture it. One great way to do it is to set a domain extension for your community.

Surely you have noticed people on Twitter changing their name to domain names with extensions like .eth, .L2, .sol, etc. Powered by Punk Domains, Songbird Domains are partnering with Cyber Identity and The Satraps team to bring .sgb domains to the Songbird community; and soon to the Flare Community.


Web3 domains are a digital identity. The Songbird community members can use their Songbird domains as usernames when they log into your web3 dapp, or any dapp that accepts that domain as a credential.

They can attach additional data to a domain, like a website URL or a Twitter handle. Or they can easily send tokens and NFTs to each other. Later when the Cyber Identity product is live, certain domain owners can use their domain as a digital identity credential to access Web3 dapps and services. The domains that will be utilized as such can be voted for through Satraps governance. 

The Satraps and Cyber Identity, in partnership with Punk Domains will bring additional domains with utilities to the Songbird and Flare communities - stay tuned!

If you are interested in deploying your own community domain on the Songbird Network, please reach out to us.

Web3 Domains + Web3 Identities

Punk Domains protocol was built with modularity in mind, which makes it very flexible and allows for different parts of the module to be owned by different owners (for example, TLDs or even factories can be owned by a different owners). 


TLD factories

We’ll start with the main component of the Punk Domains architecture: a TLD factory.

A TLD factory is a smart contract through which you can create new top-level domains (or TLDs, such as .web3, .ape, op, .etc). Each TLD is a separate smart contract, which is only possible because factory contracts have this “magical” ability to create new contracts on-chain.

TLD contracts do not need to be created and deployed manually by any person. A new TLD contract is created dynamically on-chain, when the appropriate method in the factory contract is called (createTld method or ownerCreateTld method).


Why are there multiple factories?

Each factory holds a template for a TLD that can be created through it. These TLD templates must follow the same basic structure (the same set of base methods), but can implement some methods differently or even have some special additional methods.

For example, one TLD template can limit TLDs to the same metadata image background, while another template (from a different factory) can allow for custom domain images. Factories and templates could also differ on which business model they allow (renewable vs. one-time purchase) and in many other ways.


How many different types of TLD factories there are?

Currently we have two factories (Standard and Flexi), but we expect many more in the future. There’s no limit on how many factories can be used in the Punk Domains protocol.

Even though existing factories right now are owned by the Punk Domains governance, they can be owned by different entities in the future. The protocol allows that and it works perfectly fine.


The Forbidden TLDs contract

Because there are multiple factories that can produce new top-level domains, it’s important that they avoid collisions.

In order to coordinate, there’s a contract called PunkForbiddenTlds which holds a list of already created top-level domains. Factories, of course, are not allowed to create new TLDs with the same name (hence, the “forbidden TLDs list”).

The Forbidden TLDs list does not include only TLDs from the Punk Domains ecosystem, but also TLDs created by other protocols such as .eth by ENS, and TLDs owned by Unstoppable Domains.


The Resolver contract

Resolving a domain means querying an address (and other data) associated with this domain. There’s also a reverse process (called reverse-resolver) where you try to find domain(s) associated with an address.

Each TLD contract has a resolver and a reverse-resolver implemented by default, as methods in the TLD contract itself.

But because there are so many TLD contracts, it’s also good to have a single smart contract that can resolve all TLDs on the given chain. This contract is called PunkResolver, and is not crucial for the system to work, but it is a nice shortcut.

Instead of having to find and/or store all TLD contract addresses, you just need to know one contract address (the resolver’s address) and always resolve domains through that contract.

Punk Domains protocol