# Name & Address Lookup

The following Go code and example command-line application demonstrates how to efficiently  resolve the smart-signature account address for a **name**, or an **address** on-chain.

See <https://go.dev/learn/> if you want a quick start with go.  Other implementations will be provided, but this code should be fairly understandable and easily translated to other languages.

{% hint style="warning" %}
**See** [**https://github.com/TxnLab/nfd-cli-examples**](https://github.com/TxnLab/nfd-cli-examples) **for a simple CLI program that provides, name, reverse-address lookup (verified, linked addresses), 'owned by' lookup (3.4+), as well as decoding/displaying of all the metadata within an NFD.**

**This program supports looking up / reading V2+ NFDs as well as V1.**
{% endhint %}

{% tabs %}
{% tab title="Name Lookup" %}
To lookup the smart-signature account address for nfdomains.algo, you could use the following example command-line application and run:

`go run ./main.go -name nfdomains.algo`

Which (for mainnet) will output:

Found as V2 name, ASA ID:763844429, APP ID:763844423\
...

This can be verified against the API, by using the nameSig REST API, a GET request to <https://api.nf.domains/nfd/nameSig/nfdomains.algo> which should return the exact same address.
{% endtab %}

{% tab title="Address Lookup" %}
To be able to look up the NFD app ids for a particular address, run:

`go run ./main.go -addr` RSV2YCHXA7MWGFTX3WYI7TVGAS5W5XH5M7ZQVXPPRQ7DNTNW36OW2TRR6I

Which will output:

Found 1 NFDs linked as V2 address\
\[...]

The reverse address verification API for the same:\
<https://api.nf.domains/nfd/revAddressSig/RSV2YCHXA7MWGFTX3WYI7TVGAS5W5XH5M7ZQVXPPRQ7DNTNW36OW2TRR6I>

{% endtab %}

{% tab title="NFDs owned By" %}
To be able to look up the NFD app ids owned by a particular address, run:

`go run ./main.go -addr` RSV2YCHXA7MWGFTX3WYI7TVGAS5W5XH5M7ZQVXPPRQ7DNTNW36OW2TRR6I -owns

This will display all 3.x NFDs owned by a particular address.  V1/V2 NFDs are not fetchable using this solution.  The NFD API will need called instead (or you will need to index NFDs yourself).
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api-docs.nf.domains/reference/on-chain-reference/name-and-address-lookup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
