# Cryptid on Crypto Design Challenges Blog [Blog](https://paulstamatiou.com/crypto-design-challenges/) ## Transactions ### Be hyper transparent around transaction status. This is somewhat out of our hands on Solana, the predominant pattern is for the dApp to send the wallet a transaction to sign and then for the wallet to send it back for the dApp to execute. There is one method in the major wallet interface that has the wallet handle execution but it sees little use. Another thing we can do around this is a clear transaction history in Cryptid (don't have one at the moment). ### Make errors actionable. This has similar problems as above where we aren't in control of executing and therefore aren't able to handle errors that appear in execution. We could add more problem checking for specific issues that will occur with Cryptid but only after sending the transaction back such as signer funds being out. ### Show more context. This is a cool idea, being able to click on accounts in a transaction to see their history or balance. There is also no globabl resolver for transactions on Solana as of yet. Current transaction resolvers are custom to wallets and only support programs the developer has added, showing unknown for the rest. If there was a global resolver new wallet versions wouldn't have to be released for every dApp. Some kind of address name resolution wouldn't go amiss either. ### Inform and put the user in control. This section doesn't apply too much to Solana, more to ETH. The problems listed aren't faced on Solana with fast block times and deterministic transaction fees. ### Make transaction state global. Solana doesn't face pending transactions much, at most user have to wait 30 seconds for the highest confidence interval (99.9% of the time this is overkill). This also faces the issue of dApps currently being the senders. ### Give me an "oh shit" undo/cancel button. This faces the common issue of dApps being the executors of transactions and that Solana's block times are so fast you can't stop it after you send it. There are a few undo-able actions associated with Cryptid such as transaction set up and we plan to add recovery options for these actions. ### Show all assets across all networks/chains. Cryptid can only support Solana at the moment. Wider support is a complex issue and the address likely wouldn't be the same even for other ed25519 chains. ## Security ### Make it easier to disconnect your wallet This should definately be on our radar. The only issue is I haven't found any dApp that plays nicely with disconnects. In serum's case it doesn't notice it and still tries to execute transactions giving crpytic errors. Phantom auto-disconnects after a time period so it's more on the dApps ffor not supporting it and requireing a refresh. ### Introduce education and user controls for token approvals and token allowances. Especially for Cryptid education is important. Popup bubbles everywhere explaining what's happening should be everywhere to make sure even new users understand what's going on. Maybe even one of those (skipable walkthroughs on the site for new users would be appreciated. ### Demystify common actions like connecting a wallet and signing a message. I think this isn't as big of an issue as he portrays it to be. All the actions (connect, sign transaction, and sign message) are big steps that the user is taking. As long as these are more important looking action than any other then it's down to education of the user to keep them from just clicking through. ## What we can do tomorrow ### Fix wallet addresses. I think this is going to rely on a major protocal such as DNS being intoduced. Currently there are a few name services on Solana but these run into the issue of not being globably recognized (and they charge quite a bit with no real ownership of the names they give out). I can start a name service myself tomorrow if I wanted to. ### Is wallet the right word? Cryptid is one step closer to the identity side than wallet side, but I still think wallet applies. Your DID is yoir identity and you can have many Cryptid wallets for that identity. Logging in can be handled by Cryptid but more as a proxy for your DID so this needs to be communicated somehow (maybe connect is the wrong word). ### Clarity & control around privacy and public assets. The author presents an idea here for hiding the address from the dApp but still logging in. This is a huge hurdle in that currently your email/username is your address so it's similar to suggesting a way to hide your emial from a website when logging in. I think there could be a niche use where you make a staging wallet each time but if it's the same they can easily trace it back to you. I did just think of a project where there is a single staging wallet on-chain that annonymises users but once you do something it would reveal who you are. ### Make it smarter, make it safer. This is proposing to make the wallet more than just a way to handle your funds. It could work well but is expanding the scope of what a wallet is: a transaction signer.