The difference-encoded output indices stored in a Monero ring input. Summing them reconstructs the absolute indices of the ring members within the relevant output amount category.
Reconstructing the ring
A node needs the public keys and commitments for the ring members to verify an input. The transaction identifies them using output indices. The first relative offset gives the first index, and later offsets add the distance to the next index.
The encoder sorts the absolute indices before converting them to differences. Difference encoding often requires fewer bytes than repeatedly storing large absolute indices, while letting the verifier reconstruct the same ordered list.
References: Monero output encoding
Indexing and privacy are separate jobs
Output indices are interpreted in their amount category. Confidential outputs use the zero public-amount category. Their hidden monetary values are handled by RingCT rather than encoded in these index numbers.
The ring signature establishes the necessary authorization without identifying the actual spent member. Hiding the list itself is not the job of relative offsets, and decoding the list is not a break of the signature.
References: Monero transaction and block data structures · Monero output encoding
Example
For an illustrative three-element list, absolute indices 10, 15 and 28 encode as offsets 10, 5 and 13. This demonstrates the encoding only, not the required ring size of a current Monero transaction.
References: Monero output encoding · Monero transaction and block data structures
Limits and cautions
These offsets identify public candidate outputs. They do not label which candidate the wallet spends. They are not byte offsets into a wallet file or instructions to a database administrator.
References: Monero output encoding · Monero transaction and block data structures
Related glossary terms
Practical guides
Technical baseline: v0.18.5.4. Reviewed 2026-11-09 UTC.