I was under the impression that accounts owned by users owned a set of token accounts which each represent one distinct token that they own - meaning token accounts would only be owned by a user. For example, this token account, pointed to by the address 53kn18WWvsx82NiztUXMQGGSuRBujTtLqzszRYK2TgGb
, lists the owner as expected:
{
mint: 'GvLFXp5DqowBtF4nUjXmqx6upH2bjncf2ESndH6ZF1sA',
owner: '7rhxnLV8C77o6d8oz26AgK8x8m5ePsdeRawjqvojbjnQ',
amount: '10',
delegate: null,
delegatedAmount: '0',
isInitialized: true,
isFrozen: false,
isNative: false,
rentExemptReserve: null,
closeAuthority: null
}
However, I have found several anomalies where the token account owns itself. For instance, H6Vb6qdn4pfg1tmqXhVK8WQocsfeUWRhTNZFMjeypsRE
, lists itself as its owner:
{
mint: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
owner: 'H6Vb6qdn4pfg1tmqXhVK8WQocsfeUWRhTNZFMjeypsRE',
amount: '165744535531',
delegate: null,
delegatedAmount: '0',
isInitialized: true,
isFrozen: false,
isNative: false,
rentExemptReserve: null,
closeAuthority: null
}
Solscan also supported my observation:
Other example token accounts that own themselves are 7KFK8aQdrqyxe7V1iuMsP6wRopmqnsDCwAGHwVWE7Tec
, 9o3amSjWDCvKSycLwtZs8vCUkSnim6kjPK5FBXY545eN
, and J6vHZDKghn3dbTG7pcBLzHMnXFoqUEiHVaFfZxojMjXs
.
Why can some token accounts own themselves?