All The Best Recipes

Portfolio Portability - Import / Export Ethereum wallet addresses and transactions

Users have one or more Ethereum accounts, wallets, etc. that they care about, including the full history of transactions. Let’s call this a Portfolio.

As per the discussion on data/infrastructure it’s quite difficult to query/parse this information today.

By making it so that users can make their data portable, it also makes it easier for dApps to immediately add value by easily importing the users portfolio.

Store on IPFS / blockchain

Could there be a Portfolio Portability smart contract that stores an IPFS link along with an Ethereum address?

A user can go to a dApp that supports Portfolio Portability (this might be part of the initial open source build) which does a query on their addresses and stores all past transactions. A backup is created and placed on IPFS, and that IPFS link is written into the PP smart contract.

For import, on sign in, users validate the ownership of their Portfolio “key” address by signing. Once the address is validated, the system can then look up the IPFS hash associated with that key address, and import past transactions.

Various validations can be done to verify that this is correct – the source data remains on the blockchain, this is like caching a query on a per user basis.

I’ve thought along similar lines, but the issue I’ve struggled with here is that the list of transactions is ever-changing which doesn’t seem to mix well with content-addressable data, so maybe some sort of storage per X thousand blocks per account might work, but then you’re not up to date. In this case perhaps some sort of hybrid IPFS fir old stuff / smart contract for recent behavior solution might work. But I’m just thinking out loud.

The current system (Mint, YNAB, etc.) is spoofing connections to your banks OR, if there is no automation, importing OFX or CSV files.

Yes, there are always “new” transactions – but since the old ones don’t change, a portable archive could be very useful.

But yes – don’t let my hand waving of how this might get built technically distract from the core concept: can we make Portfolio information truly portable, and owned by the user?