When sending: it coordinates with the receiver (via nostr messages and via LNURL) to create an invoice for your zap. Then gives the invoice to your LN wallet to pay.
When receiving: it coordinates with the sender to generate and send the invoice, then monitors it. When its paid, it emits a nostr event to confirm the received sats.