Funds and vault
Your funds sit in a vault smart contract that you own. We can only pay your players out of it, within limits you set on-chain.
How money moves
- A player pays into their deposit address.
- Once final, the deposit is credited to your balance (
deposit.confirmed). - Deposits are swept into your vault, with our fee taken in the same transaction.
- Payouts are paid from your vault to the player's wallet.
Your vault
- You are the vault's owner. Our key is only an operator, and it can only call
payout. - You set a per-transaction and daily payout limit on the vault. Even if our systems were compromised, nothing above your limits could leave it.
- Each payout id is paid at most once, enforced by the contract.
- You can withdraw from the vault at any time, even while it is paused. Your balance updates automatically (
vault.withdrawal). - You can also top up the vault directly. The amount is credited without a fee (
vault.topup).
Keep enough funds in the vault for payouts. If it runs short, for example while deposits are still being swept, payouts wait in
queued and are sent as soon as funds arrive.Confirmation times
Deposits are credited once they can no longer be reversed:
| Network | Typical time to credit |
|---|---|
| TRON | About 1 minute |
| BSC, Polygon | Seconds |
| Ethereum | About 2.5 minutes for small deposits, about 13 minutes for large ones |
| Arbitrum, Base | Seconds for small deposits, 15–20 minutes for large ones |
On networks with slow finality, small deposits are credited early. The webhook then says finality: "fast"; larger ones wait for full finality ("finalized"). The threshold is agreed per account.
Fees
- The fee is the higher of the percentage fee and the network minimum fee (see fees by network). Use Quote to show the exact numbers.
- Deposits: you are credited
net = amount − fee. - Payouts: with
on_top(default) the player receives the full amount and your balance is chargedamount + fee. Withdeducted, the player receivesamount − fee. - Deposits below the minimum are not credited (
deposit.below_min). Contact us to resolve them.
Safety checks on our side
- Every deposit is verified independently before it is credited.
- Your balance is continuously reconciled with the blockchain. If it ever disagrees, payouts are paused and we contact you.
- Our signing keys are held in hardware and never leave it.