agentsclimarketplace

Nfd

Skill TxnLab/skills/skills/nfd

Curated agent skills for TxnLab's Algorand ecosystem — NFDomains, use-wallet, Haystack Router

Install
npx -y skills add TxnLab/skills --skill nfd

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Work with NFDomains (NFDs), the Algorand Name Service (.algo domains), using the @txnlab/nfd-sdk TypeScript SDK. Use when building features that involve resolving .algo domain names to addresses (or reverse), displaying NFD avatars and metadata, searching for NFDs, minting new NFDs, purchasing NFDs from the marketplace, managing NFD metadata and linked addresses, working with NFD segments (subdomains), interacting with NFD vaults, or integrating NFD name resolution into Algorand applications.

SKILL.md

4.3 KB, as published. Nobody here has run it

NFDomains (NFD)

NFDomains are human-readable names (e.g., alice.algo) on the Algorand blockchain. Each NFD is a smart contract that maps a .algo name to wallet addresses, metadata, and a vault account.

Package

@txnlab/nfd-sdk — TypeScript SDK for on-chain NFD operations. Requires algosdk as a peer dependency.

npm install @txnlab/nfd-sdk algosdk

The SDK uses AlgoKit typed clients to interact with NFD contracts directly on-chain. It also exposes nfd.api for search operations that require off-chain indexing.

A REST API exists at https://api.nf.domains (TestNet: https://api.testnet.nf.domains), but the SDK is preferred for all operations it supports.

NfdClient Initialization

import { NfdClient } from '@txnlab/nfd-sdk'

const nfd = new NfdClient() // MainNet (default)
const nfd = NfdClient.mainNet() // MainNet (explicit)
const nfd = NfdClient.testNet() // TestNet

Custom configuration:

import { NfdClient, NfdRegistryId } from '@txnlab/nfd-sdk'
import { AlgorandClient } from '@algorandfoundation/algokit-utils'

const nfd = new NfdClient({
  algorand: AlgorandClient.mainNet(),
  registryId: NfdRegistryId.MAINNET, // 760937186
})

For write operations (mint, buy, manage), set a signer:

const signedClient = nfd.setSigner(activeAddress, transactionSigner)

Key Concepts

  • Forward resolution: Name → address (nfd.resolve('alice.algo'))
  • Reverse lookup: Address → name (nfd.resolveAddress(address))
  • Views: tiny (minimal), brief (default), full (all properties)
  • depositAccount: The safe address to send assets to (resolves verified → unverified → owner)
  • caAlgo: Array of verified linked Algorand addresses
  • unverifiedCaAlgo: Array of unverified linked addresses
  • nfdAccount: The NFD's vault (contract-controlled Algorand account)
  • Segments: Subdomains like sub.root.algo, minted from a root NFD

Reference Files

Read the appropriate file based on the task:

TaskReference
Install SDK, initialize clientgetting-started.md
Resolve name → address, reverse lookupresolve.md
Get avatar/banner imagesimages.md
Search for NFDssearch.md
Mint a new NFDminting.md
Buy or claim an NFDpurchasing.md
Link addresses, set metadatamanaging.md
Work with segments (subdomains)segments.md
Send assets to/from vaultsvaults.md
Integrate NFDs into an app (display names, avatars)integration.md
Full API surface and typesapi-reference.md

SDK vs REST API

The SDK handles: resolve, reverse lookup, images, mint, claim, buy, manage (link address, set metadata, set primary), search.

The REST API is needed for: vault send-to/send-from operations, batch address lookups (20+ addresses), analytics/activity queries, consensus leaders, contract upgrades.

When both can do it, use the SDK.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.