Потому что идет проверка на стороне сервера.смотри
представим ситуацию:
есть 2 игрока, один кидает другому трейд, ну кто-то один из них вводит в трейд некую сумму, пускай это будет 100 голды, второй нажимает трейд, первый тоже, но в момент между тем, пока до первого доходит то, что второй нажал трейд, он нажимает отменить трейд, убирает сумму и нажимает принять. как ты думаешь, почему так нельзя сделать?)