C

Crypto cashier widget for casinos and games

A ready-made deposit and withdrawal window for casinos, games and marketplaces: permanent player addresses, live confirmations, approved withdrawals.

Requires: A Stablora account, an API key on your server and a webhook endpoint — nothing to install

0.5% per payment

No monthly, setup or minimum fee.

16 coins, 13 networks

USDT, USDC, BTC, ETH, SOL, TRX and more.

Player wallets

Each player keeps one permanent address per network; withdrawals wait for your server.

Verified before paid

Signed webhook plus a server-side status check.

How to set up Cashier widget

  1. 1In your dashboard open Cashier: add the sites allowed to embed it (e.g. https://casino.example), choose the coins and whether players can request withdrawals, then Open a test cashier to try it.
  2. 2When a player clicks Deposit or Withdraw, your server calls POST /api/v1/cashier/sessions with your API key and { "externalId": "<your player id>" }. The response contains a url that works for 30 minutes (5–120 with expiresInMinutes). Never create sessions in the browser.
  3. 3On your page load cashier.js and call Stablora.openCashier(url) (modal), Stablora.mountCashier("#cashier", url) (inside your page) or Stablora.popupCashier(url).
  4. 4Deposits go to the player's permanent address on each network. Credit the player in your system on the signed deposit.confirmed webhook (customer_id tells you who) — never on events from the browser.
  5. 5A withdrawal in the widget only creates a request and sends you cashier.withdrawal_requested. Debit the player, then POST /api/v1/cashier/withdrawals/{id}/confirm (it becomes a normal payout with your limits, holds and approval rules) or /reject with a reason the player sees.

Settings

Open a sessionPOST https://stablora.xyz/api/v1/cashier/sessions · { "externalId": "player-42", "name": "Alex", "withdrawals": true, "theme": "dark" } → { url, customerId, expiresAt }
Embed<script src="https://stablora.xyz/cashier.js"></script> then Stablora.openCashier(url, { onClose })
Webhooksdeposit.confirmed, cashier.withdrawal_requested, cashier.withdrawal_cancelled, cashier.withdrawal_expired, payout.completed
Answer a requestPOST https://stablora.xyz/api/v1/cashier/withdrawals/{id}/confirm (API key with the payouts permission) or …/reject with { "reason": "…" }
Key modeA qk_test_… key opens a test cashier (testnets), a qk_live_… key a live one

Nothing in the widget can move money on its own: withdrawals wait for your server, and pending requests expire after 24 hours (cashier.withdrawal_expired). A player can have at most 3 waiting requests.

The session link carries its token after #, so it never reaches server logs; only a hash is stored. With allowed sites set, the cashier refuses to run inside any other site.

Destination addresses are screened against sanctions lists before you are even asked. Deposits and payouts use the normal fees: 0.5% per deposit, network fee plus withdrawal commission per payout.

Try it first with a test key and free testnet coins — see the testing guide.

Coins your customers can pay with

USDTUSDCBTCETHSOLTRXBNBPOLAVAXLTCDOGEXMRSHIBPEPEBONKWIF

Balances stay separate per network and asset. Optional automatic conversion to USDT or USDC on EVM networks (+0.25%). Pricing and network fees.

Questions about Cashier widget and Stablora

Is the Cashier widget feature free?

Yes. It is part of every Stablora account — nothing to install and no monthly fee.

Which coins can customers pay with?

USDT on TRON, Ethereum, BNB Chain, Polygon, Arbitrum, Optimism, Avalanche and Solana; USDC on the same EVM networks, Base and Solana; plus BTC, ETH, SOL, TRX, BNB, POL, AVAX, LTC, DOGE, XMR and the meme coins SHIB, PEPE, BONK and WIF. They choose the coin and network on the Stablora payment page; the amount is locked when they choose it.

When is a player credited?

When the deposit has the required network confirmations, Stablora sends the signed deposit.confirmed webhook with the player’s customer id. Credit the player only after verifying it; the cashier window never decides that money moved.

Can I test it before taking real payments?

Yes. A test API key (qk_test_…) works on public testnets with free faucet coins, so you can run the whole flow before switching to a live key. See the testing guide.

Where does the money go?

Into your Stablora balance, per network and asset. You withdraw to your own wallet from the dashboard, manually or automatically, and can have coins converted to USDT or USDC on supported networks.

Related integrations

All 36 integrations