ANAME Service
Agents Name Service
Overview
A domain is a structured identifier that helps organize and address Agents within a network. It acts as a namespace, grouping Agents under a common label to make interactions more intuitive. In any Agent-based system, particularly in decentralized environments including the ASI network, Agents need a clear way to identify and communicate with each other. Instead of relying on long, complex addresses, domains provide a structured way to reference them.
In a system where different applications or organizations manage multiple Agents, domains help distinguish their roles effortlessly. For instance, a transport-related Agent could belong to the transport.agent
domain, while a financial Agent might operate under finance.agent
. Within these domains, Agents have unique names, ensuring that they can be addressed correctly. An Agent named bob-0.transport.agent
could be responsible for a smart mobility service, whereas alice.weather.agent
might provide weather updates.
Domains make Agents interactions more scalable and efficient by keeping their identities organized. As networks grow, having structured namespaces allows Agents to be categorized in a way that reduces confusion and improves communication. This structure also supports interoperability, enabling Agents from different domains to interact while maintaining distinct roles. By making it easier to discover and reference Agents, domains enhance both usability and system-wide coordination.
Agent Domains on the ASI Alliance Network
It is possible to explore Agents domains on the ASI Alliance Network using the Companion App (opens in a new tab). Open the App and connect your ASI Alliance web
.
Once you connect it successfully, you will need to click the Connect Wallet button in the top right corner and select Domain from the drop-down menu.
You will be redirected to the Domains page.
Here, you can either get a new domain for your Agents or explore already existing domains attached to your Agents.
Get a new domain
In the Domains page, select the Get a new domain tab.
Look for any domain you wish to buy and associate with an Agent by typing it in within the dedicated search bar (e.g., billy.ai
). Once you click the Check button; a list of results will appear below showing all the results related to your search.
A particular domain could have already been bought by another user and in that case it won't be available for purchase and marked as Unavailable. For any other available domain, check for the one you want to purchase and click the Buy button. A price in FET tokens per year will be displayed for each particular domain. The newly purchased domain is then associated and managed using the ASI Wallet Account you connected to the UI. This account becomes the Administrator of the domain, meaning that this account has full control over the domain's settings.
An Admin has full control over domain settings, such as managing user roles and domain configurations, as well as performing tasks such as renewal and deletion of the domain itself. Admin permission is automatically granted to the account which purchased the domain in the first place. Once an administrator purchases a domain, it is possible to add all subdomains desired freely. Permissions within these subdomains are inherited from the top level domain permission configurations.
On the other hand, a Writer account has limited access, primarily focused on registration of Agents into domains, without the ability to modify domain configurations or manage user roles. This permission level is assigned to users by the Admin account. Depending on the user's role, the UI will slightly change when it comes to domains' details exploration. If a user has no role being granted, then the user will just be able to check the domain's details, without the ability to perform any action.
You will then be able to see all details related to the domain you have chosen.
To complete the purchase, you must click Confirm, which will process the transaction on-chain. If you decide not to proceed, selecting Cancel will close the window without making any changes. If you go on with the purchase, you will need to Approve the transaction within your ASI Web Wallet pop-up window.
After successful confirmation, the domain will be linked to your account, allowing you to use it as a recognizable identifier for your Agent. Remember that you will need to renew the domain annually to maintain ownership!
Explore your domains
In the Domains page, select the My domains tab.
You will be able to see a full list of all domains you previously purchased and that are associated with the address of the ASI Wallet you connected to the Companion App UI. Each Domain has multiple information, including:
- Subdomains: The number of subdomains associated with the domain.
- Domain/Agent mappings: How many mappings are set up between agents and the domain.
- Expiration: Helps to monitor this to renew domains before they expire.
- Role: It is the user's role associated with the domain based on permissions levels. We can distinguish 2 permission levels: Admin and Writer.
If you click on one of your domains, you will be able to explore the particular domain's details:
Administrator permissions
If you have Admin permissions then you will be in full control of that particular domain configuration.
You will be able to explore the details of that specific domain (e.g., billy.helper
), including the Agents mapped towards it, the subdomains and weights in case Agents share the same domain. You can also explore Permissions within the dedicated section and add an Admin or a Writer account to the domain itself. You can edit or remove permissions by clicking the dedicated buttons for each permission granted.
You are also able to add a particular Agent, using its address, to the domain by using the Connect an Agent section. You will need to provide the Agent Address and assign a weight to determine selection priority if multiple Agents share the same exact domain, with higher values indicating priority. You can optionally specify a subdomain (e.g., foo.billy.helper
). Once you are satisfied, click Add to register the Agents and map it to that domain. Once an Agent is mapped to the domain, you can click the pencil icon to edit an existing Agent mapping, or, you can click the crossed-out link icon to remove an Agent's association with the domain:
Writer permissions
If you have Writer permissions, then you will be just able to add/edit Agents mapped to that specific domain. It is at this point that the benefit of having Writer permission comes into play as this permission allows all manipulation with Agents and mapping to the domain. This is particularly helpful whenever you need someone to handle day-to-day registration of Agents into a particular domain configuration.