Casinos · games · marketplaces

Crypto deposits and withdrawals for your players

A ready-made cashier, permanent player wallets and payouts you approve — 16 coins on 13 networks, 0.5% per deposit.

  • Embed the cashier with one script — no wallet code to write
  • Credit players on signed webhooks, never on browser events
  • Every withdrawal waits for your server to confirm it
The Stablora cashier widget: coin and network picker, QR code and the player's permanent deposit address
The cashier in test mode — your brand color and name, the player's own address.
What you get

Built for platforms that hold player balances

Cashier widget

Deposit, withdraw and history in one window: a modal, a frame inside your page or a popup. One API call on your server opens it for a player.

Permanent player wallets

One address per player and network that never changes. Every transfer is credited to that player after the network confirmations and announced by a signed webhook.

Withdrawals you approve

A withdrawal in the cashier is only a request. Your server debits the player and confirms it; only then does it become a payout.

Player limits and holds

Daily amount and count limits per player and a hold on the first withdrawal to a new address: tripped rules wait for manual approval.

Address screening

Senders and payout addresses are checked against the OFAC sanctions list and the platform block list. Matching deposits are frozen, matching withdrawals refused.

Hold stablecoins

Let players pay in BTC, ETH, SOL or meme coins and convert automatically to USDT or USDC for 0.25% on top of the venue cost.

Reorg safety

If a block is reorganized after a deposit was credited, the credit is reversed and you get deposit.reversed at once.

Scoped keys and 2FA

Separate test and live keys, read / payments / payouts permissions, IP allowlists, team roles and two-factor sign-in.

How it works

Three pieces of code

1Open a session on your server

server.js
// Your server, when the player opens the cashier
const API = 'https://stablora.xyz/api/v1';
const res = await fetch(`${API}/cashier/sessions`, {
  method: 'POST',
  headers: { Authorization: `Bearer ${STABLORA_KEY}`,
             'Content-Type': 'application/json' },
  body: JSON.stringify({ externalId: player.id }),
});
const { url } = await res.json();

2Show the cashier on your page

cashier.html
<script src="https://stablora.xyz/cashier.js"></script>
<script>
  Stablora.openCashier(url, { onClose: refreshBalance });
</script>

3Answer deposits and withdrawals

webhook.js
if (event.type === 'deposit.confirmed') credit(event.data);

if (event.type === 'cashier.withdrawal_requested') {
  const w = event.data;
  if (debit(w.externalId, w.asset, w.amount))
    await stablora.post(`/cashier/withdrawals/${w.id}/confirm`);
  else
    await stablora.post(`/cashier/withdrawals/${w.id}/reject`,
      { reason: 'Insufficient balance' });
}

Webhooks are signed with HMAC-SHA256 and retried with backoff. API reference

Fees

Deposits0.5% per credited deposit
WithdrawalsNetwork fee + 0.5% commission, paid from the amount sent
Conversion+0.25% on top of the venue cost, only if you turn it on
Cashier widgetIncluded, no monthly or setup fee
Full pricing and network fees

Start small

Stablora is a custodial gateway: deposits arrive on addresses the platform controls and your balance is recorded in our ledger until you withdraw it. Build with a test key first, then route a small real deposit and a small withdrawal before real volume, and withdraw what you do not need — automatic withdrawals can do it for you.

FAQ

Questions operators ask

Can the cashier pay out on its own?

No. A withdrawal in the widget creates a request and sends you cashier.withdrawal_requested. Money only moves after your server confirms it, and then your payout approval rules and player limits still apply. Unanswered requests expire after 24 hours.

How do I know which player paid?

Each player has a permanent address per network. Deposits arrive as deposit.confirmed with the customer id you created from your own player id, after the network confirmations.

Which balance pays the withdrawals?

Your Stablora balance on the same network and asset. With the pooled balance model all deposits fund one pool you pay players from; you can also top it up from your own wallet without a processing fee.

Can I try it without real money?

Yes. A test API key opens a test cashier on test networks. Open a test cashier from Dashboard → Cashier, simulate deposits and answer the withdrawal requests before you switch to a live key.

Do you check my business?

No documents are required to open an account today. We may ask about your business or a transaction at any time and hold payouts until we hear back — see the AML policy.

Try the cashier with a test key

Create a free workspace, open a test cashier from the dashboard and walk through a deposit and a withdrawal.

Create a free workspace