# Read FAssets Agent Details

> Learn how to read FAssets agent details

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

Source: https://dev.flare.network/fassets/developer-guides/fassets-agent-details

## Overview[​](#overview "Direct link to Overview")

In this guide, you will learn how to read FAssets agent details such as agent name, description, logo, and terms of use utilizing the [AgentOwnerRegistry](/fassets/reference/IAgentOwnerRegistry) smart contract. This information is essential for building user interfaces that display agent information or for validating agent credentials in your applications.

## Prerequisites[​](#prerequisites "Direct link to Prerequisites")

-   Basic understanding of [FAssets system](/fassets/overview).
-   [Flare Network Periphery Contracts](https://www.npmjs.com/package/@flarenetwork/flare-periphery-contracts) package.

## Understanding FAssets Agents[​](#understanding-fassets-agents "Direct link to Understanding FAssets Agents")

FAssets agents are entities that manage the minting and redemption of FAssets tokens.

Each agent has:

-   **Management Address**: The address that controls the agent's operations.
-   **Agent Name**: Agent's display name.
-   **Description**: Detailed information about the agent.
-   **Icon URL**: Link to the agent's logo or branding image.
-   **Terms of Use URL**: Link to the agent's terms and conditions.

## Step-by-Step Implementation[​](#step-by-step-implementation "Direct link to Step-by-Step Implementation")

### Get the AgentOwnerRegistry Contract Address[​](#get-the-agentownerregistry-contract-address "Direct link to Get the AgentOwnerRegistry Contract Address")

The [AgentOwnerRegistry](/fassets/reference/IAgentOwnerRegistry) contract address is stored in the FAssets Asset Manager settings. Here's how to retrieve it:

```
import {IAssetManager} from "@flarenetwork/flare-periphery-contracts/coston2/IAssetManager.sol";import {ContractRegistry} from "@flarenetwork/flare-periphery-contracts/coston2/ContractRegistry.sol";// Get the Asset Manager instanceIAssetManager assetManager = ContractRegistry.getAssetManagerFXRP();// Retrieve the AgentOwnerRegistry address from settingsaddress agentOwnerRegistry = assetManager.getSettings().agentOwnerRegistry;
```

### Access the AgentOwnerRegistry Contract[​](#access-the-agentownerregistry-contract "Direct link to Access the AgentOwnerRegistry Contract")

Create an interface instance to interact with the AgentOwnerRegistry:

```
import {IAgentOwnerRegistry} from "@flarenetwork/flare-periphery-contracts/coston2/IAgentOwnerRegistry.sol";IAgentOwnerRegistry agentOwnerRegistryContract = IAgentOwnerRegistry(agentOwnerRegistry);
```

### Read Agent Details[​](#read-agent-details "Direct link to Read Agent Details")

The [AgentOwnerRegistry](/fassets/reference/IAgentOwnerRegistry) provides several functions to retrieve agent information. All functions require the agent's management address as a parameter:

#### Available Functions[​](#available-functions "Direct link to Available Functions")

-   [`getAgentName(address _managementAddress)`](/fassets/reference/IAgentOwnerRegistry#getagentname) - Returns the agent's display name.
-   [`getAgentDescription(address _managementAddress)`](/fassets/reference/IAgentOwnerRegistry#getagentdescription) - Returns the agent's description.
-   [`getAgentIconUrl(address _managementAddress)`](/fassets/reference/IAgentOwnerRegistry#getagenticonurl) - Returns the URL to the agent's icon/logo.
-   [`getAgentTermsOfUseUrl(address _managementAddress)`](/fassets/reference/IAgentOwnerRegistry#getagenttermsofuseurl) - Returns the URL to the agent's terms of use.

#### Complete Example Function[​](#complete-example-function "Direct link to Complete Example Function")

Here's a complete Solidity language function that retrieves all agent details in a single call:

```
function getAgentDetails(address _managementAddress) external view  returns (string memory name, string memory description, string memory iconUrl, string memory termsOfUseUrl) {  // Get Asset Manager and AgentOwnerRegistry  IAssetManager assetManager = ContractRegistry.getAssetManagerFXRP();  address agentOwnerRegistryAddress = assetManager.getSettings().agentOwnerRegistry;  IAgentOwnerRegistry agentOwnerRegistry = IAgentOwnerRegistry(agentOwnerRegistryAddress);  // Retrieve all agent details  name = agentOwnerRegistry.getAgentName(_managementAddress);  description = agentOwnerRegistry.getAgentDescription(_managementAddress);  iconUrl = agentOwnerRegistry.getAgentIconUrl(_managementAddress);  termsOfUseUrl = agentOwnerRegistry.getAgentTermsOfUseUrl(_managementAddress);  return (name, description, iconUrl, termsOfUseUrl);}
```

## Summary[​](#summary "Direct link to Summary")

In this guide, you learned how to read FAssets agent details using the [AgentOwnerRegistry](/fassets/reference/IAgentOwnerRegistry) smart contract. This functionality is crucial for building user interfaces that display agent information and for validating agent credentials in your applications.

The complete implementation examples are available in the [Flare Hardhat Starter Kit](/network/guides/hardhat-foundry-starter-kit).

Next Steps

To continue your FAssets development journey, you can:

-   Learn how to [mint FXRP](/fassets/developer-guides/fassets-direct-minting)
-   Understand how to [redeem FXRP](/fassets/developer-guides/fassets-redeem)
-   Explore [FAssets system settings](/fassets/operational-parameters)
