Transaction history

Live
GET/api/v1/transactions

The member's wallet ledger (settled entries only), newest first — by default only money entries are shown, game entries (BET/WIN/ROLLBACK) are excluded.

In-progress deposit/withdraw orders do not appear here — the ledger records an entry only once money actually moves in the wallet.

Headers

FieldTypeRequiredDescription
AuthorizationstringYesUsed — send Bearer <member access_token>
X-Api-KeystringYesAgent API key (ak_…) from the bo screen
X-TimestampstringYesSigning time in unix milliseconds (±300s skew allowed)
X-NoncestringYesUnique per-request value (UUIDv4) for replay protection
X-SignaturestringYeshex(HMAC-SHA256(secret, canonical)) — see the Authentication page
X-Player-IPstring—The player's real IP (IPv4/IPv6) — recommended (used in login history)
X-Player-UAstring—The player's User-Agent (optional — recorded in login history)
X-Request-Idstring—Your correlation id — echoed back as request_uuid (recommended)
x-langstring—th (default) or en — the language of message

Query parameters

FieldTypeRequiredDescription
typestring (ส่งซ้ำได้)—Repeatable — `?type=DEPOSIT&type=WITHDRAW` filters several types at once, and a single value still works. Omitted = all money entries (BET/WIN/ROLLBACK excluded); to see game entries, request that type explicitly.DEPOSIT | WITHDRAW | BET | WIN | ADMIN_ADJUST | BONUS | REFUND | ROLLBACK | BONUS_FORFEIT | AFFILIATE | WHEEL | JACKPOT | BET_ADJUST
fromstring (YYYY-MM-DD)—Start date, anchored to Bangkok midnight and inclusive — omitted = no lower bound
tostring (YYYY-MM-DD)—End date, inclusive through the end of that Bangkok day — omitted = up to now
pagenumber—Page number starting at 1 (default 1)
limitnumber—Rows per page (default 50, max 100)

Response

Fields in data

FieldTypeRequiredDescription
dataobject[]—Transaction rows, newest created_at first
└ idstring—Transaction id (uuid)
└ typestring—Transaction typeDEPOSIT | WITHDRAW | BET | WIN | ADMIN_ADJUST | BONUS | REFUND | ROLLBACK | BONUS_FORFEIT | AFFILIATE | WHEEL | JACKPOT | BET_ADJUST
└ amountstring—Signed balance delta (THB, decimal as string) — positive = credit, negative = debit, e.g. "-300".
└ statusstring—Always "SUCCESS" — the ledger records settled entries only.
└ descriptionstring | null—Entry description, e.g. the bonus name
└ created_atstring (ISO 8601)—When the entry happened
paginationobject—Pagination block
└ pagenumber—Current page
└ limitnumber—Effective page size
└ totalnumber—Total rows matching the filter
└ total_pagesnumber—Total pages
Response example
{
  "success": true,
  "code": 0,
  "message": "สำเร็จ",
  "data": {
    "data": [
      {
        "id": "c2a5e8f1-4d07-4b39-86ce-9f1b3d6a2e74",
        "type": "BONUS",
        "amount": "50",
        "status": "SUCCESS",
        "description": "โบนัส: เครดิตฟรี 50 บาท",
        "created_at": "2026-07-05T04:12:30.000Z"
      },
      {
        "id": "8e1d4b6a-2f95-4c07-b3e8-5a9c0d7f1e26",
        "type": "WITHDRAW",
        "amount": "-300",
        "status": "SUCCESS",
        "description": "ถอนเงินเข้าบัญชี KBANK",
        "created_at": "2026-07-04T15:40:02.000Z"
      },
      {
        "id": "5b9f2c7d-8a13-4e60-9d4b-1c6e3f0a8b52",
        "type": "DEPOSIT",
        "amount": "500",
        "status": "SUCCESS",
        "description": "ฝากเงินผ่านสลิปโอน",
        "created_at": "2026-07-04T09:05:47.000Z"
      }
    ],
    "pagination": { "page": 1, "limit": 50, "total": 3, "total_pages": 1 }
  },
  "request_uuid": "d8f2b6a4-0c17-4e93-8b5d-6a1f9c3e7d20"
}

Possible error codes

codeNameHTTPMessage
4001VALIDATION_ERROR400Validation errorQuery validation failed — unknown type, page < 1, or limit outside 1-100
1001UNAUTHORIZED401Unauthorized
1007TOKEN_INVALID401Token invalid