Live table · round every ~45 s

The peryahan ball drop, live in your casino.

JJgamesph builds live carnival games for online casinos. Our tables run on our servers, results are provably fair, and your wallet stays yours: every bet and win goes through your casino in real time.

Read the integration guide
92.1%RTP
₱10–₱5,000per card, per round
3 ballsroll together, every round
Drop Ball table: a hexagon of six playing-card wedges with three balls resting on their cards LIVE
Games

Drop Ball 6 Cards

A faithful take on the fairground table Filipinos grew up with, rebuilt for phones and live betting.

Drop Ball

Six cards under glass. Three balls tumble out of the funnel, bounce off each other and the walls, and come to rest on the cards. Bet on the cards you think they will land on.

Provably fair Mobile first Shared live table PHP · whole pesos
Return to player
92.1%
Round length
~45 s
Min bet
₱10 per card
Max bet
₱5,000 per card · ₱20,000 per round
Balls on your cardPays₱100 bet returns
1 ball1 : 1₱200
2 balls2 : 1₱300
3 balls3 : 1₱400
Integration

Three calls between your casino and our table

Seamless wallet: players never transfer money to us. Your casino debits and credits them as each bet and result happens.

Get your credentials

We create your operator account and give you an operator code and a signing secret. You give us your wallet callback URL.

operator_code · secret · callback_url

Launch a player

When a player opens Drop Ball, your server calls our launch API with the player and their balance. Show the URL we return in an iframe.

POST /api/v1/launch

Answer wallet callbacks

We sign and send each bet, win, loss and refund to your callback URL. Debit or credit the player and reply with the new balance.

bet.placed · round.win · round.lose · round.refund
Fairness

Every result can be checked by anyone

Before betting opens we publish a hash of the round's secret seed. After the draw we reveal the seed. The balls follow from it.

  • Committed before betsThe seed hash is on screen while players bet, so the result cannot change after they choose.
  • Server-authoritativeThe animation only shows the result. Balls are guided onto the server's cards, never the other way round.
  • Durable settlementWins, losses and refunds are queued and retried until your wallet confirms them. Nothing is lost if your server blinks.
  • Idempotent everywhereEvery callback carries an idempotency key, so a retry never pays twice.
// Verify a Drop Ball round (Node.js)
const { createHash, createHmac } = require('crypto');

function ball(seed, roundId, n, cards) {
  for (let i = 0; ; i++) {
    const v = createHmac('sha256', seed)
      .update(`${roundId}:${n}:${i}`)
      .digest().readUInt32BE(0);
    if (v < 4294967292) return cards[v % 6];
  }
}

// seed_hash must equal sha256(server_seed)
createHash('sha256').update(seed).digest('hex');
[1, 2, 3].map((n) => ball(seed, roundId, n, cards));

Bring Drop Ball to your players

Most casinos go live in a day once the wallet callback is in place.

Start integrating