I don't understand the integration with Strike
at all.
Why not implement the tipping feature in a way that works with any wallet (including, but not limited to Strike)?
Strike is only available for a very limited number of users globally and Twitter will completely rely on the Strike team to deliver on their promise to expand globally quickly, which they have so far failed to do for (from my memory) over a year. I totally understand why: they have to partner with banks and stuff to be able to integrate local currency with Bitcoin, since they're almost acting as an exchange, which is no easy task.
But the way I would implement a tipping feature (and have done so, actually, this year as a tipping bot - BT post and open source code release will follow when I find the time):
1) User A wants to tip user B: Twitter generates invoice and gets paid by A (funds now in Twitter's hands, but B's 'balance')
2) Twitter notifies B that they received a tip via a notification and allows to paste an invoice to withdraw in a new menu / page.
3) User B can either wait till they receive more tips or withdraw at any time, by pasting a valid invoice (not larger than 'balance')
Both users can use any LN wallet they want. Those that have access to Strike and don't have any Bitcoin yet, can download Strike to acquire Bitcoin and tip those via Lightning, others can just use any other Lightning wallet.
The idea here is that only the 'receiver' trusts the service and trust is limited through the ability to withdraw at any time, whereas in previous solutions users had to load up a 'balance' (via on-chain or LN), then use that to tip (all tips are just database value changes) and withdrawal takes another Bitcoin or LN transaction. Of course, 'senders' could just load up very small amounts (e.g. the amount for 1 single tip) via LN due to low fees, but it's one extra step.
I'm sure that a big company like Twitter might even figure out a smarter architecture than me in my small amount of free time, the above is just one idea that would work universally and is quite a good user experience (feedback I got for my own tipping bot that uses that architecture).
Finally, the best way would be static invoices like
keysend or
LNURL-Pay. These would allow to eliminate the 'payee trust' requirement and any middleman completely, but not all wallets support those yet. There is also the proposal of
Offers with the same purpose.