Exchange rate differences: −74% support requests on social media

support requests on social media in one month
requests to second-line support in one month
customers got a message with an explanation in one month
What happened. “Kaspi steals money” — that’s what people wrote on Threads when their balance was off by a few dozen tenge.
In January and February 2026 it was the top complaint about Kaspi on Threads. People posted screenshots where 20–50 ₸ (a few cents) disappeared from their balance — sometimes thousands.
One post got 2.8K likes and 400 comments, another 5.3K likes. Readers took the same questions to customer support.
Threads posts, January–February 2026, translated from Russian. No author names; swearing replaced with monkeys
Where the difference comes from. While the merchant’s bank confirms the purchase, the exchange rate changes. That’s how foreign-currency card payments work.
When you pay in a foreign currency, Kaspi first holds the amount in tenge at the current rate. The merchant’s bank confirms the purchase later: usually within 3 days, sometimes a week.
By then the rate has moved, so Kaspi charges or refunds the difference. Before, it silently disappeared from the balance and was only visible in the statement.
Analysis. People weren’t upset about the rate itself, but about money vanishing without explanation.
I collected posts from Threads, and together with the team we went through support requests. The picture was the same everywhere: the balance doesn’t add up, and people don’t know why.
Example: after a $200 purchase, 103,828.8 ₸ is available. After a 1,000 ₸ transfer it should be 102,828.8 ₸, but the screen shows 100,256.8 ₸. Where did 2,572 ₸ go? Nothing says.
Alternatives. Warning at checkout or locking the rate wasn’t an option.
People pay by card abroad, often without their phone at hand: a warning at the moment of payment simply wouldn’t reach them. Locking the rate at purchase is too expensive for the bank.
What’s left is to explain the difference when it appears — right away and in full.
The message. The difference used to vanish silently. Now a message explains it — a long one, but with a complete answer.
When the merchant’s bank confirms the purchase, a final calculation arrives: how much was held and at what rate, how much was charged in the end, the difference, and that Kaspi took no fee.
We usually keep copy as short as possible. Here we agreed on a long text. Together with transaction details and the answers in Kaspi Guide, it had to cover three things:
- that’s how foreign-currency card payments work, Kaspi is no exception;
- why the difference appears at all;
- enough clarity that under the next angry post, people would reply: “it’s all explained in the message”.


One more detail. Purchase messages used to skip the tenge amount: a week later it could differ from the statement. Now the difference comes separately, so the tenge amount is shown right away.


Versions. About 40 versions of the text before we settled on the final one.
In drafts the message was called “Purchase adjustment”. We tried just the numbers, an explanation in a separate block, two steps one by one. The final one is “Final calculation”: numbers first, then the explanation.



The transaction. Transaction details now explain what happened on their own.
While a purchase awaits confirmation, you can see the rate the amount is held at, that we’re waiting for the merchant’s bank, and that the final sum may go up or down.
After confirmation there are two lines: “held” and “confirmed and sent to the merchant”, each with its own rate and date. We also rewrote the answers in Kaspi Guide, the in-app help and support chat.




Edge cases. Along the way we found 5 more situations where money behaved unexpectedly.
Each got its own message.
- Difference in your favor. The rate dropped and money comes back — we explain that too.
- Negative balance. The PO suggested hiding it. We pushed back: the whole wave started from a lack of transparency. Now the message says how much will be taken from the next top-ups.
- Several confirmations for one purchase. The first release waited for all of them and showed an average rate. The second calculates each part separately: a preliminary calculation, then the final one.
- Several purchases from one merchant. Each gets its own difference and its own message, so amounts don’t merge.
- No hold. The merchant’s bank didn’t send the data right away, and the money was charged a week later. We explain why the charge came late.





Result. In one month, support requests on social media dropped by 74%.
- Fewer requests in one month: −74% to social media support, −62% to second-line support, −18% to the customer care service.
- 3,059,689 customers in one month got a message explaining the exchange rate difference.
- The numbers cover the month after launch. Kaspi shared them at a public presentation streamed on YouTube.
- On Threads, people started saying thanks — here’s what they wrote after launch.
Threads posts after launch, translated from Russian, no author names
What I learned. When it’s the customer’s money, transparency beats brevity.
A long message has a cost: it takes longer to read, and it arrives even for a difference of a few tenge. In return, people get the answer right away instead of taking the question to support.