Zaps require a web server, which is why it’s mostly used by custodial wallets. Self-custody wallets don’t need to be online all the time to function, they are just active when you need them, but they can’t generate invoices when you’re not using the wallet.