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

# 发行、增发与销毁

> 发行、增发和销毁资产。

## 发行

```ts theme={null}
import { createArksatClient, decimalAmountToRaw, waitForArksatProvider } from '@arksat/wallet-sdk'

export async function onIssueClick() {
  const client = createArksatClient(await waitForArksatProvider())
  const capabilities = await client.getCapabilities()
  if (!capabilities.methods.includes('issueAsset')) throw new Error('钱包不支持发行')
  await client.connect({ actions: ['issueAsset'] })
  const session = await client.getWalletSession()
  return client.issueAsset({
    amount: decimalAmountToRaw('1000', 8),
    metadata: { name: 'Example Token', ticker: 'EX', decimals: 8 },
    expectedAddress: session.address,
    expectedNetwork: session.network.network,
    expectedSessionId: session.sessionId,
  })
}
```

示例发行 1000 枚、8 位小数的资产，返回 `{ assetId, arkTxId }`。实际输入由表单采集并处理错误，后续查询交易状态。

`decimals` 支持 0–18，元数据不可修改，数量为正 uint64 最小单位字符串。不提供 `controlAssetId` 时发行固定供应量；未来需要增发时，发行时指定已有控制资产 ID，接口不会自动创建控制资产。

## 增发与销毁

```ts theme={null}
import { decimalAmountToRaw, type ArksatClient } from '@arksat/wallet-sdk'

export async function reissue(
  client: ArksatClient, assetId: string, amount: string, verifiedDecimals: number,
) {
  await client.connect({ actions: ['reissueAsset'] })
  const session = await client.getWalletSession()
  return client.reissueAsset({
    assetId, amount: decimalAmountToRaw(amount, verifiedDecimals),
    expectedAddress: session.address,
    expectedNetwork: session.network.network,
    expectedSessionId: session.sessionId,
  })
}
```

销毁先申请 `actions: ['burnAsset']`，再调用相同参数结构的 `burnAsset()`。两者返回 `{ txid }`。增发需要控制资产所有权，销毁需要可花费资产；授权不能替代节点支持、所有权和资金校验。

基础连接不包含发行权限。首次连接可合并申请，后续增加权限只需一次追加授权，每笔交易仍需确认，详见[连接与授权](https://docs.arksat.xyz/connection.md)。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.