Skip to content

Assets pallet ​

Derived from live runtime metadata on TRN root (pallet index 6, captured 2026-05-02). For prose-style documentation see Assets on the curated reference side.

Pallet index
6
Calls
32
Events
24
Errors
20
Storage items
4
Constants
7

Calls (extrinsics) ​

Assets.create ​

See [Pallet::create].

ts
api.tx.assets.create(id: u32, admin: [u8;20], min_balance: u128)
ArgumentTypeDoc
idu32T::AssetIdParameter
admin[u8;20]AccountIdLookupOf<T>
min_balanceu128T::Balance

Call index: 0

Assets.force_create ​

See [Pallet::force_create].

ts
api.tx.assets.force_create(id: u32, owner: [u8;20], is_sufficient: bool, min_balance: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
owner[u8;20]AccountIdLookupOf<T>
is_sufficientboolbool
min_balanceCompact&lt;u128&gt;T::Balance

Call index: 1

Assets.start_destroy ​

See [Pallet::start_destroy].

ts
api.tx.assets.start_destroy(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 2

Assets.destroy_accounts ​

See [Pallet::destroy_accounts].

ts
api.tx.assets.destroy_accounts(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 3

Assets.destroy_approvals ​

See [Pallet::destroy_approvals].

ts
api.tx.assets.destroy_approvals(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 4

Assets.finish_destroy ​

See [Pallet::finish_destroy].

ts
api.tx.assets.finish_destroy(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 5

Assets.mint ​

See [Pallet::mint].

ts
api.tx.assets.mint(id: u32, beneficiary: [u8;20], amount: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
beneficiary[u8;20]AccountIdLookupOf<T>
amountCompact&lt;u128&gt;T::Balance

Call index: 6

Assets.burn ​

See [Pallet::burn].

ts
api.tx.assets.burn(id: u32, who: [u8;20], amount: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
who[u8;20]AccountIdLookupOf<T>
amountCompact&lt;u128&gt;T::Balance

Call index: 7

Assets.transfer ​

See [Pallet::transfer].

ts
api.tx.assets.transfer(id: u32, target: [u8;20], amount: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
target[u8;20]AccountIdLookupOf<T>
amountCompact&lt;u128&gt;T::Balance

Call index: 8

Assets.transfer_keep_alive ​

See [Pallet::transfer_keep_alive].

ts
api.tx.assets.transfer_keep_alive(id: u32, target: [u8;20], amount: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
target[u8;20]AccountIdLookupOf<T>
amountCompact&lt;u128&gt;T::Balance

Call index: 9

Assets.force_transfer ​

See [Pallet::force_transfer].

ts
api.tx.assets.force_transfer(id: u32, source: [u8;20], dest: [u8;20], amount: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
source[u8;20]AccountIdLookupOf<T>
dest[u8;20]AccountIdLookupOf<T>
amountCompact&lt;u128&gt;T::Balance

Call index: 10

Assets.freeze ​

See [Pallet::freeze].

ts
api.tx.assets.freeze(id: u32, who: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
who[u8;20]AccountIdLookupOf<T>

Call index: 11

Assets.thaw ​

See [Pallet::thaw].

ts
api.tx.assets.thaw(id: u32, who: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
who[u8;20]AccountIdLookupOf<T>

Call index: 12

Assets.freeze_asset ​

See [Pallet::freeze_asset].

ts
api.tx.assets.freeze_asset(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 13

Assets.thaw_asset ​

See [Pallet::thaw_asset].

ts
api.tx.assets.thaw_asset(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 14

Assets.transfer_ownership ​

See [Pallet::transfer_ownership].

ts
api.tx.assets.transfer_ownership(id: u32, owner: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
owner[u8;20]AccountIdLookupOf<T>

Call index: 15

Assets.set_team ​

See [Pallet::set_team].

ts
api.tx.assets.set_team(id: u32, issuer: [u8;20], admin: [u8;20], freezer: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
issuer[u8;20]AccountIdLookupOf<T>
admin[u8;20]AccountIdLookupOf<T>
freezer[u8;20]AccountIdLookupOf<T>

Call index: 16

Assets.set_metadata ​

See [Pallet::set_metadata].

ts
api.tx.assets.set_metadata(id: u32, name: Bytes, symbol: Bytes, decimals: u8)
ArgumentTypeDoc
idu32T::AssetIdParameter
nameBytesVec<u8>
symbolBytesVec<u8>
decimalsu8u8

Call index: 17

Assets.clear_metadata ​

See [Pallet::clear_metadata].

ts
api.tx.assets.clear_metadata(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 18

Assets.force_set_metadata ​

See [Pallet::force_set_metadata].

ts
api.tx.assets.force_set_metadata(id: u32, name: Bytes, symbol: Bytes, decimals: u8, is_frozen: bool)
ArgumentTypeDoc
idu32T::AssetIdParameter
nameBytesVec<u8>
symbolBytesVec<u8>
decimalsu8u8
is_frozenboolbool

Call index: 19

Assets.force_clear_metadata ​

See [Pallet::force_clear_metadata].

ts
api.tx.assets.force_clear_metadata(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 20

Assets.force_asset_status ​

See [Pallet::force_asset_status].

ts
api.tx.assets.force_asset_status(id: u32, owner: [u8;20], issuer: [u8;20], admin: [u8;20], freezer: [u8;20], min_balance: Compact<u128>, is_sufficient: bool, is_frozen: bool)
ArgumentTypeDoc
idu32T::AssetIdParameter
owner[u8;20]AccountIdLookupOf<T>
issuer[u8;20]AccountIdLookupOf<T>
admin[u8;20]AccountIdLookupOf<T>
freezer[u8;20]AccountIdLookupOf<T>
min_balanceCompact&lt;u128&gt;T::Balance
is_sufficientboolbool
is_frozenboolbool

Call index: 21

Assets.approve_transfer ​

See [Pallet::approve_transfer].

ts
api.tx.assets.approve_transfer(id: u32, delegate: [u8;20], amount: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
delegate[u8;20]AccountIdLookupOf<T>
amountCompact&lt;u128&gt;T::Balance

Call index: 22

Assets.cancel_approval ​

See [Pallet::cancel_approval].

ts
api.tx.assets.cancel_approval(id: u32, delegate: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
delegate[u8;20]AccountIdLookupOf<T>

Call index: 23

Assets.force_cancel_approval ​

See [Pallet::force_cancel_approval].

ts
api.tx.assets.force_cancel_approval(id: u32, owner: [u8;20], delegate: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
owner[u8;20]AccountIdLookupOf<T>
delegate[u8;20]AccountIdLookupOf<T>

Call index: 24

Assets.transfer_approved ​

See [Pallet::transfer_approved].

ts
api.tx.assets.transfer_approved(id: u32, owner: [u8;20], destination: [u8;20], amount: Compact<u128>)
ArgumentTypeDoc
idu32T::AssetIdParameter
owner[u8;20]AccountIdLookupOf<T>
destination[u8;20]AccountIdLookupOf<T>
amountCompact&lt;u128&gt;T::Balance

Call index: 25

Assets.touch ​

See [Pallet::touch].

ts
api.tx.assets.touch(id: u32)
ArgumentTypeDoc
idu32T::AssetIdParameter

Call index: 26

Assets.refund ​

See [Pallet::refund].

ts
api.tx.assets.refund(id: u32, allow_burn: bool)
ArgumentTypeDoc
idu32T::AssetIdParameter
allow_burnboolbool

Call index: 27

Assets.set_min_balance ​

See [Pallet::set_min_balance].

ts
api.tx.assets.set_min_balance(id: u32, min_balance: u128)
ArgumentTypeDoc
idu32T::AssetIdParameter
min_balanceu128T::Balance

Call index: 28

Assets.touch_other ​

See [Pallet::touch_other].

ts
api.tx.assets.touch_other(id: u32, who: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
who[u8;20]AccountIdLookupOf<T>

Call index: 29

Assets.refund_other ​

See [Pallet::refund_other].

ts
api.tx.assets.refund_other(id: u32, who: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
who[u8;20]AccountIdLookupOf<T>

Call index: 30

Assets.block ​

See [Pallet::block].

ts
api.tx.assets.block(id: u32, who: [u8;20])
ArgumentTypeDoc
idu32T::AssetIdParameter
who[u8;20]AccountIdLookupOf<T>

Call index: 31

Events ​

Assets.Created ​

Some asset class was created.

FieldTypeDoc
asset_idu32
creator[u8;20]
owner[u8;20]

Assets.Issued ​

Some assets were issued.

FieldTypeDoc
asset_idu32
owner[u8;20]
amountu128

Assets.Transferred ​

Some assets were transferred.

FieldTypeDoc
asset_idu32
from[u8;20]
to[u8;20]
amountu128

Assets.Burned ​

Some assets were destroyed.

FieldTypeDoc
asset_idu32
owner[u8;20]
balanceu128

Assets.TeamChanged ​

The management team changed.

FieldTypeDoc
asset_idu32
issuer[u8;20]
admin[u8;20]
freezer[u8;20]

Assets.OwnerChanged ​

The owner changed.

FieldTypeDoc
asset_idu32
owner[u8;20]

Assets.Frozen ​

Some account who was frozen.

FieldTypeDoc
asset_idu32
who[u8;20]

Assets.Thawed ​

Some account who was thawed.

FieldTypeDoc
asset_idu32
who[u8;20]

Assets.AssetFrozen ​

Some asset asset_id was frozen.

FieldTypeDoc
asset_idu32

Assets.AssetThawed ​

Some asset asset_id was thawed.

FieldTypeDoc
asset_idu32

Assets.AccountsDestroyed ​

Accounts were destroyed for given asset.

FieldTypeDoc
asset_idu32
accounts_destroyedu32
accounts_remainingu32

Assets.ApprovalsDestroyed ​

Approvals were destroyed for given asset.

FieldTypeDoc
asset_idu32
approvals_destroyedu32
approvals_remainingu32

Assets.DestructionStarted ​

An asset class is in the process of being destroyed.

FieldTypeDoc
asset_idu32

Assets.Destroyed ​

An asset class was destroyed.

FieldTypeDoc
asset_idu32

Assets.ForceCreated ​

Some asset class was force-created.

FieldTypeDoc
asset_idu32
owner[u8;20]

Assets.MetadataSet ​

New metadata has been set for an asset.

FieldTypeDoc
asset_idu32
nameBytes
symbolBytes
decimalsu8
is_frozenbool

Assets.MetadataCleared ​

Metadata has been cleared for an asset.

FieldTypeDoc
asset_idu32

Assets.ApprovedTransfer ​

(Additional) funds have been approved for transfer to a destination account.

FieldTypeDoc
asset_idu32
source[u8;20]
delegate[u8;20]
amountu128

Assets.ApprovalCancelled ​

An approval for account delegate was cancelled by owner.

FieldTypeDoc
asset_idu32
owner[u8;20]
delegate[u8;20]

Assets.TransferredApproved ​

An amount was transferred in its entirety from owner to destination by the approved delegate.

FieldTypeDoc
asset_idu32
owner[u8;20]
delegate[u8;20]
destination[u8;20]
amountu128

Assets.AssetStatusChanged ​

An asset has had its attributes changed by the Force origin.

FieldTypeDoc
asset_idu32

Assets.AssetMinBalanceChanged ​

The min_balance of an asset has been updated by the asset owner.

FieldTypeDoc
asset_idu32
new_min_balanceu128

Assets.Touched ​

Some account who was created with a deposit from depositor.

FieldTypeDoc
asset_idu32
who[u8;20]
depositor[u8;20]

Assets.Blocked ​

Some account who was blocked.

FieldTypeDoc
asset_idu32
who[u8;20]

Errors ​

Assets.BalanceLow ​

Account balance must be greater than or equal to the transfer amount.

Assets.NoAccount ​

The account to alter does not exist.

Assets.NoPermission ​

The signing account has no permission to do the operation.

Assets.Unknown ​

The given asset ID is unknown.

Assets.Frozen ​

The origin account is frozen.

Assets.InUse ​

The asset ID is already taken.

Assets.BadWitness ​

Invalid witness data given.

Assets.MinBalanceZero ​

Minimum balance should be non-zero.

Assets.UnavailableConsumer ​

Unable to increment the consumer reference counters on the account. Either no provider reference exists to allow a non-zero balance of a non-self-sufficient asset, or one fewer then the maximum number of consumers has been reached.

Assets.BadMetadata ​

Invalid metadata given.

Assets.Unapproved ​

No approval exists that would allow the transfer.

Assets.WouldDie ​

The source account would not survive the transfer and it needs to stay alive.

Assets.AlreadyExists ​

The asset-account already exists.

Assets.NoDeposit ​

The asset-account doesn't have an associated deposit.

Assets.WouldBurn ​

The operation would result in funds being burned.

Assets.LiveAsset ​

The asset is a live asset and is actively being used. Usually emit for operations such as start_destroy which require the asset to be in a destroying state.

Assets.AssetNotLive ​

The asset is not live, and likely being destroyed.

Assets.IncorrectStatus ​

The asset status is not the expected status.

Assets.NotFrozen ​

The asset should be frozen before the given operation.

Assets.CallbackFailed ​

Callback action resulted in error

Storage ​

Assets.Asset ​

Details of an asset.

ts
await api.query.assets.asset(key1)
  • Key: u32 (hasher: Blake2_128Concat)
  • Returns: {"owner":"SeedPrimitivesSignatureAccountId20","issuer":"SeedPrimitivesSignatureAccountId20","admin":"SeedPrimitivesSignatureAccountId20","freezer":"SeedPrimitivesSignatureAccountId20","supply":"u128","deposit":"u128","minBalance":"u128","isSufficient":"bool","accounts":"u32","sufficients":"u32","approvals":"u32","status":"PalletAssetsAssetStatus"}

Modifier: Optional

Assets.Account ​

The holdings of a specific account for a specific asset.

ts
await api.query.assets.account(key1, key2)
  • Key: (u32,SeedPrimitivesSignatureAccountId20) (hashers: Blake2_128Concat, Blake2_128Concat)
  • Returns: {"balance":"u128","status":"PalletAssetsAccountStatus","reason":"PalletAssetsExistenceReason","extra":"Null"}

Modifier: Optional

Assets.Approvals ​

Approved balance transfers. First balance is the amount approved for transfer. Second is the amount of T::Currency reserved for storing this. First key is the asset ID, second key is the owner and third key is the delegate.

ts
await api.query.assets.approvals(key1, key2, key3)
  • Key: (u32,SeedPrimitivesSignatureAccountId20,SeedPrimitivesSignatureAccountId20) (hashers: Blake2_128Concat, Blake2_128Concat, Blake2_128Concat)
  • Returns: {"amount":"u128","deposit":"u128"}

Modifier: Optional

Assets.Metadata ​

Metadata of an asset.

ts
await api.query.assets.metadata(key1)
  • Key: u32 (hasher: Blake2_128Concat)
  • Returns: {"deposit":"u128","name":"Bytes","symbol":"Bytes","decimals":"u8","isFrozen":"bool"}

Modifier: Default

Constants ​

Assets.RemoveItemsLimit ​

Max number of items to destroy per destroy_accounts and destroy_approvals call. Must be configured to result in a weight that makes each call fit in a block.

Type: u32
SCALE-encoded value: 0x64000000

Assets.AssetDeposit ​

The basic amount of funds that must be reserved for an asset.

Type: u128
SCALE-encoded value: 0x40420f00000000000000000000000000

Assets.AssetAccountDeposit ​

The amount of funds that must be reserved for a non-provider asset account to be maintained.

Type: u128
SCALE-encoded value: 0x10000000000000000000000000000000

Assets.MetadataDepositBase ​

The basic amount of funds that must be reserved when adding metadata to your asset.

Type: u128
SCALE-encoded value: 0x44000000000000000000000000000000

Assets.MetadataDepositPerByte ​

The additional funds that must be reserved for the number of bytes you store in your metadata.

Type: u128
SCALE-encoded value: 0x01000000000000000000000000000000

Assets.ApprovalDeposit ​

The amount of funds that must be reserved when creating a new approval.

Type: u128
SCALE-encoded value: 0x01000000000000000000000000000000

Assets.StringLimit ​

The maximum length of a name or symbol stored on-chain.

Type: u32
SCALE-encoded value: 0x32000000

Source: live chain metadata from wss://root.rootnet.live/archive/ws · captured 2026-05-02

Curated independently by Codeology. Source-attributed reference for The Root Network. Not affiliated with Futureverse / TRN Labs.