|
| 1 | +--- |
| 2 | +title: Polkadot Hub Assets |
| 3 | +description: Learn about asset management on Polkadot Hub, including on-chain assets, foreign asset integration, and XCM for cross-chain asset transfers. |
| 4 | +categories: Polkadot Protocol |
| 5 | +url: https://docs.polkadot.com/reference/polkadot-hub/assets/ |
| 6 | +--- |
| 7 | + |
| 8 | +# Assets on Polkadot Hub |
| 9 | + |
| 10 | +## Introduction |
| 11 | + |
| 12 | +Polkadot Hub is Polkadot’s system parachain that provides core functionality for the network, including issuing and managing on-chain assets. While the relay chain provides security, Polkadot Hub handles asset logic—minting, burning, transfers, and metadata—efficiently and cost-effectively. |
| 13 | + |
| 14 | +Polkadot Hub supports native assets issued on the parachain and foreign assets from other chains, both of which can move seamlessly across the network via XCM. |
| 15 | + |
| 16 | +This guide explains how assets are created, managed, and moved across chains, including key operations, roles, and the differences between native and foreign assets. |
| 17 | + |
| 18 | +## Why Use Polkadot Hub? |
| 19 | + |
| 20 | +Polkadot Hub provides a standardized framework for creating and managing fungible and non-fungible assets. Projects can issue tokens, manage supply, and transfer assets across parachains, extending the functionality of the Polkadot relay chain, which only supports its native token (DOT). |
| 21 | + |
| 22 | +**Key features**: |
| 23 | + |
| 24 | +- **Built-in asset operations**: Mint, burn, and transfer like ERC-20 on Ethereum, but native to Polkadot's runtime. |
| 25 | +- **Custom asset creation**: Issue tokens or NFTs with configurable permissions and metadata. |
| 26 | +- **Low fees**: Transactions cost roughly one-tenth of relay chain fees. |
| 27 | +- **Lower deposits**: Minimal on-chain storage costs for asset data. |
| 28 | +- **Pay fees in any asset**: Users don’t need DOT to transact; supported assets can cover fees. |
| 29 | +- **Cross-chain ready**: Assets can be transferred to other parachains using XCM. |
| 30 | + |
| 31 | +## Types of Assets |
| 32 | + |
| 33 | +Polkadot Hub supports two types of assets: |
| 34 | + |
| 35 | +- **Native assets**: Tokens and NFTs issued directly on Polkadot Hub using the Assets pallet. These assets benefit from the platform's custom features, such as configurable permissions and low fees |
| 36 | +- **Foreign assets**: Tokens originating from other Polkadot parachains or external networks (like Ethereum, via bridges). Once registered on Polkadot Hub, they are treated similarly to native assets. |
| 37 | + |
| 38 | +## Asset Structure |
| 39 | + |
| 40 | +Each asset is identified by a unique ID and stores: |
| 41 | + |
| 42 | +- Asset administrators |
| 43 | +- Total supply and holder count |
| 44 | +- Minimum balance configuration |
| 45 | +- Sufficiency–whether the asset can keep an account alive without DOT |
| 46 | +- Metadata (name, symbol, decimals) |
| 47 | + |
| 48 | +If a balance falls below the configured minimum, called the [existential deposit](/reference/glossary/#existential-deposit){target=\_blank}, it may be removed as “dust.” This ensures efficient storage while giving developers control over asset economics. |
| 49 | + |
| 50 | +## How Native Assets Work |
| 51 | + |
| 52 | +Native assets on Polkadot Hub are created and managed via the Assets pallet from the Polkadot SDK. This pallet defines the runtime logic for issuing, configuring, and administering fungible assets with customizable permissions. |
| 53 | + |
| 54 | +It supports both permissioned and permissionless asset creation, enabling everything from simple user-issued tokens to governed assets controlled by teams or DAOs. |
| 55 | + |
| 56 | +For implementation details, see the [Assets Pallet Rust docs](https://paritytech.github.io/polkadot-sdk/master/pallet_assets/index.html){target=\_blank}. |
| 57 | + |
| 58 | +### Asset Operations |
| 59 | + |
| 60 | +The Assets pallet provides both state-changing operations and read-only queries for full lifecycle management of assets. |
| 61 | + |
| 62 | +Core operations include: |
| 63 | + |
| 64 | +- **Asset issuance**: Create new assets and assign initial supply. |
| 65 | +- **Transfers**: Move assets between accounts with balance tracking. |
| 66 | +- **Burning**: Reduce total supply by destroying tokens. |
| 67 | +- **Delegated transfers**: Approve transfers on behalf of another account without giving up custody. |
| 68 | +- **Freezing and thawing**: Temporarily lock and unlock an account's balance. |
| 69 | + |
| 70 | +For a complete list of extrinsics, see the [`pallet-assets` dispatchable functions reference](https://docs.rs/pallet-assets/latest/pallet_assets/pallet/enum.Call.html){target=\_blank}. |
| 71 | + |
| 72 | +Data queries make it possible to: |
| 73 | + |
| 74 | +- Check account balances and total supply. |
| 75 | +- Retrieve asset metadata and configuration details. |
| 76 | +- Inspect account and asset status on-chain. |
| 77 | + |
| 78 | +For a full list of queries, see the [Pallet reference](https://docs.rs/pallet-assets/latest/pallet_assets/pallet/struct.Pallet.html){target=\_blank}. |
| 79 | + |
| 80 | +### Roles and Permissions |
| 81 | + |
| 82 | +The Assets pallet uses role-based permissions to control who can manage different parts of an asset’s lifecycle: |
| 83 | + |
| 84 | +- **Owner**: Overarching control, including destroying an asset class; can set or update Issuer, Freezer, and Admin roles. |
| 85 | +- **Admin**: Can freeze assets and forcibly transfer balances between accounts. Admins can also reduce the balance of an asset class across arbitrary accounts. |
| 86 | +- **Issuer**: Responsible for minting new tokens. When new assets are created, the Issuer is the account that controls their distribution to other accounts. |
| 87 | +- **Freezer**: Can lock the transfer of assets from an account, preventing the account holder from moving their balance. |
| 88 | + |
| 89 | +These roles allow projects to enforce governance and security policies around their assets. |
| 90 | + |
| 91 | +### Freezing Assets |
| 92 | + |
| 93 | +Assets can be temporarily locked to prevent transfers from specific accounts. This is useful for dispute resolution, fraud prevention, or compliance controls. |
| 94 | + |
| 95 | +**How it works**: |
| 96 | + |
| 97 | +- Only authorized parties can freeze or unfreeze (thaw) assets. |
| 98 | +- Freezing pauses the movement of the asset without burning or removing it. |
| 99 | +- Once thawed, the asset can be transferred normally. |
| 100 | + |
| 101 | +Freezing provides a safe way to control asset flow while maintaining full ownership. |
| 102 | + |
| 103 | +**Key functions**: `freeze` and `thaw`. |
| 104 | + |
| 105 | +### Delegated Transfers |
| 106 | + |
| 107 | +Polkadot Hub supports delegated asset transfers, allowing one account to authorize another to move a limited amount of its assets—without giving up full control. This is useful for escrow logic, automated payments, and multi-party applications. |
| 108 | + |
| 109 | +**How it works**: |
| 110 | + |
| 111 | +- An account can grant permission to another account to transfer a specific amount of its assets. |
| 112 | +- Permissions can be revoked at any time, preventing further transfers. |
| 113 | +- Authorized accounts can execute transfers on behalf of the original owner within the approved limits. |
| 114 | + |
| 115 | +Delegated transfers simplify multi-step transactions and enable complex asset flows. |
| 116 | + |
| 117 | +**Key functions**: `approve_transfer`, `cancel_approval`, and `transfer_approved`. |
| 118 | + |
| 119 | +## How Foreign Assets Work |
| 120 | + |
| 121 | +Foreign assets are assets originating from other chains and are managed on Polkadot Hub via an instance of the Assets pallet that is configured specifically for foreign assets. It enables transfers, balance checks, and other standard asset operations, while handling foreign-asset specifics such as: |
| 122 | + |
| 123 | +- **Asset identifiers**: Foreign assets use an XCM multilocation as their identifier, rather than a numeric AssetId. This ensures assets from different chains can be referenced and moved safely across parachains. |
| 124 | + |
| 125 | +- **Transfers**: Once registered on Polkadot Hub, foreign assets can be transferred between accounts just like native assets. If supported, they can also be returned to their original blockchain using cross-chain messaging. |
| 126 | + |
| 127 | +This unified interface makes it easy for dApps to handle both native and cross-chain assets. |
| 128 | + |
| 129 | +## Moving Assets Across Chains |
| 130 | + |
| 131 | +Polkadot Hub enables assets to move safely between parachains and the relay chain using XCM (Cross-Consensus Messaging). XCM ensures assets can move securely between chains while preserving ownership and traceability |
| 132 | + |
| 133 | +To learn more about asset transfers with XCM, please refer to the [Introduction to XCM](/parachains/interoperability/get-started/) page. |
0 commit comments