MMO API
| HTTP Method | GET / POST |
|---|---|
| Base URL | https://socneo.com/api/mmo |
| API Key | Get at /account/api (2FA required) |
| Auth | X-Api-Key, Authorization: Bearer, or ?api_key= |
| Response format | JSON |
Response format
{ "status": "success", "msg": "...", "<fields>": ... }
{ "status": "error", "msg": "<reason>" }
Currency
Money-bearing endpoints (profile, products, product, order) include a currency field. For your account, all amounts are returned as "USD" — 4-decimal strings converted at the system USD rate (e.g. "0.4800"). Read total together with currency to display the correct unit.
| HTTP | When |
|---|---|
| 401 | Missing / invalid api_key |
| 403 | IP whitelist denied |
| 404 | Order not found / not owned |
| 409 | Idempotency-Key reused with different params |
| 429 | Rate limit / idempotency lock busy |
| 503 | Maintenance |
Profile
GET /profile.php
{
"status": "success",
"currency": "USD",
"data": { "username": "myuser", "money": "5.7204" }
}
Catalog
GET /products.php — flat list: each category holds its products directly. parent_id is always 0 (field kept for legacy parser compatibility).
{
"status": "success",
"currency": "USD",
"categories": [
{
"id": "2", "parent_id": 0, "name": "FB Vietnam aged 2015",
"products": [
{ "id": "5", "name": "FB Vietnam - Live OK", "price": "0.4800",
"amount": 230, "min": "1", "max": "1000", "flag": "vn",
"description": "ID|Pass|Email|MailPass" }
]
}
]
}
price already applies markup + role discount. amount = stock. Cached 60s.
Product detail
GET /product.php?product=ID
{ "status": "success", "currency": "USD", "product": { "id": "5", "name": "...", "price": "0.4800", "amount": 230 } }
Not found → "product": [].
Buy
POST /buy_product.php
| Field | Required | Description |
|---|---|---|
id |
✓ | product id |
amount |
✓ | 1 ≤ n ≤ 1,000,000 |
idempotency_key |
optional | or header Idempotency-Key |
Success:
{
"status": "success",
"trans_id": "mmo3aH8d2fK9bP4qX",
"data": ["[email protected]|pass1|...", "[email protected]|pass2|..."]
}
Async (data: null) → poll /order.php after 1–2 minutes.
Needs admin (requires_admin: true, data: null) → copy trans_id, contact admin.
Fail → automatic refund + restock, returns {"status":"error","msg":"..."}.
Idempotency
- Same key + same params within 24h → returns original response with header
Idempotent-Replay: true. - Same key + different params → 409.
- Concurrent request with same key → 429 +
Retry-After: 5.
Order detail
GET /order.php?order=TRANS_ID
{
"status": "success",
"order": {
"trans_id": "mmo3aH8d2fK9bP4qX",
"product_id": "5", "quantity": 2,
"currency": "USD", "total": "0.9152",
"status": "completed",
"data": ["[email protected]|pass1|...", "[email protected]|pass2|..."],
"data_expired_at": "2026-06-07 14:23:11"
}
}
status |
|
|---|---|
processing |
Awaiting delivery |
completed |
Credentials delivered |
partial |
Partially completed |
failed |
Refunded 100% |
refunded |
Manually refunded by admin |
data is only returned within 30 days of delivered_at. After that data: null. Order not owned → 404.
cURL
curl -sS https://socneo.com/api/mmo/profile.php \
-H "X-Api-Key: YOUR_API_KEY"
curl -sS https://socneo.com/api/mmo/buy_product.php \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Idempotency-Key: my-order-001" \
-d "id=5&amount=1"
curl -sS "https://socneo.com/api/mmo/order.php?order=TRANS_ID" \
-H "X-Api-Key: YOUR_API_KEY"