How can I develop an Internet Computer (IC) wallet application?

Hi there, I’m planning to develop a web-based wallet application. I intend to use Motoko for the backend and React for the frontend. In this application, when a user logs in with their email and password, I want to automatically create a new wallet for them. For example using and then creating a wallet with that identity? Furthermore, is it possible to connect to the ICP ledger and perform transactions on behalf of the user using this approach?

1 Like

Hello @ysncvk,

There are several discussions about creating a delegate identity such as this which would allow you to create an identity for them after they authenticate. Once they are authenticated, they can perform the transactions themselves.

To perform transactions for the user, you would need their private key which is very insecure.

On another note, Instead of using email and password, have you thought of using other easy-to-use authentication such as Internet Identity?

You should check out Oisy Wallet and the Oisy Wallet source code. It’s a good example of a web-based cross-chain wallet built using ICP.

The NNS wallet is also a good example of a web-based wallet for the ICP ecosystem.

Does this help?

1 Like

I know internet identity is very easy to implement. But in my case problem is different. actually I am developing a telegram web app so I have to create an identitiy for user. One user enters my telegram bot I take user’s id on telegram and create a identity with Ed25519KeyIdentity.generate() and than I can generate oublic and private key. Then I save to may motoko backend. So I have to create an identity. but I didn’t understand what you mean by delegate identitiy?