StarkConnect allows you to connect your EVM wallets like Metamask on non EVM chains like Starknet.
The majority of web3 users today are on Ethereum, Arbitrum, Polygon or Optimism. All these are EVM chains that use the secp256k1 ECDSA signature. However, with time, a lot of new non-EVM chains like Starknet and Mina protocol are coming up. These chains take the non-EVM route for optimisation and also support account abstraction natively. However, native AA means these chains have their own wallets which use their own signature verification schemes. Starknet wallets, for example, uses the more secure secp256r1.
This creates an onboarding problem. Users don't want to manage multiple keys and wallets. Hence we have built StarkConnect.
StarkConnect is a framework that can be used on your dApp to allow users to interact with it from their EVM wallets even if your dApp can't support EVM. The best part is, the user doesn't need to make any changes to his wallet and can use it out of the box!
We have made a demo dApp on Starknet to transfer funds from one wallet to another. This is the flow of our Starknet app which can be used from any EVM wallet like Metamask
personal_sign
request on the EVM wallet using WalletConnect. The transaction hash is signed using the EVM private key and we receive the secp256k1 signature__validate__
function. Only if the signature is correct, the calls are executed.