Can I create a transaction or sign an asset to record an event (e.g. send/receive address is the same)?

I would like to have feedback about feasibility of a use case for which we like to use Algorand.

We have a supply-chain use case, where over time metadata should be tagged to a token. One would think to use a NFT type, however, we also discussed the possibility to use a FT of a type, e.g. ‘sugar’, then use a token’s transaction history as ‘metadata’.

Thank you,


Yes, you may send any ASA to the (same) sending account, which allows you to tag arbitrary data in the Note field. Using goal:

$ goal asset send --assetid $ASSET_ID --from $ADDR --to $ADDR --amount $AMT --note $STR_NOTE

You may choose to issue a NFT for your product’s serial number, shipment identifier, or similar and use the MetaDataHash and/or URL immutable asset parameters.

Thank you Ryan. As a follow-up, i can add a note to a transaction, but what methods are to my disposal to track a specific ASA? As to list all accounts/notes that have been added over the ‘lifecycle’ of a specific token? Or is this not possible with a fungible asset?

A NFT would require Opt-in for each received token am i correct? this would not be very suitable for our use-case.

The Indexer provides many ways to query the blockchain, including all transactions (and hence notes) of the assets and all accounts: Algorand Developer Docs

Yes, currently an NFT as any ASA requires opt-in for each received token.