I want to create a dApp that can track the history of tokens (specifically ETH as of now) and store a status with them.
It needs to be able to get the history of tokens that belong to an address.
I know that ETH is fungible, but I have a few algorithms for deciding which tokens go where and which ones are transferred: https://twitter.com/mteamisloading/status/1543077072750268418?s=20&t=grrToJKuFNWwlyhmdOmY4Q
So my question: how can I get the ending address of a token given a starting address?
It needs to make a sort of tree: following through transactions to other accounts, check all of their transactions to see if the token would be sent (according to one of the aforementioned algorithms) and so on. Apparently this is really hard to do! I have seen this:
https://stackoverflow.com/questions/36291117/how-to-get-ethereum-transaction-list-by-address
and there seems to be trouble with making many requests.
Another option is using an indexer like https://github.com/getamis/eth-indexer, but it requires massive amounts of storage (that I don't have) and seems like a clunky solution, because I only need a few specific transactions.
Event logs won't work because they only log for smart contract interactions.
Maybe https://docs.alchemy.com/alchemy/enhanced-apis/transfers-api ?
Is there an API already? How can I do this?