Cashier & Payments

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

ProviderTypeKey Config Fields
PayPalDigital walletClient ID, Client Secret, Webhook ID, Test Mode
SkrillDigital walletMerchant Email, Secret Word, API Password, Merchant ID, Test Mode
NetellerDigital walletClient ID, Client Secret, Webhook Secret Key, Test Mode
MuchBetterDigital walletAPI Key, Merchant ID, Shop ID, Test Mode
ecoPayzDigital walletMerchant Account Number, Request Security Token, Response Security Token, Test Mode
StripeCard processingSecret Key, Publishable Key, Webhook Secret
CoinPaymentsCryptocurrencyPublic Key, Private Key, IPN Secret, Merchant ID
BTCPay ServerSelf-hosted cryptocurrencyServer URL, API Key, Store ID, Webhook Secret, Speed Policy, Default Currency
Bank TransferManual bankBank Name, Account Number, Routing Number, Account Name, SWIFT Code
ManualOperator-managedNo config required

Payment plugins can add more provider types to this list. See Plugins.

Adding a Payment Provider

  1. Click Add Provider.
  2. Enter a Provider Name. New providers start with deposits and withdrawals off.
  3. Select the Provider Type from the list above.
  4. Fill in the provider-specific fields under API Configuration.
  5. Click Create Provider.
  6. Turn on the Deposits and/or Withdrawals toggle on the provider card.
  7. 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:

LimitDescription
Min AmountSmallest amount accepted per transaction
Max AmountLargest amount accepted per transaction
DailyMaximum total per day
WeeklyMaximum total per week
MonthlyMaximum 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:

FieldDescription
Slug and NameIdentifiers for the provider. The slug uses lowercase letters, numbers, and hyphens
Adaptersoftswiss, pragmatic, or evoplay. The mock adapter is restricted to explicit development/test environments
CurrencyGold or Diamond
Rollback Window SecondsDefaults to 86400
Rate Limit Per MinuteDefaults to 600
Request Timeout MsDefaults to 8000
IP AllowlistOptional comma-separated list
ActiveWhether the provider accepts callbacks
Allow credit without debitOff by default
Config JSONAdapter 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

FilterOptions
StatusAll Statuses, Pending, Completed, Failed, Cancelled
Payment MethodAll Methods, Card, Crypto, Bank Transfer
Date RangeAll Time, Today, Yesterday, Last 7 Days, Last 30 Days, Custom Range
Min Amount / Max AmountAmount range
User SearchUsername, email, or ID
Transaction IDTransaction 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

FilterOptions
StatusAll Statuses, Pending, Completed, Failed, Canceled
Payment MethodAll Methods, Card, Crypto, Bank Transfer
Min Amount / Max AmountAmount 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

  1. Open the pending request and click Approve.
  2. Optionally enter an External Reference ID (for example, your payment processor’s transaction ID) and a Note.
  3. 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

CategoryTypes
Deposits & WithdrawalsDEPOSIT, WITHDRAWAL
TransfersTRANSFER_IN, TRANSFER_OUT
Cash gamesGAME_BUYIN, GAME_WIN, GAME_LOSS
Virtual chip gamesVIRTUAL_GAME_BUYIN, VIRTUAL_GAME_WIN, VIRTUAL_GAME_LOSS
TournamentsTOURNAMENT_BUYIN, TOURNAMENT_REBUY, TOURNAMENT_PRIZE
Bonuses & rewardsBONUS, 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

  1. Search for the player and select them to load their current balance.
  2. Choose Add Funds or Remove Funds.
  3. Choose the Currency:
    • Real Money (USD)
    • Virtual Chips
    • Tournament Tickets (whole numbers only)
  4. Enter the amount.
  5. Select a Reason:
    • Refund
    • Promotion
    • Correction
    • Compensation
    • Fraud Recovery
    • Other
  6. Add Additional Notes. Notes are required when the reason is Other.
  7. 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:

PeriodDescription
TodayCurrent day vs. yesterday
This WeekCurrent week vs. last week
This MonthCurrent month vs. last month
This YearCurrent year vs. last year
CustomEnter 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

ActionRequired Permission
View payment systemspayment:view
Add/edit/delete payment systemspayment:edit
View depositsfinance:view
Approve/reject depositswithdrawal:approve
View withdrawalsfinance:withdrawals
Approve/reject withdrawalswithdrawal:approve
View transactionstransactions:view
Perform balance adjustmentsusers:edit and finance:transactions
View rake analyticsfinance:view
View financial analyticsfinance:view
View Wallet Aggregatorfinance:view
Change Wallet Aggregator configurationSuper administrator
Try the live demo Pricing

Have questions about Poker Engine? We reply fast.