Token

Class for managing fungible and non-fungible token operations.

Constructor

new Token(
  transactionBuilder: RadixTransactionBuilder,
  gatewayClient: RadixGatewayClient,
  networkId: number
)

Fungible Token Operations

createFungibleToken()

Create new fungible token.

async createFungibleToken(
  options: FungibleResourceOptions,
  wallet: RadixWallet
): Promise\<string>

Parameters:

interface FungibleResourceOptions {
  name: string;
  symbol: string;
  description?: string;
  iconUrl?: string;
  infoUrl?: string;
  initialSupply: string;
  divisibility?: number;
}

Example:

const txHash = await token.createFungibleToken({
  name: "MyToken",
  symbol: "MTK", 
  description: "My awesome token",
  initialSupply: "1000000"
}, wallet);

transferToken()

Transfer tokens between accounts.

async transferToken(
  options: TokenTransferOptions,
  wallet: RadixWallet
): Promise\<string>

Parameters:

interface TokenTransferOptions {
  toAddress: string;
  amount: string;
  resourceAddress: string;
}

Example:

const txHash = await token.transferToken({
  toAddress: "account_tdx_2_12x...",
  amount: "100",
  resourceAddress: "resource_tdx_..."
}, wallet);

getTokenMetadata()

Get token metadata and information.

async getTokenMetadata(resourceAddress: string): Promise\<TokenMetadata>

Example:

const metadata = await token.getTokenMetadata("resource_tdx_...");
console.log("Symbol:", metadata.symbol);
console.log("Name:", metadata.name);

NFT Operations

createNFTCollection()

Create new NFT collection.

async createNFTCollection(
  options: NonFungibleResourceOptions,
  wallet: RadixWallet
): Promise\<string>

Parameters:

interface NonFungibleResourceOptions {
  name: string;
  description?: string;
  iconUrl?: string;
  collectionUrl?: string;
  keyValueSchema?: string;
}

Example:

const txHash = await token.createNFTCollection({
  name: "MyNFTs",
  description: "My NFT collection",
  iconUrl: "https://example.com/icon.png"
}, wallet);

mintNFT()

Mint new NFT in collection.

async mintNFT(
  options: NFTMintOptions,
  wallet: RadixWallet
): Promise\<string>

Parameters:

interface NFTMintOptions {
  resourceAddress: string;
  nonFungibleLocalId: string;
  metadata: Record\<string, any\>;
  recipientAddress?: string;
}

Example:

const txHash = await token.mintNFT({
  resourceAddress: "resource_tdx_...",
  nonFungibleLocalId: "001",
  metadata: {
    name: "Cool NFT #1",
    description: "A very cool NFT",
    image: "https://example.com/nft1.png"
  }
}, wallet);

Token Standards: Follows Radix token standards with full metadata support and automatic divisibility handling.