SpyDota використовує алгоритм Provably Fair, щоб будь-який гравець міг перевірити чесність гри. Результат кейса чи апгрейда визначається наперед зафіксованим серверним сидом, вашим client seed і номером гри, тому підтасувати його після початку гри не можна.

Серверний сид — секретне значення, з якого рахується результат гри. Щоб перерахувати гру, сид треба розкрити: картка гри зробить це за вас.
Натисніть на свій аватар у шапці, відкрийте вкладку «Історія» й виберіть «Кейси» або «Апгрейди».
Кнопка стоїть у кінці рядка гри (на телефоні прокрутіть таблицю вправо). У картці, що відкриється, натисніть «Перевірити» ще раз.
Щоб перевірити гру, серверний сид треба розкрити. Ми створимо нову пару сидів: поточний сид розкриється й одразу підставиться в перевірку, а номери ігор почнуться заново.
Якщо сид ще секретний, картка запропонує «Змінити сиди й перевірити». Старий сид розкриється — після цього можна перевірити всі ігри, зіграні з ним. Нові ігри почнуть відлік з 1, зіграні не зміняться. Якщо сид уже розкрито, цього кроку не буде.
Браузер перерахував гру за розкритим сидом, результат збігся із записом сервера.
Відкриється сторінка перевірки. «Збігається» означає, що ваш браузер перерахував гру й отримав те саме, що записав сервер. Предмет із позначкою «випав» порівняйте з рядком в історії, в апгрейда — «Перемога» або «Поразка».
Кнопки «Перевірити» немає в ігор, зіграних до запуску чесної гри, у подарунків і видач. Якщо предмет замінили, перевірка стосується початкового випадіння. Бачите «Не збігається» — збережіть серверний сид і напишіть у підтримку.
До гри ви бачите хеш серверного сида. Тому сервер уже не може непомітно підмінити вихідні дані.
Ваш сид і номер гри беруть участь у розрахунку, тому результат формує не лише сервер.
Підставте дані гри. Розрахунок іде у вашому браузері, на сервер нічого не надсилається.
Підставте дані гри й натисніть «Перевірити» — тут з’явиться число, що випало, і предмет.
Серверний сид + Ваш сид + Номер гри = Чесний результат
Сервер обирає випадковий серверний сид і показує лише його хеш SHA-256. Підмінити сид після цього не можна: хеш перестане збігатися.
Для кожної гри рахується HMAC-SHA256. Ключ — серверний сид у вигляді 64-символьного hex-рядка як є, без перетворення на байти. Повідомлення складається з виду гри, гри, вашого client seed і номера гри.
Перші 8 hex-символів хеша дають число від 0 до 4 294 967 295. З нього виходить тікет від 1 до 100 000 000: floor(число × 100 000 000 / 2^32) + 1.
У кожного предмета в таблиці шансів на момент гри є свій діапазон тікетів. Випадає предмет, у чий діапазон потрапив тікет.
Поріг дорівнює floor(шанс × 100 000 000). Апгрейд виграє, якщо тікет не більший за поріг.
Серверний сид розкривається, коли ви змінюєте сиди. Після цього будь-яку гру пари можна перерахувати в браузері на цій сторінці або власним кодом.
Ключ — це hex-рядок серверного сида як є (64 символи), а не декодовані з нього байти. Саме тут найчастіше помиляються під час самостійної перевірки.