Blockstream Enterprise Custody SDK
AmpTokenization

Asset Management

How to configure restrictions, control burn permissions, and manage issued assets across AMP wallets.

Complete Setup and Installation first.

This guide uses:

You also need:

  • an issued asset ID
  • one or more AMP wallets

What asset management means

After issuance, asset management is where you define how the asset may move through your ecosystem.

Typical controls include:

  • which wallets can receive the asset
  • whether a wallet can burn the asset
  • bulk restriction updates across several wallets

Configure restrictions for one wallet

const restrictionResult = await broadcastRequest({
  action: 'edit',
  resource: `/assets/${assetId}/wallets/${walletId}/restrictions`,
  details: {
    can_burn: false,
    whitelist: [walletId, otherWalletId],
  },
})

What these settings do

  • whitelist limits who that wallet may transfer to
  • can_burn decides whether that wallet may destroy the asset supply

Read the current restrictions

const restrictions = await broadcastRequest({
  action: 'get',
  resource: `/assets/${assetId}/wallets/${walletId}/restrictions`,
})

Use this when auditing or debugging asset routing behavior.

Update restrictions across multiple wallets

const batchResult = await broadcastRequest({
  action: 'edit',
  resource: `/assets/${assetId}/restrictions`,
  details: {
    can_burn: true,
    wids: [wallet1Id, wallet2Id],
    use_to_whitelist: true,
    to_whitelist: [recipientWallet1, recipientWallet2],
  },
})

Burn assets

Burning permanently reduces supply. Only wallets with can_burn: true should be able to do it.

await broadcastRequest({
  action: 'edit',
  resource: `/assets/${assetId}/wallets/${walletId}/restrictions`,
  details: {
    can_burn: true,
  },
})

const burnResult = await broadcastRequest({
  action: 'add',
  resource: `/wallets/${walletId}/spend-requests`,
  details: {
    id: uuidv4(),
    wallet_id: walletId,
    tx_type: 'burn',
    request: {
      asset_id: assetId,
      amount: 1000,
    },
  },
})

Burn requests still go through the normal approval and policy system if those controls are configured for the wallet or asset flow.

On this page