API Gateway v1.0
Verify API Status
Auto Topup API Documentation

Auto Topup API (UniPin & Garena Shell)

Universal gateway endpoints for automated UniPin UC, Free Fire Diamond, and Garena Shell top-ups. Supports both asynchronous Webhook-driven callbacks and instant synchronous responses.

4.1

Errors & Status Codes

Auth, limit, and validation failures return standard JSON with an error message and a machine-readable code.

Authentication Errors

401TOKEN_MISSING
401TOKEN_INVALID
403TOKEN_EXPIRED
429TOKEN_BANNED
429IP_BANNED
429BURST_BANNED

Limit & Server Errors

401TOKEN_ERROR
409VOUCHER_CONSUMED
500REDIS_ERROR
503SHELL_UNAVAILABLE
503QUEUE_FULL
503SERVER_BUSY

Validation Errors

400INVALID_PLAYERID
400INVALID_VOUCHER
400MISSING_PACKAGE
400INVALID_PACKAGE
400REGION_UNSUPPORTED
4.2

Unipin Voucher Top-up (Async)

Webhook Callback Based
POST /api/topup

Request Parameters

Field Type Requirement
Authorization Header Required (API Key)
orderid String Required (Tracking ID)
playerid String Required (Player UID)
code String Required (Max 5 codes)
url String Required (Webhook Callback)
cURL Request
curl -X POST /api/topup \
  -H "Authorization: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "orderid": "order-001",
    "playerid": "123456789",
    "code": "BDMB-T-S-01885045 6591-4164-9992-5148",
    "url": "https://your-webhook.com/callback"
  }'
Immediate Response (200 OK)
{"status": "processing"}
Webhook Callback — All Success
{
  "status": "success",
  "orderid": "order-001",
  "content": {
    "batch": [
      {
        "uc": "BDMB-Q-S-12513859 5265-6592-7735-1778",
        "ok": true,
        "detail": "✅ Success"
      }
    ]
  },
  "nickname": "PlayerName"
}
Webhook Callback — Failed / Partial
{
  "status": "failed", // or "partial"
  "orderid": "order-001",
  "content": {
    "batch": [
      {
        "uc": "BDMB-Q-S-12513859 5265-6592-7735-1778",
        "ok": false,
        "detail": "❌ Consumed Voucher"
      }
    ]
  },
  "nickname": "PlayerName"
}
4.3

Unipin Voucher Top-up (Instant Sync)

Direct Synchronous Response
POST /api/topup-instant
Instant Request Example
curl -X POST /api/topup-instant \
  -H "Authorization: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "orderid": "order-002",
    "playerid": "123456789",
    "code": "BDMB-T-S-01885045:6591-4164-9992-5148"
  }'
Instant Response Example
{
  "status": "success",
  "orderid": "order-002",
  "content": {
    "batch": [
      {
        "uc": "BDMB-T-S-01885045 6591-4164-9992-5148", 
        "ok": true, 
        "detail": "✅ Success" 
      }
    ]
  },
  "nickname": "PlayerName"
}
4.4

Supported Unipin Vouchers Reference

Value / Item Voucher Prefix Gift Card Prefix
20UC / 25 DiamondBDMB-T-S-xxxxxxxxUPBD-Q-S-xxxxxxxx
36UC / 50 DiamondBDMB-U-S-xxxxxxxxUPBD-R-S-xxxxxxxx
80UC / 115 DiamondBDMB-J-S-xxxxxxxxUPBD-G-S-xxxxxxxx
160UC / 240 DiamondBDMB-I-S-xxxxxxxxUPBD-F-S-xxxxxxxx
161UC / WeeklyBDMB-Q-S-xxxxxxxxUPBD-N-S-xxxxxxxx
405UC / 610 DiamondBDMB-K-S-xxxxxxxxUPBD-H-S-xxxxxxxx
800UC / MonthlyBDMB-S-S-xxxxxxxxUPBD-P-S-xxxxxxxx
810UC / 1240 DiamondBDMB-L-S-xxxxxxxxUPBD-I-S-xxxxxxxx
1625UC / 2530 DiamondBDMB-M-S-xxxxxxxxUPBD-J-S-xxxxxxxx
2000UCWallet-loadable UC — no fixed prefix
4.5

Garena Shell Top-up (Async)

SG, MY, BD, or ID Backends
POST /api/topup

Required Shell Parameters

codeshell, sgshell, myshell, indoshell
packagePackage code (e.g. lvl6, weekly)
qtyQuantity to purchase as integer
usernameYour Garena account username
passwordYour Garena account password
autocodeSecret OTP / Authenticator key
urlWebhook callback URL
cURL Request
curl -X POST /api/topup \
  -H "Authorization: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "orderid": "shell-001",
    "playerid": "123456789",
    "code": "shell",
    "package": "lvl6",
    "qty": 1,
    "username": "your_username",
    "password": "your_password",
    "autocode": "your_secret_key",
    "url": "https://your-webhook.com/callback"
  }'
Response (200 OK)
{"status": "accepted"}
4.6

Garena Shell Top-up (Instant Sync)

Synchronous HTTP Execution
Instant Request Example
curl -X POST /api/topup-instant \
  -H "Authorization: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "orderid": "shell-002",
    "playerid": "123456789",
    "code": "shell",
    "package": "lvl6",
    "qty": 1,
    "username": "your_username",
    "password": "your_password",
    "autocode": "your_secret_key"
  }'
Instant Response (Success)
{
  "status": "success",
  "orderid": "shell-002",
  "content": {
    "batch": [{"package": "LVL6", "ok": true, "detail": "Success"}]
  },
  "nickname": "PlayerName"
}
Instant Response (Failed)
{
  "status": "failed",
  "orderid": "shell-002",
  "content": {
    "batch": [{"package": "LVL6", "ok": false, "detail": "Wrong OTP"}]
  },
  "nickname": "PlayerName"
}
4.7

Shell Shop & Package Reference

code: sgshell

shop.garena.sg

Membership: weekly, monthly, Lite, 3D, 7D, 30D

Level Up: lvl6, lvl10, lvl15, lvl20, lvl25, lvl30, lvlall

Diamonds: 25, 100, 310, 520, 1060, 2180, 5600, 11500

code: indoshell

kiosgamer.co.id

Membership: weekly, monthly

Booyah Pass: bp

Level Up: lvl6, lvl10, lvl15, lvl20, lvl25, lvl30, lvlall

Diamonds: 5, 50, 70, 140, 355, 720, 7290

code: myshell

shop.garena.my

Membership: weekly, monthly

Diamonds: 25, 100, 310, 520, 1060, 2180, 5600, 11500

Other: Lite, 3D, 7D, 30D, lvl6 - lvl30

code: shell

bdgamebazar.com

Membership: Lite, 3D, 7D, 30D

Level Up: 108588 (Lvl 6), 108589 (Lvl 10), 108590 (Lvl 15), 108591 (Lvl 20), 108592 (Lvl 25), 108593 (Lvl 30)

Common Shell Error Messages:

❌ Insufficient garena shells  •  ❌ Wrong OTP  •  ❌ UID is invalid  •  ❌ Inaccurate region  •  ❌ UID region mismatch  •  ❌ Garena server error or wrong shell account  •  ❌ Garena transaction error  •  ❌ Level up pass not eligible