← ClaudeAtlas

hedera-token-servicelisted

How to create, manage, and transfer tokens on Hedera using the Hiero JavaScript SDK (@hiero-ledger/sdk). Use this skill whenever the user wants to work with fungible tokens, NFTs, token creation, minting, burning, transfers, token association, custom fees (fixed, fractional, royalty), airdrops, KYC/freeze/wipe/pause operations, or any HTS (Hedera Token Service) operation in JavaScript or TypeScript. Also trigger when users mention @hashgraph/sdk token operations, ERC-20/ERC-721 equivalents on Hedera, or tokenization on the Hedera network.
nickthelegend/xorv · ★ 0 · AI & Automation · score 67
Install: claude install-skill nickthelegend/xorv
# Hedera Token Service (HTS) — JavaScript SDK HTS is Hedera's native token engine. It lets you create and manage fungible tokens and NFTs without writing smart contracts. Tokens created through HTS are first-class network entities with built-in compliance controls (KYC, freeze, wipe, pause) and custom fee schedules. ## Setup All imports come from `@hiero-ledger/sdk`. Two setup patterns exist: ### Client + setOperator (direct) ```js import { Client, AccountId, PrivateKey } from "@hiero-ledger/sdk"; const client = Client.forName(process.env.HEDERA_NETWORK) .setOperator( AccountId.fromString(process.env.OPERATOR_ID), PrivateKey.fromStringECDSA(process.env.OPERATOR_KEY), ); ``` ### Wallet + LocalProvider (signer-based) ```js import { Wallet, LocalProvider } from "@hiero-ledger/sdk"; const provider = new LocalProvider(); const wallet = new Wallet(process.env.OPERATOR_ID, process.env.OPERATOR_KEY, provider); ``` With the signer pattern, use `freezeWithSigner(wallet)`, `signWithSigner(wallet)`, `executeWithSigner(wallet)`, and `getReceiptWithSigner(wallet)` instead of `freezeWith(client)` / `execute(client)`. ## Transaction Lifecycle Every transaction follows this flow: **configure -> freeze -> sign -> execute -> receipt**. ```js const tx = await new SomeTransaction() .setSomeField(value) .freezeWith(client); // locks the transaction body await tx.sign(privateKey); // add signatures (call multiple times for multi-sig) const response = a