> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spark.money/llms.txt
> Use this file to discover all available pages before exploring further.

# burnTokens

> Burn tokens to reduce circulating supply.

Burns existing tokens to reduce the circulating supply for the `IssuerSparkWallet`.

## Method Signature

```typescript theme={null}
async burnTokens({
  tokenAmount,
  tokenIdentifier,
  selectedOutputs,
}: {
  tokenAmount: bigint;
  tokenIdentifier: Bech32mTokenIdentifier;
  selectedOutputs?: OutputWithPreviousTransactionData[];
}): Promise<string>
```

## Parameters

<ResponseField name="tokenAmount" type="bigint" required>
  The amount to burn (e.g., `1000n`)
</ResponseField>

<ResponseField name="tokenIdentifier" type="Bech32mTokenIdentifier" required>
  The token identifier to burn.
</ResponseField>

<ResponseField name="selectedOutputs" type="OutputWithPreviousTransactionData[]">
  Optional specific outputs to use for the burn operation
</ResponseField>

## Returns

<ResponseField name="txId" type="string" required>
  Transaction ID
</ResponseField>

## Example

```typescript theme={null}
const tokenIdentifiers = await issuerWallet.getIssuerTokenIdentifiers();
const tokenId = tokenIdentifiers[0];
if (!tokenId) {
  throw new Error("No issuer token found");
}

const txId = await issuerWallet.burnTokens({
  tokenAmount: 500n,
  tokenIdentifier: tokenId,
});

console.log("Tokens burned:", txId);
```
