We’ve created a method that uses your authenticated Principal to resolve your own data directly on-chain and build your snapshot.
You don’t need a hotkey, delegation, or any additional permissions.
The process may take a few minutes.
If you stay on Portfolio, the data should appear automatically once the process finishes.
If you browse other pages while it is processing, when you return to Portfolio, click Recover snapshot to load the result.
There is a temporary guard to prevent update requests from being launched too frequently.
If anyone tries it, I’d be especially interested to know whether it correctly retrieves your balances and NNS positions.
This is only one part of what we’re building. We’re continuing to work on more functionality: P/L calculations based on on-chain data, FIFO and tax traceability, reports by virtual currency, by exchange, and by transaction, as well as new portfolio and tax analysis views and tools.
If you’d like to follow the development and project updates:
Hi, I don’t understand your message—do you like the app? Have you tried it? Did you receive your balances correctly? I’m not interested in your opinion on what you think I should do; my design works anywhere! Yes, the Caffeine team are the kind of people who risk it all—what about you? I’m not interested in your opinion on other projects; could I perhaps get your opinion on mine? Thanks for your comment, but if you’re only interested in being rude, you can save yourself the trouble of replying.
I’m confident that it wouldn’t (unless there’s something I’m missing). How would it connect the users principal on your domain to the users principal for the NNS dapp? Also how does it distinguish between accounts that are just other wallets the users owns vs payment into other peoples accounts?
Hi, Lorimer. Thanks for your question/feedback. I’ll just say that this is a method integrated into a carefully planned design and infrastructure, allowing for automated FIFO calculations—currently only for Spain, given that tax regulations vary by state and change frequently, and the design handles these adjustments quickly and efficiently. Regarding your question about the portfolio reading feature (NNS, SNS, and tokens) I demonstrated: I kept the methods open until yesterday. Had you tried it—even just with authentication—you could have seen how the app resolves, locates, and retrieves your specific data (and not anyone else’s). However, I couldn’t leave that exposed indefinitely since it involved my real data; I hope you understand why I stopped showing it. In short, it is a new—and, I believe, innovative—method that makes it easier not just for me, but for other projects, to handle secure access without the risks associated with permissions or delegations. To give you an idea: there is no sign-up process or anything similar. It’s just a simple “log in,” go to the portfolio page, click “update data,” and within minutes all your data is there; you verify your NNS, and that’s it. I’m also already working on multi-network integration, etc. As you know, I’m doing all this while trying to protect the design, methods, and scope so I don’t get overwhelmed by larger teams, given that I’m handling this all on my own. Every page of the app already has its design and logic in place; most of it is complete in the test environment—albeit independently—and the next step is integrating it all into what you’ve already seen. Sorry, I think I’ve gone on a bit too long; I just didn’t want to leave you wondering. Eventually, everything will be public or open-source, and you’ll be able to verify it yourself. I’ll even set it up with useful modules that can be applied to any app, wallet, or similar tool. I hope this clears up some of your questions. Thanks, Lorimer!
Okay, just to be clear though, it technically can’t get everything (by design). Principals on different domains can’t be tied back to one another, and even subaccounts of a specific principal can’t be tied back to that principal (other than by exhaustively computing the subaccount in the other direction and see if the account ID matches).
This makes it a bit clearer. It sounds like you’re saying that the user needs to supply the dapp with their NNS principal, which makes complete sense (it’s not discoverable from the users dapp principal). Note that this flow is not consistent with what you described in your main post:
Mainly I’m just wanting to point out that in addition to supplying the NNS principal, the user would need to supply their principal for each and every dapp domain that they use and transfer tokens between (e.g. their TAGGR principal, their OC principal, their ICPSwap principal, so on and so forth - a potentially very long list).
That being said, this would still be very useful (you just need to bare this in mind to avoid over-promising and under-delivering).
Sorry, Lorimer. I didn’t quite understand your question and clarification. There is currently a limited version of the completed method available, but it doesn’t yet meet the criteria of being fully automated and publicly accessible. To clarify: the system is already complete for ICP (covering apps like OGY, SNEED, GOLDAO, OC, TOWELL, WTN, BOB.FUN, and ICS) and handles everything—including integration with MetaMask, Kraken, Binance, KuCoin, MEXC, and other exchanges and wallets—and even generates tax reports. However, this relies on the transaction CSVs provided by these systems; I can confirm that, to date, I haven’t found a way to eliminate the need for these CSVs. Without that source of tax-related truth, cross-referencing and verification aren’t currently possible. So, on one hand, I’m trying to make the system more robust by supporting multiple networks (not just ICP, but also ETH, BNB, SOL, BTC, and ETC) to try and break that dependency on manual CSVs. That said, I admit I haven’t found that solution yet, so to manage this limitation, I’m also implementing CSV import functions. I feel it would be irresponsible not to include this final check against user CSVs, even though the app already scans your entire portfolio. Regarding your question about apps, wallets, and exchanges: yes, the method and logic already exist and work individually, but integrating everything into a single process is complex. What you see in the app right now is a vital part of that existing automated process; I’ll only roll it out or grant user access once it’s fully functional and optimized. Sorry for the long-winded reply. Thanks for your input—it’s always valuable, especially coming from a potential user who might choose the app next year—not necessarily to file your tax return, but to cross-check your own calculations against the app’s results. That’s exactly why I had to revert to the initial design and separate P/G from FIFO. I hope I’ve cleared up your question rather than just confusing you further. Thanks again, Lorimer.
It wasn’t a spelling mistake; it was the translator. I am Spanish and am still improving my English.
In any case, I prefer to focus the conversation on the technical content and the problem being solved.
To summarize the app’s current state: you can retrieve your NNS wallet data without setting up hotkeys, granting permissions, or anything similar. It takes just a single click—no registration, sign-up, or private data is ever requested; if that happens, it is not the “Tu portafolios Labs” app. This app is completely open and public; it does not use your private data! Please verify that the URL matches the one specified on OpenChat or the one provided here. Remember, the app never asks users for any data!