API Documentation

Integrate with our secure casino backend infrastructure

Getting Started

Welcome to the CasinoCore API documentation. Our API allows you to integrate with our secure casino backend infrastructure, handling user authentication, wallet operations, and game mechanics.

Base URL

https://api.casinocore.com/v1

Authentication

All API requests require authentication using HttpOnly cookies

Authentication

OAuth authentication endpoints for user login and registration

POST

/v1/auth/register

Register a new user

Parameters

NameTypeRequiredDescription
emailstring
Required
User email address
passwordstring
Required
User password (min 8 characters)
usernamestring
Required
Unique username

Responses

200

User registered successfully

{
    "success": true,
    "data": {
        "user_id": "123",
        "access_token": "jwt_token",
        "refresh_token": "refresh_token"
    }
}
400

Invalid request parameters

{
    "success": false,
    "error": "Email already in use"
}

POST

/v1/auth/login

Authenticate a user

Parameters

NameTypeRequiredDescription
emailstring
Required
User email address
passwordstring
Required
User password

Responses

200

Authentication successful

{
    "success": true,
    "data": {
        "user_id": "123",
        "access_token": "jwt_token",
        "refresh_token": "refresh_token"
    }
}
401

Invalid credentials

{
    "success": false,
    "error": "Invalid email or password"
}

POST

/v1/auth/refresh

Refresh access token

Parameters

NameTypeRequiredDescription
refresh_tokenstring
Required
Refresh token received during login

Responses

200

Token refreshed successfully

{
    "success": true,
    "data": {
        "access_token": "new_jwt_token"
    }
}
401

Invalid refresh token

{
    "success": false,
    "error": "Invalid or expired refresh token"
}

Wallet

Endpoints for managing user deposits and withdrawals

GET

/api/v1/wallet/balance

Get user wallet balance

Responses

200

Balance retrieved successfully

{
    "success": true,
    "data": {
        "balance": 1250,
        "currency": "USD"
    }
}
401

Unauthorized

{
    "success": false,
    "error": "Authentication required"
}

POST

/api/v1/wallet/deposit

Initiate a deposit

Parameters

NameTypeRequiredDescription
amountnumber
Required
Amount to deposit
methodstring
Required
Payment method (credit_card, paypal, bitcoin, ethereum)

Responses

200

Deposit initiated successfully

{
    "success": true,
    "data": {
        "transaction_id": "tx123",
        "amount": 100,
        "status": "pending",
        "payment_url": "https://payment.gateway.com/checkout/123"
    }
}
400

Invalid request parameters

{
    "success": false,
    "error": "Amount must be at least 10.00"
}

POST

/api/v1/wallet/withdraw

Request a withdrawal

Parameters

NameTypeRequiredDescription
amountnumber
Required
Amount to withdraw
methodstring
Required
Withdrawal method (bank_transfer, paypal, bitcoin, ethereum)
addressstring
Required
Destination address or account
passwordstring
Required
User password for security verification

Responses

200

Withdrawal requested successfully

{
    "success": true,
    "data": {
        "transaction_id": "tx456",
        "amount": 100,
        "fee": 1,
        "net_amount": 99,
        "status": "pending"
    }
}
400

Invalid request parameters

{
    "success": false,
    "error": "Insufficient balance"
}
401

Invalid password

{
    "success": false,
    "error": "Invalid password"
}

Games

Endpoints for game operations and bet placement

GET

/api/v1/games

Get list of available games

Parameters

NameTypeRequiredDescription
categorystring
Optional
Filter by game category (slots, table, cards, etc.)
limitnumber
Optional
Number of games to return (default: 20)
offsetnumber
Optional
Pagination offset (default: 0)

Responses

200

Games retrieved successfully

{
    "success": true,
    "data": {
        "games": [
            {
                "id": "game1",
                "name": "Blackjack",
                "category": "cards",
                "min_bet": 1,
                "max_bet": 1000
            }
        ],
        "total": 50
    }
}

POST

/api/v1/games/{game_id}/bet

Place a bet on a game

Parameters

NameTypeRequiredDescription
game_idstring
Required
Game identifier
amountnumber
Required
Bet amount
bet_dataobject
Required
Game-specific bet data (varies by game type)

Responses

200

Bet placed successfully

{
    "success": true,
    "data": {
        "bet_id": "bet123",
        "game_id": "game1",
        "amount": 10,
        "outcome": {
            "result": "win",
            "payout": 20
        },
        "provably_fair": {
            "server_seed_hash": "abc123",
            "client_seed": "def456",
            "nonce": 1
        }
    }
}
400

Invalid bet parameters

{
    "success": false,
    "error": "Bet amount exceeds maximum allowed"
}
401

Unauthorized

{
    "success": false,
    "error": "Authentication required"
}

GET

/api/v1/games/history

Get user bet history

Parameters

NameTypeRequiredDescription
game_idstring
Optional
Filter by game
start_datestring
Optional
Filter by start date (ISO format)
end_datestring
Optional
Filter by end date (ISO format)
limitnumber
Optional
Number of records to return (default: 20)
offsetnumber
Optional
Pagination offset (default: 0)

Responses

200

History retrieved successfully

{
    "success": true,
    "data": {
        "bets": [
            {
                "bet_id": "bet123",
                "game_id": "game1",
                "amount": 10,
                "outcome": "win",
                "payout": 20,
                "timestamp": "2024-06-15T14:23:45.000Z"
            }
        ],
        "total": 150
    }
}
401

Unauthorized

{
    "success": false,
    "error": "Authentication required"
}

Provably Fair

Endpoints for the provably fair verification system

GET

/api/v1/provably-fair/server-seed/current

Get current server seed hash

Responses

200

Server seed hash retrieved successfully

{
    "success": true,
    "data": {
        "serverSeedHash": "a77c676f4f5df5d421f9997f1e20c6995f9f3d2d9d57cd99c27d8e22a315d90a",
        "createdAt": "2024-06-15T14:23:45.000Z"
    }
}
401

Unauthorized

{
    "success": false,
    "error": "Authentication required"
}

POST

/api/v1/provably-fair/client-seed

Set a new client seed

Parameters

NameTypeRequiredDescription
clientSeedstring
Required
New client seed

Responses

200

Client seed updated successfully

{
    "success": true,
    "data": {
        "clientSeed": "your-custom-seed-string",
        "previousServerSeed": "original-server-seed-revealed",
        "previousServerSeedHash": "a77c676f4f5df5d421f9997f1e20c6995f9f3d2d9d57cd99c27d8e22a315d90a",
        "newServerSeedHash": "b88d787f5f6df6e532f0098f2e31d7006f0f4e3e0e68de00d38d9f33b426e01b"
    }
}
401

Unauthorized

{
    "success": false,
    "error": "Authentication required"
}

GET

/api/v1/provably-fair/verify/{bet_id}

Get verification data for a specific bet

Parameters

NameTypeRequiredDescription
bet_idstring
Required
Bet identifier

Responses

200

Verification data retrieved successfully

{
    "success": true,
    "data": {
        "betId": "bet123",
        "serverSeed": "original-server-seed-revealed",
        "clientSeed": "client-seed-used",
        "nonce": 42,
        "result": 0.7523841253648291,
        "gameOutcome": {
            "type": "dice",
            "roll": 75
        }
    }
}
404

Bet not found

{
    "success": false,
    "error": "Bet not found"
}