WinUpGo
Qidiruv
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
Kriptovalyuta kazinosi Kripto-kazino Torrent Gear - sizning universal torrent qidiruvingiz! Torrent Gear

Balans va hamyonlar: multi-wallet arxitekturasi

1) Nega multi-wallet va qanday maqsadlar

Bitta «balans = son» yozuvi iGaming haqiqatini qoplamaydi. Alohida hamyonlar/subschyotlar kerak: real pul (cash), bonus mablag’lari, veyjer-pullar, frispinlar, komp-pointlar, ba’zan - valyuta hamyonlari (EUR/USD/BRL).

Arxitektura maqsadlari:
  • Pulning aniqligi (double-entry, tinglanuvchanlik).
  • Hisobdan chiqarish siyosati (masalan, avval bonus/veyjer, keyin cash).
  • Tezlik (p95 API ≤ 250-400 ms, real vaqtda stavka/settlment).
  • Xavfsizlik va komplayens (KYC/AML, mas’uliyatli o’yin limitlari, regulyatorlar).
  • Ko’lami: cho’qqilar → o’n minglab operatsiyalar/sek, milliardlab posting/oy.

2) Ma’lumotlar modeli: «Ledger + Subwallets»

Minimal mohiyatlar

Account: oʻyinchi/brend/market.

Wallet: `{type: CASHBONUSWAGERFSPOINTS, currency, status}`.
LedgerEntry (двойная запись): `debit_account`, `credit_account`, `amount`, `currency`, `operation_id`, `category`, `created_at`.
Posting: atomik biznes operatsiyasi, 2 + LedgerEntry ni birlashtiradi.
Hold/Reservation: mablag’larni stavka bo’yicha vaqtincha blokirovka qilish/olib qo’yish.
Policy: hisobdan chiqarish/qabul qilish ustuvorligi qoidalari.
FXRate: yaxlitlash kursi/aniqligi/qoidalari.
Limit: kunduzgi/oylik/mas’uliyatli o’yin.

Jadvallar namunasi (soddalashtirilgan)

sql
- Double-entry uchun balans hisobvaraqlari (shu jumladan xizmat hisobvaraqlari)
accounts(id, owner_user_id, type, currency, status,...)

-- O’tkazish (ikki marta yozib olish, biznes operatsiyasiga havola)
ledger_entries(id, posting_id, debit_account_id, credit_account_id,        amount_minor, currency, category, operation_id, created_at)

- Xoldlar (zaxiralar)
holds(id, account_id, amount_minor, currency, reason, expires_at, state,    operation_id, created_at)

- Hisobdan chiqarish siyosati (ustuvorliklar)
spend_policies(id, market, wallet_priority jsonb, updated_at)

-- fx_rates kross-valyuta kurslari (ccy_from, ccy_to, rate, precision, valid_from)

Qoida: haqiqat simlar jurnalida (’ledger _ entries’) yashaydi. Joriy balans - yoki agregat (materiallashtirilgan snepshot) yoki jurnaldan hisoblab chiqariladi (qimmat, lekin faqat to’g "ri).


3) Hamyonlarning turlari va ularning xulq-atvori

HamyonNima uchunToʻldirish mumkinHisobdan chiqarish mumkinMaxsus qoidalar
CASHHaqiqiy pulPSP/qoʻl bilan hisoblash/qaytarishStavkalar, xaridlar, xulosaAML/KYC ga ta’sir qiladi; bitimlar buxgalteriya hisobiga tushadi
BONUSBonus pullarPromo/kampaniyalarStavkalar (qoidalar bo’yicha)To’g’ridan-to’g’ri chiqarilmaydi, veyjer bajarilayotganda Cash’ga konvertatsiya qilinadi
WAGER«Muzlatilgan» bonuslarni hisobga olishStavkada bonusdan avtoO’yinlar provayderi foydasiga hisobdan chiqarishSettle/bekor qilish qoidasi
FS (FreeSpins)Aylanish paketlariKampaniyalarSlotlarda qaytarishPul ekvivalenti T&C bo’yicha belgilanadi
POINTSSadoqat/kompyuterlarAktivlikDo’kon/maqomPul emas; AML hisobotlariga kirmaydi

4) Hisobdan chiqarish siyosati va ustuvorlik tartibi

Manba algoritmini aniq rasmiylashtiring: Misol (slotlar/kazino):

1. Avval VAGER dan hisobdan chiqarish (agar veyjer aktiv boʻlsa).

2. Keyin BONUSDAN hali tugamadi.

3. Qoldiq - CASH.

Misol (sport):

1. Birinchidan, CASH (regulyator/soliq).

2. So’ngra BONUS (freebet) ni WAGER ga o’tkazish.

Postings’da «siyosat yechimi» ni atribut sifatida saqlang, shunda sapport va audit «nima uchun bunday yozib olinganini» ko’radi.


5) Pul va operatsiyalarning hayot sikli

Depozit

1.’POST/wallet/deposit’→ pending yozuvini yarating (inbox kolbeka PSP).

2. Vebxuk PSP (imzo HMAC, idempotentlik’operation _ id’) → credit CASH, category =’DEPOSIT’.

3. ’wallet _ updated’ voqeasini eʼlon qilyapmiz.

Stavka

1.’POST/bet/place’→ manbaning hisobvarag’ida hold (zaxira) yarating (CASH/BONUS/WAGER).

2. Stavka tasdiqlanganda → transfer hold → debit manbai, credit provayderning xizmat «hisob-kitob» hisobvarag’i.

3. Bekor qilinganda - release hold.

Settlement (natija)

G’alaba: provayderning siyosat bo’yicha debit hisobvarag’i → credit CASH yoki WAGER → BONUS → CASH.

Yo’qotish: o’yinchiga kreditsiz provayderning → «xarajat» simlari bilan yopamiz.

1. KYC/AML tekshiruvi, mas’uliyatli o’yin limitlari.

2. Hold summasi.

3. PSP muvaffaqiyatlari → yakuniy debit CASH → credit «to’lov» hisobi.

4. PSP → release hold muvaffaqiyatsiz tugadi.


6) Idempotentlik va exactly-once «ma’nosi bo’yicha»

Hamma joyda’operation _ id’(UUID/yaxshilangan ULID) noyob indeksga ega. Qayta soʻrash → Oʻtmishdagi holat.

PSP/oʻyin provayderi vebxuklari:’event _ id + signature’uchun dedupe bilan Inbox jadvali. Qayta ishlash - idempotent vorker (Outbox-pattern).

Idempotency-Key - mijoz uchun HTTP; TTL 24-72 soatdan ≥ saqlanadi


7) Zaxiralar va xoldlar (holds)

Xold - hisobdan chiqarish emas, balki mavjud qoldiqni «muzlatish».

Qoidalar:
  • Xoldning umr koʻrish muddati: seconds → minutes (stavka) yoki soat (chiqish).
  • Xold qisman yoki toʻliq qoplanishi mumkin (partial settle).
  • expire - avtomatik release va hodisa.
  • Aloqani saqlang’hold _ id’bet _ id/withdraw _ id’.

8) Valyutalar, FX va yaxlitlash

Pul summalari - minor birliklarda (cents), turi - butun.

Bank yaxlitlari (round half to even) yoki T&C bo’yicha

FX:’CASH (EUR) ’CASH (USD)’hamyonlarni ajratish yaxshiroqdir. Konversiyani alohida operatsiya sifatida bajarish:
  • ’debit EUR, credit FX_EURUSD' va’ debit FX_EURUSD, credit USD’- audit uchun shaffof.
  • Nizoda kursni avtomat bilan «yetib borish» taqiqlangan; barcha qoidalar FX siyosatida.

9) Mas’uliyatli o’yin va limitlar

Deposit/Bet/Loss/Session limitlari (kun/hafta/oy), «cooling-off», self-exclusion.

hold/debit oldidan pre-check sifatida amalga oshiriladi.

Rad etish daftarlari - alohida audit-jurnalga, sifport va tartibga soluvchiga taqdim etiladi.


10) Hamyon atrofidagi antifrod-signallar

Klaster qurilmalari/ASN, tez-tez oz miqdordagi depozitlar → yirik xulosalar, yuvish patternlari.

Velocity-limit’deposit/withdraw’bo’yicha BIN/mamlakat/qurilma bo’yicha.

Qabul qiluvchilar uchun blok-varaqlar (hamyonlar/IBAN), «pashshalar» ro’yxati.

Hamyon voqealari → feature store skoringa (login/depozit/stavka).


11) Konsistentlik va unumdorlik

Haqiqat vs kesh

Haqiqat - ledger. API uchun «balans olish» - materiallashtirilgan snapshot (’user _ id + wallet _ type → balance_minor, version’) saqlang.

Yozish: DBdagi tranzaksiya → keshni nogironlashtirish.

«Og’ir» floularda (jonli) short-TTL 1-5 + haqiqatni ko’rib chiqish/katta stavkadan oldin tekshirish kerak.

Skalerlash

’user _ id’ bo’yicha shardlash (modul/reyting), CASH vs BONUS ostida alohida shard-pullar.

Issiq kalitlar (VIP/botlar) - request coalescing po’user _ id’.

Asinxron agregatsiyalar (fondagi’posting’→’snapshot-apdeyter’ni jamlang).


12) API-kontraktlar (psevdo)

Balans

http
GET /v1/wallets? types=CASH,BONUS
→ 200 {"wallets":[
{"type":"CASH","currency":"EUR","available":12050,"hold":500,"version":1942},  {"type":"BONUS","currency":"EUR","available":3000,"wager_req":15000}
]}

Stavka (xold bilan)

http
POST /v1/bets/place
{"bet_id":"b_123","amount":500,"currency":"EUR","source_policy":"casino_default", "idempotency_key":"ik_abc"}
→ 201 {"status":"HELD","hold_id":"h_789","expires_in":30}

Settlement

http
POST /v1/bets/settle
{"bet_id":"b_123","result":"WIN","payout":1250}
→ 200 {"status":"SETTLED","cash_delta":+1250}
http
POST /v1/withdrawals
{"withdraw_id":"w_456","amount":10000,"currency":"EUR","method":"sepa", "idempotency_key":"ik_def"}
→ 202 {"state":"PENDING","next_check_sec":2,"status_url":"/v1/withdrawals/w_456"}

13) Simlar namunalari (double-entry)

Depozit €100 (PSP fee €1, kommis. hisobvaraq - alohida)


Debit: PSP_Settlements(EUR)   10000
Credit: User. CASH(EUR)         10000

Debit: User. CASH (EUR) 100 (fee)
Credit: PSP_Fees(EUR)          100

BONUSdan 5 yevro stavkasi (WAGERga o’tkazish)


Debit: User. BONUS(EUR)       500
Credit: User. WAGER (EUR) 500 («veyjer» ga o’tish)
Debit: User. WAGER(EUR)       500
Credit: Provider. Settlement (EUR) 500 (stavka hisobdan chiqarilgan)

G’alaba €12. 5 → CASH


Debit: Provider. Settlement(EUR)  1250
Credit: User. CASH(EUR)         1250

Xolddan chiqarish (HOLD xizmat hisobvarag’i orqali sotish)


Debit: User. CASH(EUR)       500
Credit: User. HOLD (EUR) 500 (yaratilgan hold)
-- bilan settle
Debit: User. HOLD(EUR)       500
Credit: Provider. Settlement(EUR)   500
-- bekor qilinganda
Debit: User. HOLD(EUR)       500
Credit: User. CASH(EUR)         500

14) Audit, o’zgaruvchanlik va muvofiqlik

Jurnal uchun WORM/immutability (obyekt ombori/WAL arxivi).

Kirish meta-jurnallari: kim limitlarni o’qigan/o’zgartirgan, kim qo’lda tuzatishlar kiritgan (faqat asosli «adjustment-posting» orqali).

GDPR/regulyatorlar: tranzaksiyalarni 5-10 yil davomida saqlash (yurisdiksiya bo’yicha), o’yinchi uchun hisob-kitoblarning shaffofligi (hisobdan chiqarish/veyjer tarixi).


15) Muvaffaqiyatsizlikka chidamlilik va DR

Multi-AZ majburiy; hamyon uchun DR-mintaqa: zonada sync-replikatsiya, mintaqaga async; PITR yoqilgan.

Promote standby - faqat chek varaqasi bo’yicha qo’lda (split-brain chiqarib tashlansin).

Tiklanishni har hafta tekshirish (test-restore), nazorat hisobotlari summasini solishtirish.


16) Hamyonning kuzatilishi

SLI: `deposit_success_ratio`, `withdraw_success_ratio`, `bet_hold_latency_p95`, `settlement_latency_p95`.

Тех: `ledger_postings_rate`, `db_connections_saturation`, `queue_lag_seconds`, `hold_expired_rate`.

Alertlar: success PSPning bozor bo’yicha pasayishi,’hold _ expired _ rate’ning o’sishi, o’yin provayderining rasinxronlari (tasdiqlash yo’q> N min).


17) Test sinovlari va sifat nazorati

PSP/o’yin provayderlari bilan kontrakt testlari (vebxuklar/imzolar).

Property-based pul testlari: debetlar summasi = = har bir Posting-dagi kreditlar summasi.

Fuzz/chaos: PSP/provayderning kechikishlari, vebxuklarni takrorlash, tarmoq flapplari.

Yuklama: burst stavkalari (60-120 s), soaks (4-8 soat), nazorat’queue _ lag’i p99.


18) Ishlab chiqarishga tayyorlik chek-varaqasi

  • Ikki marta ledger yozish, barcha operatsiyalar Posting’operation _ id’orqali amalga oshiriladi.
  • Aniq spend-policies va ustuvorlik tartibi (posting bilan birga).
  • TTL/partial settle/expiry xoldlari, bet/withdraw bilan aloqa.
  • Inbox/Outbox, HMAC vebxuklari, barcha chegaralardagi idempotentlik.
  • Alohida CASH/BONUS/WAGER/FS/POINTS hamyonlari; valyutalar bo’yicha bo’lish.
  • FX va minor birliklarda yaxlitlash; konversiya - alohida operatsiya.
  • Mas’uliyatli o’yin limitlari hold/debit gacha; rad etish auditi.
  • Oʻqish uchun kesh (qisqa TTL) + tanqidiy harakatlardan oldin haqiqatni majburiy tekshirish.
  • PITR/backaplar/DR-skriptlar; qo’lda promote, muntazam DR-mashqlar.
  • Dashbordlar/alertlar SLI + texnik; WORM loglari va kirish meta-jurnallari.
  • Yuklash/xaos-testlar; reconciliation hisobotlari PSP/provayderlar bilan.

Xulosa

Multi-wallet arxitekturasi «ko’p balans raqamlari» emas, balki ikki tomonlama yozuv, sarflash siyosati, zaxira va audit va o’yinchilar uchun shaffof izga ega bo’lgan moliyaviy tizimdir. Haqiqatni jurnalda saqlang, xoldlar va idempotentlikdan foydalaning, hamyonlar va valyutalarni ajrating, reconciliation va DR. shunday qilib hamyon UX uchun tez, pul uchun aniq va eng yuqori yuk va tartibga solish tekshiruvlari uchun barqaror bo’ladi.

× Oʻyinlar boʻyicha qidiruv
Qidiruvni boshlash uchun kamida 3 ta belgi kiriting.