curl --request POST \
--url https://api.example.com/api/cases/open \
--header 'Content-Type: application/json' \
--data '
{
"caseId": "<string>",
"clientSeed": "<string>"
}
'{
"400": {},
"401": {},
"404": {},
"winner": {
"winner.id": "<string>",
"winner.name": "<string>",
"winner.value": 123,
"winner.probability": 123,
"winner.rarity": "<string>"
},
"fairness": {
"fairness.server_seed_hash": "<string>",
"fairness.client_seed": "<string>",
"fairness.nonce": 123,
"fairness.roll_value": 123
}
}Open a case and receive a provably fair random item
curl --request POST \
--url https://api.example.com/api/cases/open \
--header 'Content-Type: application/json' \
--data '
{
"caseId": "<string>",
"clientSeed": "<string>"
}
'{
"400": {},
"401": {},
"404": {},
"winner": {
"winner.id": "<string>",
"winner.name": "<string>",
"winner.value": 123,
"winner.probability": 123,
"winner.rarity": "<string>"
},
"fairness": {
"fairness.server_seed_hash": "<string>",
"fairness.client_seed": "<string>",
"fairness.nonce": 123,
"fairness.roll_value": 123
}
}POST /api/cases/open
{
"caseId": "550e8400-e29b-41d4-a716-446655440000",
"clientSeed": "my-custom-seed-123"
}
{
"winner": {
"id": "item-123",
"name": "Dragon Lore AWP",
"value": 2500.00,
"probability": 0.5,
"rarity": "legendary",
"image_url": "https://..."
},
"fairness": {
"server_seed_hash": "a3d5f8b2c1e4d7a9b6c3e1f4d7a9b6c3e1f4d7a9b6c3e1f4d7a9b6c3e1f4d7a9",
"client_seed": "my-custom-seed-123",
"nonce": 42,
"roll_value": 0.00234
}
}
{
"error": "Unauthorized"
}
{
"error": "Case not found"
}
{
"error": "Case is empty"
}
calculateRollResult(server_seed, client_seed, nonce + 1)game_rolls tablesource/app/api/cases/open/route.ts:5
curl -X POST https://your-domain.com/api/cases/open \
-H "Authorization: Bearer YOUR_SUPABASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"caseId": "550e8400-e29b-41d4-a716-446655440000",
"clientSeed": "my-custom-seed-123"
}'
server_seed_hash, client_seed, and nonceserver_seed via the provably fair interfaceSHA256(server_seed) matches server_seed_hashgame_rolls table stores the actual server seed used for each roll, enabling users to verify fairness after the round completes.