Clients create the keypair. It's the lightning wallet that is a headache, but if you automatically & seamlessly integrate minibits/cashu into the client like 0xchat does (and like Garnet does w/Monero), it's a breeze.