The Cashier section handles all financial operations on your poker site: payment provider configuration, deposit processing, withdrawal approvals, transaction history, rake analytics, financial reports, and manual balance adjustments.
Navigate to Finance in the admin sidebar to access these tools.
Payment Systems (Provider Setup)
Navigate to Settings > Cashier to configure payment providers.
Payment Systems are the gateways through which players deposit and withdraw money. Each provider is configured independently and can be enabled for deposits, withdrawals, or both.
Supported Payment Providers
| Provider | Type | Key Config Fields |
|---|---|---|
| PayPal | Digital wallet | Client ID, Client Secret, Webhook ID, Test Mode |
| Skrill | Digital wallet | Merchant Email, Secret Word, API Password, Merchant ID, Test Mode |
| Neteller | Digital wallet | Client ID, Client Secret, Webhook Secret Key, Test Mode |
| MuchBetter | Digital wallet | API Key, Merchant ID, Shop ID, Test Mode |
| ecoPayz | Digital wallet | Merchant Account Number, Request Security Token, Response Security Token, Test Mode |
| Stripe | Card processing | Secret Key, Publishable Key, Webhook Secret |
| CoinPayments | Cryptocurrency | Public Key, Private Key, IPN Secret, Merchant ID |
| BTCPay Server | Self-hosted cryptocurrency | Server URL, API Key, Store ID, Webhook Secret, Speed Policy, Default Currency |
| Bank Transfer | Manual bank | Bank Name, Account Number, Routing Number, Account Name, SWIFT Code |
| Manual | Operator-managed | No config required |
Payment plugins can add more provider types to this list. See Plugins.
Adding a Payment Provider
- Click Add Provider.
- Enter a Provider Name. New providers start with deposits and withdrawals off.
- Select the Provider Type from the list above.
- Fill in the provider-specific fields under API Configuration.
- Click Create Provider.
- Turn on the Deposits and/or Withdrawals toggle on the provider card.
- Expand Limits Configuration to set transaction limits (see below).
A provider card shows the warning No webhook signing secret configured when an automated provider has no signing secret saved. Manual and Bank Transfer providers do not need one.
Transaction Limits
Expand Limits Configuration on a provider card and click Save Limits when done. Deposit Limits and Withdrawal Limits each have these fields:
| Limit | Description |
|---|---|
| Min Amount | Smallest amount accepted per transaction |
| Max Amount | Largest amount accepted per transaction |
| Daily | Maximum total per day |
| Weekly | Maximum total per week |
| Monthly | Maximum total per month |
Leave any limit field empty to impose no restriction on that time window.
Test Mode
PayPal, Skrill, Neteller, MuchBetter, and ecoPayz each support a Test Mode flag. When enabled, transactions route through the provider’s sandbox environment rather than live payments. Disable test mode before going live.
Testing a Provider Connection
After saving credentials, click Test on a provider card to verify that the API keys are valid and that the provider can be reached. A success or failure message is returned.
BTCPay Server
BTCPay Server uses the Greenfield API and requires an API key with store, invoice, pull payment, payout, and webhook permissions for the configured store. The Server URL should be the root BTCPay instance URL, for example https://btcpay.example.com; trailing slashes are normalized automatically.
When the payment system is created or updated, Poker Engine attempts to register the webhook URL automatically:
{siteBaseUrl}/api/v1/webhooks/payment/{paymentSystemId}
The webhook secret is sent to BTCPay and incoming webhooks must include BTCPAY-SIG: sha256=<hmac>. If auto-registration cannot complete, create the webhook manually in BTCPay for InvoiceSettled, InvoiceProcessing, InvoiceExpired, InvoiceInvalid, and InvoicePaymentSettled.
Bank Transfer References
Each bank transfer gets a unique reference number in the format DEP-<32 hex characters>-YYYYMMDD for deposits, or WDR-<32 hex characters>-YYYYMMDD for withdrawals. Deposit instructions tell the player to include the reference in the transfer description and that it expires after 7 days. The reference appears as the External ID on the deposit, so use it to match an incoming bank payment before approving.
Editing and Deleting Providers
Click the edit icon to update any provider configuration. Click the delete icon to remove a provider. Deleting a provider does not affect historical transaction records.
Dual Currency Economy
The Gold/Diamond economy has no page in the admin sidebar. Its controls are available through the admin API under /api/v1/admin/economy, with settings:view to read and settings:edit to change settings, rates, and packages.
Gold is the redeemable cash-game currency. Diamond is the promotional or play-credit currency used for configured packages, grants, and non-redeemable flows.
Wallet Aggregator
Navigate to Finance > Wallet Aggregator to connect seamless-wallet providers for third-party casino aggregators. Viewing requires finance:view. Any change, including creating a session token or resolving a discrepancy, requires a super administrator.
The page header shows Providers, Active, Open Discrepancies, and Callbacks 1h. Four tabs sit below it.
Providers Tab
Use New Provider to create a provider, or Edit on an existing one:
| Field | Description |
|---|---|
| Slug and Name | Identifiers for the provider. The slug uses lowercase letters, numbers, and hyphens |
| Adapter | softswiss, pragmatic, or evoplay. The mock adapter is restricted to explicit development/test environments |
| Currency | Gold or Diamond |
| Rollback Window Seconds | Defaults to 86400 |
| Rate Limit Per Minute | Defaults to 600 |
| Request Timeout Ms | Defaults to 8000 |
| IP Allowlist | Optional comma-separated list |
| Active | Whether the provider accepts callbacks |
| Allow credit without debit | Off by default |
| Config JSON | Adapter config, stored encrypted. Signing secrets must contain at least 32 bytes; placeholder secrets are rejected |
The provider table has Edit, Enable/Disable, and Test actions, so you can activate or disable a provider without a deploy.
Session Token creates a one-hour wallet session token that maps provider callbacks to an existing user. Choose the provider, enter the User ID, and click Create.
Rounds, Transactions, and Discrepancies Tabs
- Rounds lists game rounds with status, total debit, and total credit.
- Transactions lists wallet operations with amount, balance before and after, and the linked core transaction.
- Discrepancies lists reconciliation issues. Click Resolve or Write off on an open discrepancy after manual review.
All successful debit, credit, and rollback operations write through the same wallet and ledger services used by cashier flows. The provider callback contract is documented in Wallet Aggregator API.
Deposits
Navigate to Finance > Deposits.
The Deposits page shows all deposit transactions. Summary cards at the top display deposit volume and count for Today, This Week, and This Month.
Filtering Deposits
| Filter | Options |
|---|---|
| Status | All Statuses, Pending, Completed, Failed, Cancelled |
| Payment Method | All Methods, Card, Crypto, Bank Transfer |
| Date Range | All Time, Today, Yesterday, Last 7 Days, Last 30 Days, Custom Range |
| Min Amount / Max Amount | Amount range |
| User Search | Username, email, or ID |
| Transaction ID | Transaction or external ID |
Deposit List
Each deposit row shows:
- Player username (linked to their profile)
- Transaction ID (click to copy)
- Amount
- Payment method
- Status badge
- Date and time
Click any row to open Deposit Details, which includes:
- User Information
- Reference IDs: transaction ID and external ID from the payment provider
- Amount Details: deposit amount, fee, and balance before and after
- Payment Information and Timestamps
- Payment Provider Events with their payloads
Approving Pending Deposits
For providers that need manual confirmation, such as Manual or Bank Transfer, open the pending deposit, click Approve, and confirm. The player’s balance is credited unless an AML review holds the funds, in which case the deposit stays Pending.
Rejecting a Deposit
Open a pending deposit, click Reject, and enter the required Rejection Reason. The funds are not credited.
Exporting Deposits
Click Export CSV to download the current filtered view.
Withdrawals
Navigate to Finance > Withdrawals.
The Withdrawal Requests page is where you review and process player withdrawal requests.
Filtering Withdrawals
| Filter | Options |
|---|---|
| Status | All Statuses, Pending, Completed, Failed, Canceled |
| Payment Method | All Methods, Card, Crypto, Bank Transfer |
| Min Amount / Max Amount | Amount range |
Withdrawal Request List
Each row shows the player, request ID, amount, payment method, status, and request date.
Click a row to open the details, which include the amount, fee, and net, User Information with verification status and a Transaction History link, the player’s Current Balance, the Withdrawal Destination, and Reference IDs.
Approving a Withdrawal
- Open the pending request and click Approve.
- Optionally enter an External Reference ID (for example, your payment processor’s transaction ID) and a Note.
- Confirm.
Rejecting a Withdrawal
Click Reject, enter the required Rejection Reason, and confirm.
Transactions
Navigate to Finance > All Transactions.
The All Transactions page provides a unified view of financial events across the platform.
Transaction Types
| Category | Types |
|---|---|
| Deposits & Withdrawals | DEPOSIT, WITHDRAWAL |
| Transfers | TRANSFER_IN, TRANSFER_OUT |
| Cash games | GAME_BUYIN, GAME_WIN, GAME_LOSS |
| Virtual chip games | VIRTUAL_GAME_BUYIN, VIRTUAL_GAME_WIN, VIRTUAL_GAME_LOSS |
| Tournaments | TOURNAMENT_BUYIN, TOURNAMENT_REBUY, TOURNAMENT_PRIZE |
| Bonuses & rewards | BONUS, COUPON, AFFILIATE_REWARD, AGENT_REWARD |
Filters
- Transaction Type
- Date Range: presets or a custom range
- Min Amount and Max Amount
- User Search: username, email, or user ID
Summary Statistics
Above the list, four cards display:
- Total Balance
- Today’s Deposits
- Today’s Withdrawals
- Pending Withdrawals: count and value
Transaction Volume charts deposits against withdrawals over time, and Transaction Distribution shows the volume breakdown by type.
Transaction Detail
Click any transaction to view its Transaction Details, including user information, amounts, timestamps, external ID, and related transactions.
Exporting Transactions
Click Export CSV to download the current filtered view.
Balance Adjustments
Navigate to Finance > Balance Adjustment.
Use this page to manually credit or debit a player’s balance outside of normal deposit/withdrawal workflows.
Performing an Adjustment
- Search for the player and select them to load their current balance.
- Choose Add Funds or Remove Funds.
- Choose the Currency:
- Real Money (USD)
- Virtual Chips
- Tournament Tickets (whole numbers only)
- Enter the amount.
- Select a Reason:
- Refund
- Promotion
- Correction
- Compensation
- Fraud Recovery
- Other
- Add Additional Notes. Notes are required when the reason is Other.
- Submit, then enter your admin password to confirm.
Adjustments above 500 show an extra warning. You cannot adjust your own balance. All adjustments are logged with the admin who performed them.
Adjustment History
Below the adjustment form, the full history of manual balance adjustments is shown with:
- Player name
- Currency type and amount
- Direction (Add/Remove)
- Reason
- Admin who made the adjustment
- Date and time
Use the pagination controls to browse older records.
Rake Analytics
Navigate to Finance > Rake Analytics.
Rake Analytics shows how much revenue your poker tables have generated through the house rake.
Rake Summary
Cards cover the last 24 hours: Total Rake (24h), Hands Played (24h), Avg Rake per Hand, and Pot Volume (24h).
Daily Rake Trend
A chart plots rake collected and pot volume over the selected period (Today, 7 Days, 30 Days, or 90 Days).
Hourly Rake Distribution
A chart shows rake collected by hour of day over the last 24 hours, helping you understand peak activity windows.
Top Tables by Rake
Lists the highest rake-generating tables over the last 24 hours, with hands, rake, average pot, and average players.
Top Rake Contributors
Ranks the players generating the most rake, anonymized.
Rake by Manager
Shows the total rake from each manager’s group of players.
Exporting Rake Data
Click Export CSV to download the current view.
Financial Analytics
Navigate to Finance > Financial Analytics.
Financial Analytics provides a comprehensive financial overview with period-over-period comparison, helping you track revenue trends.
Period Selection
Choose a preset period for comparison:
| Period | Description |
|---|---|
| Today | Current day vs. yesterday |
| This Week | Current week vs. last week |
| This Month | Current month vs. last month |
| This Year | Current year vs. last year |
| Custom | Enter a specific date range |
Summary Metrics
Cards display key metrics for the selected period, each with the change versus the previous period: Total Deposits, Total Withdrawals, Net Flow, and Pending Withdrawals, along with Platform Balance and Game Activity (Last 24h).
Daily Revenue
A chart shows deposits, withdrawals, and net revenue over the last 7, 30, or 90 days. Net revenue is deposits minus withdrawals.
Volume by Payment Method
Breaks down deposit and withdrawal volume by payment method.
Top Users
Lists the highest-volume depositors and withdrawers, anonymized.
Provider Statistics
Deposit Success Rate by Provider compares payment method performance.
Exporting Financial Data
Click Export CSV to download the summary data.
Cash Table Funds
When a player buys in to a cash table, the buy-in moves from their wallet into a table escrow record that tracks their committed stack. Each settled hand updates that stack, and leaving the table returns it to the wallet.
If the server restarts, players who are no longer seated are refunded their last committed stack. A hand interrupted by the restart is void, so its bets never settle. These refunds appear with the description Crash recovery: refund last committed table stack.
Permissions Reference
| Action | Required Permission |
|---|---|
| View payment systems | payment:view |
| Add/edit/delete payment systems | payment:edit |
| View deposits | finance:view |
| Approve/reject deposits | withdrawal:approve |
| View withdrawals | finance:withdrawals |
| Approve/reject withdrawals | withdrawal:approve |
| View transactions | transactions:view |
| Perform balance adjustments | users:edit and finance:transactions |
| View rake analytics | finance:view |
| View financial analytics | finance:view |
| View Wallet Aggregator | finance:view |
| Change Wallet Aggregator configuration | Super administrator |