API Status: Operational
Game Topup
REST API
Fast, secure and reliable API for automated game top-ups. PUBG Mobile, Free Fire, Mobile Legends and 180+ other games.
99.9%
Uptime
<200ms
Avg Response
180+
Games
24/7
Support
Base URL
https://api.tajdonat.wineclo.com/v1
Authentication
Protected endpoints require an API key in the request header.
Request Header
X-API-Key: your_api_key_here
Never expose your API key in frontend code or public repositories. Always call from your server/backend only.
Contact us on Telegram to get your API key and set up your reseller account.
Balance
GET
/v1/balance
Auth Required
Check your current account balance.
Response
{
"status": "success",
"balance": 152.72,
"currency": "USD"
}
Account Info
GET
/v1/me
Auth Required
Retrieve your account details.
Response
{
"status": "success",
"user_id": "u_8291",
"username": "reseller_name",
"balance": 152.72
}
List Games
GET
/v1/games
Public
Returns all supported games available for top-up.
Response
{
"status": "success",
"games": [
{
"id": 1,
"code": "pubgm",
"name": "PUBG Mobile"
},
{
"id": 2,
"code": "freefire",
"name": "Free Fire"
},
{
"id": 3,
"code": "mlbb",
"name": "Mobile Legends"
}
]
}
Check Player
POST
/v1/checkPlayer
Public
Validate a player ID before placing an order. Returns the player's in-game nickname if valid.
Request Body
{
"game": "pubgm",
"uid": "5123456789",
"server_id": ""
}
Response â Valid
{
"status": "valid",
"nickname": "PlayerName"
}
Response â Invalid
{
"status": "invalid",
"message": "Player not found"
}
Available Packages
GET
/v1/games/{game_code}/packages
Public
Get all available top-up packages for a specific game with pricing.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
game_code |
string | Game code from /v1/games (e.g. pubgm, mlbb) |
Response
{
"status": "success",
"game": "PUBG Mobile",
"packages": [
{ "id": 1, "name": "60 UC", "price": 0.95 },
{ "id": 2, "name": "120 UC", "price": 1.85 },
{ "id": 3, "name": "325 UC", "price": 4.90 },
{ "id": 4, "name": "660 UC", "price": 9.75 }
]
}
Prices may change with exchange rates. Always fetch fresh prices before displaying to users.
Create Order
POST
/v1/order
Auth Required
Place a game top-up order. Balance is deducted immediately on creation.
Request Headers
X-API-Key: your_api_key_here
Request Body
{
"game": "pubgm",
"uid": "5123456789",
"server_id": "",
"package": "60 UC",
"remark": "optional note"
}
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
game |
string | Yes | Game code (e.g. pubgm) |
uid |
string | Yes | Player/User ID |
server_id |
string | Optional | Server ID (required for some games) |
package |
string | Yes | Package name from /packages |
remark |
string | Optional | Your internal note or reference |
Response â Success
{
"status": "success",
"order_id": "928372",
"message": "Order created successfully"
}
Order Status
GET
/v1/status?id={order_id}
Auth Required
Check the current status of a specific order.
Response
{
"status": "completed",
"order_id": "928372",
"game": "PUBG Mobile",
"package": "60 UC",
"uid": "5123456789"
}
Order Status Values
| Status | Description |
|---|---|
| pending | Order received, awaiting processing |
| processing | Currently being processed |
| completed | Top-up delivered successfully |
| failed | Failed â balance automatically refunded |
Order History
GET
/v1/orders?page=1&limit=20
Auth Required
Retrieve paginated order history for your account.
Query Parameters
| Param | Default | Description |
|---|---|---|
page |
1 | Page number |
limit |
20 | Results per page (max 100) |
Response
{
"status": "success",
"orders": [
{
"order_id": "928372",
"game": "PUBG Mobile",
"package": "60 UC",
"uid": "5123456789",
"status": "completed",
"created_at": "2026-05-25T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 85
}
}
Error Codes
Error Response Format
{
"status": "error",
"code": 401,
"message": "Invalid API key"
}
Rate Limiting
Repeated failed authentication requests will trigger a permanent IP ban. Always verify your API key before sending requests.
Use exponential backoff when you receive a 429 response. Start with 1 second, then 2s, 4s, 8s.