Skip to content

data(algorand): add NFDomains JavaScript SDK - #3210

Open
stmr wants to merge 2 commits into
Chain-Love:mainfrom
stmr:data/algorand-nfd-sdk
Open

data(algorand): add NFDomains JavaScript SDK#3210
stmr wants to merge 2 commits into
Chain-Love:mainfrom
stmr:data/algorand-nfd-sdk

Conversation

@stmr

@stmr stmr commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the official Algorand NFDomains JavaScript SDK (@txnlab/nfd-sdk) that was missing from the Algorand SDK table:

  • provider identity + 180x180 transparent PNG from the official NFDomains apple-touch icon
  • canonical SDK offer with GitHub/docs evidence
  • Algorand listing via !offer:nfd-sdk

NFDomains is TxnLab's Algorand naming protocol (.algo names). The SDK resolves, mints, and manages NFDs on-chain and via the NFD API. First-party sources: docs.nf.domains, github.com/TxnLab/nfd-sdk, and txnlab.dev.

This is a different product from competing use-wallet PRs; the offer slug is nfd-sdk.

Sources

Type of change

  • Add data rows
  • Update data rows
  • Remove data rows
  • Schema change
  • Documentation/metadata only

Scope

  • Networks affected: Algorand
  • Categories affected: sdks, providers
  • Rows added: 1 provider, 1 canonical offer, 1 Algorand listing
  • Image added: references/providers/images/nfdomains.png (180x180 RGBA PNG from the official icon)

Verification

  • python3 git-hooks/pre-commit.py passed locally after keeping only these four files
  • Live URL checks: https://app.nf.domains/ 200, https://docs.nf.domains/ 200, https://github.com/TxnLab/nfd-sdk 200

Payout

Ethereum payout address for USDC/USDT: 0x10DFE6771131BEc830A7a44D7Be45Ced0741b2b3

Add TxnLab's official @txnlab/nfd-sdk listing for on-chain and API NFD resolution, sourced from docs.nf.domains and the GitHub/npm package.
@github-actions

Copy link
Copy Markdown

Summary

Status Count
🔍 Total 7
🔗 Unique 6
✅ Successful 7
⏳ Timeouts 0
🔀 Redirected 1
👻 Excluded 0
❓ Unknown 0
🚫 Errors 0
⛔ Unsupported 0

Full Github Actions output

USS-Supervisor
USS-Supervisor previously approved these changes Aug 25, 2026

@USS-Supervisor USS-Supervisor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: APPROVE
Risk: LOW
Summary: Adds the NFDomains Algorand SDK listing with matching canonical offer/provider rows and provider image. Required validation passed, current-cycle link-check succeeded with 7/7 links and 0 errors, and static checks found stable CSV widths, clean whitespace, resolving !offer:nfd-sdk, no duplicate touched slugs, and a 180x180 RGBA PNG provider image.
Findings: None.
Confidence: HIGH

@stmr

stmr commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

Current status: this head is now USS-Supervisor approved and the validator plus link-check have passed. Could a maintainer merge it and include the eligible NFDomains SDK fields in the next payout cycle?

Ethereum payout address for USDC/USDT: 0x10DFE6771131BEc830A7a44D7Be45Ced0741b2b3

@USS-Supervisor

Copy link
Copy Markdown
Member

Hi @eugene17kotov - this stale PR looks ready for reviewer action. Required CI is passing, and I do not see a current creator-side blocker. I requested your review; could you please take a look when you have a chance?

@Adisaok Adisaok left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @stmr, thank you for the contribution.

I independently verified the new nfd-sdk offer, its provider row, and the Algorand listing:

  1. SDK authenticity: confirmed @txnlab/nfd-sdk exists on GitHub and npm, is MIT licensed, and is TypeScript. Its own description, "JS SDK for interacting with NFDomains (NFD) directly on-chain and via API," matches the PR's offer description almost verbatim. The algosdk peer dependency is confirmed directly in the package's install instructions.

  2. Provider identity: NFDomains (rather than the parent company TxnLab) is a reasonable choice of provider; it has its own domain (nf.domains), app, Discord, and description distinct from TxnLab's other products.

  3. Checked for precedent conflicts: no TxnLab or use-wallet entries currently exist anywhere in the database, so this doesn't contradict any existing convention.

  4. Distinctness from use-wallet: I independently confirmed @txnlab/use-wallet is a separate, unrelated TxnLab product (wallet connection, not name resolution) that happens to share TxnLab's Discord with NFD; it's genuinely a different product, not a duplicate. I appreciate the proactive note flagging the other pending PR to avoid reviewer confusion.

  5. Automation-managed fields: maintainer, license, latestKnownVersion, and latestKnownReleaseDate are correctly left blank, consistent with the SDKs wiki's rule that these are automation-only fields.

  6. Image: The logo was downloaded and inspected directly with PIL; confirmed 180×180, RGBA, PNG.

  7. Actively maintained: It is confirmed that the GitHub link is actively maintained, as there are a series of recent activities on it. Checked for domain migration/rebrand; none found. app.nf.domains, docs.nf.domains, and api.nf.domains are all current, actively maintained (docs snapshot as recent as Feb 2026), and confirmed as TxnLab Inc.'s official domains via their own Terms of Service and active X/Twitter account.

  8. planType: I confirmed the PR correctly captured "Public," which matches Common-Columns' definition exactly ("no payments or registration needed"); it's an open-source npm install with no signup.

  9. planName: I confirmed that it is correctly left blank as required if it is the same as the planType.10. price: It is correctly captured as $0, as the offer is open source, which does not require any payment.

  10. Dependencies: Both confirmed; algokit-utils's own npm page lists @txnlab/nfd-sdk as a direct dependent, and nfd-sdk's README shows both imported together in the same example.

Authoritative sources:

https://github.com/TxnLab/nfd-sdk
https://www.npmjs.com/package/@txnlab/nfd-sdk
https://docs.nf.domains/
https://app.nf.domains/
https://github.com/Chain-Love/chain-love/blob/main/references/providers/images/README.md
https://github.com/Chain-Love/chain-love/wiki/Style-Guide

No data-integrity or classification issues identified.

Therefore, I approve this PR. Thank you.

@eugene17kotov

Copy link
Copy Markdown
Collaborator

@Adisaok
Thanks for the detailed validation. A lot of the SDK-level work here was done well: you correctly verified the SDK itself, its active maintenance, Algorand applicability, language, dependencies, Public / $0 semantics, automation-managed fields, and even inspected the submitted image asset directly.

However, there is one material issue with the review: I don't agree with the conclusion that NFDomains should be accepted as the provider.

Having its own branding, app, documentation, domain, and community channels establishes NFDomains as a distinct product, but that does not necessarily make it a distinct provider entity in the Chain.Love model. Providers represent the accountable company/organization, while offers represent their products.

The current first-party evidence points to TxnLab Inc. as that accountable organization:

  • TxnLab's current website lists NFDomains among its products and separately lists nfd-sdk among its open-source SDKs.
  • NFDomains' own Terms identify TxnLab Inc. as the entity providing the NFDomains service.
  • The SDK itself is published as @txnlab/nfd-sdk, lives under TxnLab/nfd-sdk, and its package metadata identifies TxnLab Inc. as the author.

So the cleaner representation is:

TxnLab → NFD SDK → Algorand listing

rather than creating NFDomains as a separate provider.

The check against use-wallet was useful, but the fact that it is a separate TxnLab product does not support creating separate providers for each product — a single provider can and normally should own multiple distinct offers.

Because provider identity is the upstream layer for the canonical offer and listing, this is a material miss in the validation and changes the expected verdict to Request changes.

The rest of the validation work was strong, but I can't approve this review because the provider attribution itself needs to be corrected.

@eugene17kotov eugene17kotov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding the NFD SDK. The SDK itself is valid, actively maintained, correctly categorized under sdks, and the Algorand !offer:nfd-sdk listing can remain.

There is one provider-level issue to correct before this can be accepted.

NFDomains is the product/protocol, while the accountable organization behind both NFDomains and nfd-sdk is TxnLab Inc.:

  • TxnLab's current website lists NFDomains as one of its products and nfd-sdk as one of its open-source SDKs.
  • NFDomains' own Terms state that TxnLab Inc. provides the NFDomains platform.
  • The SDK package metadata identifies TxnLab Inc. as the author and is published as @txnlab/nfd-sdk.

Please add TxnLab as the provider instead of creating a separate NFDomains provider, update nfd-sdk.provider to TxnLab, and replace the proposed nfdomains.png provider asset with the corresponding txnlab.png asset.

The SDK metadata and Algorand-specific listing can otherwise remain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants