Transfer Usership
Transfer the active usership (rental tenant right) of an Entity resource to a recipient wallet address. Only the current active renter is authorized to execute this instruction. Only temporary lease privileges are transferred; full entity ownership stays unchanged.
open-token entity transfer-usership --help
Synopsis
open-token entity transfer-usership <Name> <To>
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
<Name> | String | Yes | Target entity resource name (e.g. open://google.com, open://app.google.com). Must reference an existing on‑chain entity account with an active non‑expired usership lease, supports multi‑level dot‑separated hierarchy. Corresponding human‑readable URI: open://google.com, open://app.google.com. |
<To> | Pubkey | Yes | Recipient Openverse public‑key address receiving the usership right. Must be a valid wallet public‑key. |
Behaviour
- Transaction signer must match stored entity renter public key; returns
RenterMismatchon authorization failure. - Validates target entity exists and ownership term is not expired (
NameExpired). - Validates parent Ecosystem namespace exists on‑chain (
ParentNotCreated). - Validates an active non‑expired rent lease exists (
RentExpired). - Overwrites stored renter field with recipient
<To>public‑key. - Lease expiry timestamp remains unchanged; new renter inherits all remaining lease duration.
- Does not modify entity owner, meta, body, ownership expiry, rent‑ask / sale‑ask offer configurations.
- No token payment occurs; this is a free transfer of temporary usership privilege.
- Entity legal owner remains unchanged for the whole lease lifecycle.
- Logical resolution note: Even with valid transferred usership, entity cannot resolve via
open://scheme if parent Ecosystem is expired.
Constraints & Validation Rules
RenterMismatch: Transaction signer is not the current renter of this entity.RentExpired: No active valid usership lease exists; transfer prohibited.NameExpired: Underlying entity ownership registration expired; rent‑related operations unavailable.ParentNotCreated: Parent Ecosystem namespace does not exist on‑chain.MaxEntityLevelIsFour: Entity name hierarchy depth exceeds program‑defined maximum level.NameTooLong/NameEmpty: Invalid entity name input.- InvalidPubkey:
<To>argument is not a valid Openverse public‑key.
Usage Example
Transfer usership of entity open://google.com to recipient address 7xKZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:
open-token entity transfer-usership open://google.com 7xKZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx