Native Data
You can manage data associated with accounts using the ManageData operation, no smart contract needed! The data entry uses up one account subentry, increasing base reserves. In exchange for this slight cost, you can retrieve an account with user-defined key-value pairs.
Existing community projects use this field for IPFS/IPNS pointers, verification attestations, and much more. The information shows up towards the end of a Horizon response for a base account URL:
"signers": [
{ ... }
],
"data": {
"ipns": "azUxcXppNXVxdTVka2l0MjdnYzc4a2RmcWpneGxxaW9mdnBtOXFiY2NrZGtzbzVodHUxcWVjYnl5azQwY3o=",
"your": "value"
},
"num_sponsoring": ...