Ownership Transfers
Transferring ownership of an asset or a ticker on Polymesh is a critical operation that allows the current issuer/owner to hand over full control to another identity. This is distinct from transferring asset balances and involves the rights to manage, configure, and control the asset or ticker. Tickers are unique but can be unlinked from an asset, allowing the ticker to be transferred to a new asset.
Asset Ownership Transfer
Asset ownership transfer is a two-step process that uses the Polymesh Authorizations framework:
- Initiation (Authorization): The current owner (issuer) initiates a transfer by calling
identity::add_authorization
to create an authorization request of typeTransferAssetOwnership
for the target identity. - Acceptance: The target identity must accept the authorization by calling
asset::accept_asset_ownership_transfer
and providing the associated authorization request ID for the transfer to complete. Until accepted, the transfer can be canceled by the original owner or rejected by the target identity usingidentity::remove_authorization
.
Only the current asset owner can initiate a transfer of ownership.
If there is a Ticker linked to an asset, the ownership of that ticker will also transfer to the new asset owner.
Transferring asset ownership does NOT automatically add the new owner as an asset agent or remove existing asset agents.
Asset agents are managed independently of ownership. As part of the asset transfer, the previous owner should make the new owner a full agent of the asset. After a transfer, the new owner should review and update the list of asset agents and their permissions to ensure only trusted parties retain access. Failing to do so may leave previous agents with unintended control over the asset.
See Asset Agents & Permissions for more information.
Ticker Ownership Transfer (Linking & Unlinking)
Tickers are unique symbols that can be linked to assets for a more human-readable way to identify an asset and for discoverability. Ticker ownership can also be transferred between identities using a similar authorization and acceptance process. A ticker with an active registration, or one that is fully owned and not linked to an asset, can be transferred.
- Linking a Ticker: Associates a registered ticker with an asset. Only the ticker owner can perform this action.
- Unlinking a Ticker: Removes the association between a ticker and an asset. Only the asset owner or authorized agent can perform this action.
- Transferring Ticker Ownership: The target identity must accept the authorization by calling
asset::accept_ticker_transfer
and providing the associated authorization request ID for the transfer to complete. Until accepted, the transfer can be canceled by the original owner or rejected by the target identity usingidentity::remove_authorization
.
Ticker Transfer Process
- Unlinking a Ticker: If the ticker is currently linked to an asset and is not being transferred with the asset, it should first be unlinked by calling
asset::unlink_ticker_from_asset_id
. - Initiation (Authorization): The current owner initiates a ticker transfer by calling
identity::add_authorization
to create an authorization request of typeTransferTicker
for the target identity. - Accept Transfer: The new owner accepts the authorization to complete the transfer.
- Linking a Ticker: Once the ownership has transferred, the new owner can link the ticker to a new asset by calling
asset::link_ticker_to_asset_id
.
Summary
Transferring asset or ticker ownership is a powerful feature for managing the lifecycle of assets on Polymesh. Always ensure that after a transfer, agent permissions and related controls are reviewed and updated as needed to maintain security and compliance.