In the past, aware of this problem, I've used my Chase debit card (on Cunard so with the advantage of no extra charge for dollar transactions) after first making sure the account was in credit for twice what I expected the onboard account to be. At 3% interest pa, this cost (2 x N) * 3% / 12 in lost interest, where N is the onboard account amount, allowing for the money to be tied up for a month. So 0.5% * N in lost interest, but 1% * N in cashback - ie twice as much and still a net gain. Admittedly, though, on my recent P&O cruise (in sterling) I just used my American Express card and got 0.5% back that way instead - much easier!