They don’t need the generate it, the user supplies it with the client side web3 wallet. They don’t need to maintain a blockchain, they can use various portable apis to query it.
Blockchain solves the double spend problem here, without reliance on a central clearing house.