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/v1

3. 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.

POST
/agent/player/create

Create Player

Provision a new player under your agent. Returns the player_id you'll use for launches and wallet callbacks.

Request body
{
  "username": "player001",
  "currency": "USD",
  "nickname": "Lucky"
}
Response 200
{
  "status": "ok",
  "player_id": "usr_9f2c1a",
  "balance": 0
}
/demo-games এর প্রোভাইটার নাম ভার্সেল এ দেখাচ্ছে না
# 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}"
GET
/agent/games

List Games

Get the full catalog. Filter by provider, category, or search term.

Response 200
{
  "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" }
  ]
}
/demo-games এর প্রোভাইটার নাম ভার্সেল এ দেখাচ্ছে না
# 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}"
POST
/agent/game/launch

Launch Game

Generate a one-time launch URL for a player. Embed the returned url in an iframe or open in a new tab.

Request body
{
  "player_id": "usr_9f2c1a",
  "game_id": "pp_sweetbonanza",
  "language": "en",
  "return_url": "https://your-site.com/lobby"
}
Response 200
{
  "status": "ok",
  "url": "https://launch.nonstopapi.top/s/eyJhbGciOi..."
}
/demo-games এর প্রোভাইটার নাম ভার্সেল এ দেখাচ্ছে না
# 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}"
POST
/agent/wallet/balance

Get Balance

Read a player's current wallet balance.

Request body
{ "player_id": "usr_9f2c1a" }
Response 200
{ "status": "ok", "balance": 152.40, "currency": "USD" }
/demo-games এর প্রোভাইটার নাম ভার্সেল এ দেখাচ্ছে না
# 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}"
POST
/agent/wallet/deposit

Deposit / Withdraw

Credit or debit a player wallet. Use negative amount to withdraw. Idempotent on tx_id.

Request body
{
  "player_id": "usr_9f2c1a",
  "amount": 100.00,
  "tx_id": "dep_20260117_0001"
}
Response 200
{ "status": "ok", "balance": 252.40, "tx_id": "dep_20260117_0001" }
/demo-games এর প্রোভাইটার নাম ভার্সেল এ দেখাচ্ছে না
# 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}"
GET
/agent/transactions

Transaction History

Paginated bet / win / rollback log for reconciliation. Supports ?from, ?to, ?player_id, ?cursor.

Response 200
{
  "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" }
  ]
}
/demo-games এর প্রোভাইটার নাম ভার্সেল এ দেখাচ্ছে না
# 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.

Incoming payload
{
  "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"
}
Expected response
{
  "status": "ok",
  "balance": 151.40,
  "tx_id":   "bet_20260117_9911"
}

FAQ