API Reference
Integrate in hours, not weeks.
Signed REST endpoints, seamless wallet callbacks, and copy-paste examples in every major language.
REST + JSON
Standard HTTP verbs, JSON bodies, predictable status codes.
HMAC SHA-256
Every request signed with your secret. Timestamp-based replay protection.
100+ Providers
Pragmatic Play, PG Soft, Evolution, JILI, Habanero and more via one endpoint.
Seamless Wallet
Real-time bet / win / rollback callbacks. Idempotent by transaction id.
Signed Webhooks
Verify the X-Signature header before trusting any payload.
IP Whitelist
Lock your agent to a fixed set of server IPs from the dashboard.
Getting started
1. Get your credentials
After sign-in, open Reseller → API to grab your AGENT_CODE and AGENT_SECRET. Keep the secret server-side only.
2. Base URL
https://nonstopapi.top/api/public/v13. Required headers
- X-Agent-Code — your public agent id
- X-Timestamp — unix seconds; must be within ±60s
- X-Signature — hex HMAC-SHA256 of timestamp + path + rawBody
4. Rate limits & errors
300 req/min per agent by default. Errors return HTTP 4xx/5xx with { error, code, message }. Retry 429 and 5xx with exponential backoff.
Endpoints
Every call uses the same signing scheme shown below.
/agent/player/createCreate Player
Provision a new player under your agent. Returns the player_id you'll use for launches and wallet callbacks.
{
"username": "player001",
"currency": "USD",
"nickname": "Lucky"
}{
"status": "ok",
"player_id": "usr_9f2c1a",
"balance": 0
}# 1. Compute the signature
TS=$(date +%s)
BODY='{"player_id":"usr_9f2c1a"}'
SIG=$(printf "%s" "${TS}/agent/player/create${BODY}" | openssl dgst -sha256 -hmac "${AGENT_SECRET}" | awk '{print $2}')
# 2. Send the request
curl -X POST https://nonstopapi.top/api/public/v1/agent/player/create \
-H "Content-Type: application/json" \
-H "X-Agent-Code: ${AGENT_CODE}" \
-H "X-Timestamp: ${TS}" \
-H "X-Signature: ${SIG}" \
-d "${BODY}"/agent/gamesList Games
Get the full catalog. Filter by provider, category, or search term.
{
"status": "ok",
"count": 3421,
"games": [
{ "id": "pp_sweetbonanza", "name": "Sweet Bonanza", "provider": "Pragmatic Play", "category": "slots" },
{ "id": "pg_mahjongways2", "name": "Mahjong Ways 2", "provider": "PG Soft", "category": "slots" }
]
}# 1. Compute the signature
TS=$(date +%s)
BODY='{"player_id":"usr_9f2c1a"}'
SIG=$(printf "%s" "${TS}/agent/games${BODY}" | openssl dgst -sha256 -hmac "${AGENT_SECRET}" | awk '{print $2}')
# 2. Send the request
curl -X POST https://nonstopapi.top/api/public/v1/agent/games \
-H "Content-Type: application/json" \
-H "X-Agent-Code: ${AGENT_CODE}" \
-H "X-Timestamp: ${TS}" \
-H "X-Signature: ${SIG}" \
-d "${BODY}"/agent/game/launchLaunch Game
Generate a one-time launch URL for a player. Embed the returned url in an iframe or open in a new tab.
{
"player_id": "usr_9f2c1a",
"game_id": "pp_sweetbonanza",
"language": "en",
"return_url": "https://your-site.com/lobby"
}{
"status": "ok",
"url": "https://launch.nonstopapi.top/s/eyJhbGciOi..."
}# 1. Compute the signature
TS=$(date +%s)
BODY='{"player_id":"usr_9f2c1a"}'
SIG=$(printf "%s" "${TS}/agent/game/launch${BODY}" | openssl dgst -sha256 -hmac "${AGENT_SECRET}" | awk '{print $2}')
# 2. Send the request
curl -X POST https://nonstopapi.top/api/public/v1/agent/game/launch \
-H "Content-Type: application/json" \
-H "X-Agent-Code: ${AGENT_CODE}" \
-H "X-Timestamp: ${TS}" \
-H "X-Signature: ${SIG}" \
-d "${BODY}"/agent/wallet/balanceGet Balance
Read a player's current wallet balance.
{ "player_id": "usr_9f2c1a" }{ "status": "ok", "balance": 152.40, "currency": "USD" }# 1. Compute the signature
TS=$(date +%s)
BODY='{"player_id":"usr_9f2c1a"}'
SIG=$(printf "%s" "${TS}/agent/wallet/balance${BODY}" | openssl dgst -sha256 -hmac "${AGENT_SECRET}" | awk '{print $2}')
# 2. Send the request
curl -X POST https://nonstopapi.top/api/public/v1/agent/wallet/balance \
-H "Content-Type: application/json" \
-H "X-Agent-Code: ${AGENT_CODE}" \
-H "X-Timestamp: ${TS}" \
-H "X-Signature: ${SIG}" \
-d "${BODY}"/agent/wallet/depositDeposit / Withdraw
Credit or debit a player wallet. Use negative amount to withdraw. Idempotent on tx_id.
{
"player_id": "usr_9f2c1a",
"amount": 100.00,
"tx_id": "dep_20260117_0001"
}{ "status": "ok", "balance": 252.40, "tx_id": "dep_20260117_0001" }# 1. Compute the signature
TS=$(date +%s)
BODY='{"player_id":"usr_9f2c1a"}'
SIG=$(printf "%s" "${TS}/agent/wallet/deposit${BODY}" | openssl dgst -sha256 -hmac "${AGENT_SECRET}" | awk '{print $2}')
# 2. Send the request
curl -X POST https://nonstopapi.top/api/public/v1/agent/wallet/deposit \
-H "Content-Type: application/json" \
-H "X-Agent-Code: ${AGENT_CODE}" \
-H "X-Timestamp: ${TS}" \
-H "X-Signature: ${SIG}" \
-d "${BODY}"/agent/transactionsTransaction History
Paginated bet / win / rollback log for reconciliation. Supports ?from, ?to, ?player_id, ?cursor.
{
"status": "ok",
"next_cursor": "eyJvZmZzZXQiOjUwfQ",
"items": [
{ "tx_id": "bet_...", "type": "bet", "amount": 1.00, "game_id": "pp_sweetbonanza", "at": "2026-01-17T10:22:31Z" },
{ "tx_id": "win_...", "type": "win", "amount": 4.50, "game_id": "pp_sweetbonanza", "at": "2026-01-17T10:22:32Z" }
]
}# 1. Compute the signature
TS=$(date +%s)
BODY='{"player_id":"usr_9f2c1a"}'
SIG=$(printf "%s" "${TS}/agent/transactions${BODY}" | openssl dgst -sha256 -hmac "${AGENT_SECRET}" | awk '{print $2}')
# 2. Send the request
curl -X POST https://nonstopapi.top/api/public/v1/agent/transactions \
-H "Content-Type: application/json" \
-H "X-Agent-Code: ${AGENT_CODE}" \
-H "X-Timestamp: ${TS}" \
-H "X-Signature: ${SIG}" \
-d "${BODY}"Seamless wallet — your callback
You expose POST /wallet on your server. We call it for every bet, win, and rollback. Verify the X-Signature header and respond within 3 seconds.
{
"type": "bet", // bet | win | rollback
"tx_id": "bet_20260117_9911",
"round_id": "r_8f21",
"player_id": "usr_9f2c1a",
"game_id": "pp_sweetbonanza",
"amount": 1.00,
"currency": "USD",
"at": "2026-01-17T10:22:31Z"
}{
"status": "ok",
"balance": 151.40,
"tx_id": "bet_20260117_9911"
}