It’s not possible to have a universal “stXRD” token issued by the Radix Protocol and shared across all validators because validator fees, validator performance (which impacts emissions), whether or not a validator is in the active validator set, and slashing all mean that where XRD is staked matters. Don’t think of 1 Liquid Stake Unit as 1 staked XRD; that’s not what they represent. They represent your portion of the total XRD staked at the associated validator component. LSUs are therefore non-fungible across validators.
So Liquid Stake Units are going to be completely fragmented, with every validator component issuing its own supply?
From the base network perspective, they have to be. However, in Scrypto it’s quite straightforward to set up a component which aggregates Liquid Stake Units from different validators and releases its own single stake token based on those holdings.
For example, a component could accept Liquid Stake Units, check the current XRD value with the associated validator component, and mint an appropriate amount of an aggregate token. Such a component could accept any Liquid Stake Unit, or the owner might be selective about which ones it accepted. For example, the component’s owner might decide to only accept the tokens associated with validators that they felt met a certain quality of service standard.
Further reading:
- Start Here! Radix Staking Introduction
- What is a Liquid Stake Unit (LSU) and Native Liquid Staking?
- How does staking work on Radix?