Skip to content

Wallets & Withdrawals

Every customer has two balances on your site: site credit (store credit that can only be spent on entries) and a cash wallet (real money that can be paid out to their bank). This page covers granting and correcting balances, reviewing withdrawal (payout) requests, viewing bank details securely, and monitoring how much cash you owe.

Where to find it: Admin → Withdrawals (/admin/withdrawals) for the payout queue, and Admin → Reports → Wallets (/admin/reports/wallets) for the report. Per-customer balance tools live on the customer's panel in Users.

Understand the two wallets

Site creditCash wallet
What it isPromotional store creditReal money you owe the customer
How it's earnedPrizes won as credit, purchased credit (including any purchase bonus), referral rewards, sign-up bonuses, order refunds, cash-to-credit conversions, your manual adjustmentsCash prizes won, cash alternatives taken on prizes, your manual adjustments
Spendable at checkoutYesNo — must be converted to credit first
Withdrawable to a bankNoYes

Two one-way rules to keep in mind:

  • Cash can become credit, but never the reverse. Customers can convert cash to site credit from their wallet page ("Convert to Credit") — see Cash-to-credit conversion below.
  • Refunds returned to a wallet land as site credit. When you refund an order and part of the refund goes back to the wallet rather than the card, it appears in the customer's credit wallet as a Refund transaction — see Orders & Tickets.

How wallet money behaves at checkout is configurable: the Auto-Apply Wallet Credit toggle in Settings applies available balance automatically, and individual competitions can be flagged Exclude from Wallet Credit so they require full card payment — see Competitions.

View a customer's balances and history

Open the customer's panel from Users (or by clicking their name anywhere it appears, including on the Withdrawals page). The panel has a Credit Wallet section showing the Current Balance and a Cash Wallet section showing the Withdrawable Balance, each with its most recent transactions alongside.

To dig deeper, click View All next to Recent Transactions. The full history panel shows every transaction with a description, date, signed amount and the balance after it, and flags entries made by an admin as "Admin adjustment". Entries that relate to an order — purchases, refunds and prize credits — show an Order # link that opens the order directly. Filter the list by transaction type using the dropdown at the top:

  • Credit wallet types — Purchase, Purchase Bonus, Deduction, Instant Win Prize, Main Prize, Admin Adjustment, Refund.
  • Cash wallet types — Cash Prize, Cash Alternative, Admin Adjustment, Withdrawal.

To trace where a cash prize came from, either use the Recent Transactions list in the Cash Wallet section (entries that came from a competition or an order carry View Competition and View Order links) or open the full history panel — prize entries there link to the winning order too. Useful for payout disputes. See Orders & Tickets for the order side of that trail.

Grant site credit to a customer

Use this for goodwill gestures, compensation for a problem, or correcting a credit balance.

  1. Open the customer's panel from Users and scroll to Credit Wallet.
  2. In the Credit Adjustment form, enter an Amount — positive to add credit, negative to deduct it.
  3. Enter a Reason (required, at least 3 characters), e.g. "Manual credit for customer service issue".
  4. Click Apply.

The balance updates immediately and the entry is recorded as an Admin Adjustment with your reason, visible to the customer in their own wallet history. The amount cannot be zero, and the form is not available for archived customers. Admin credits and debits also roll up into the Wallets report.

Add or deduct cash from a customer's wallet

The Cash Adjustment form sits in the Cash Wallet section of the same customer panel and works identically: positive amount to add cash, negative to deduct, reason required, then Apply.

Use it sparingly — unlike site credit, this is real money the customer can withdraw, so every positive adjustment increases your cash liability. Typical uses: returning money after a payment you made bounced back, or correcting a balance error. The adjustment appears in the customer's history as an Admin Adjustment with your reason.

Review and approve withdrawal requests

When a customer requests a withdrawal from their wallet page, the requested amount is held out of their spendable balance and the request joins the queue at Admin → Withdrawals. The page shows four stat cards (counts of Pending, Approved, Completed and Rejected requests), your Total Liability figure in the header, and the queue itself.

Each new request also emails your contact address, and if you'd rather hear about them the moment they happen, the Withdrawal Requested event can send a push notification to your phone or a message to a private team channel — see Webhooks & Push Notifications.

Filter the queue with the Status dropdown — All Statuses, Pending, Approved, Completed, Rejected or Cancelled. The table columns are:

  • User — name and email; click to open their panel.
  • Amount — the sum requested.
  • Status — see Withdrawal statuses below.
  • Requested — when the request was made, plus a "Processed" timestamp once it has been actioned.
  • Notes — any note the customer added when requesting, your internal processing notes, and rejection reasons (shown in red).
  • Bank Details — the eye icon for viewing details, with a view count; see View a customer's bank details.
  • Actions — the buttons available for the row's current status.

Withdrawal statuses

StatusMeaningYour next action
PendingAwaiting your review; the amount is held from the customer's balanceApprove or Reject
ApprovedYou've approved it and now need to send the money from your bankPay, then Mark Completed
CompletedPaid and closedNone
RejectedYou declined it; the held amount goes back to the customerNone
CancelledThe request was called off before processing; nothing is owedNone

Customers see the current status (and any rejection reason) against each request on their own wallet page.

Approve a withdrawal

  1. Filter the queue to Pending.
  2. Open the customer's panel if you want to check their history first — prize wins, previous withdrawals, and any account flags.
  3. Click the tick icon (Approve) on the row. The modal shows the customer and amount; add optional internal Notes if useful.
  4. Click Approve. The request moves to Approved — as the modal itself reminds you, approving does not send any money.
  5. View the bank details and make the payment from your own bank.
  6. Return to the queue and mark it completed.

Mark a withdrawal as completed

Once you have actually paid the customer, click the badge icon (Mark Completed) on the Approved row, add optional notes, and click Complete. The request moves to Completed and the queue, stats and liability figures refresh. Only mark a withdrawal completed after the money has left your bank — Completed is your record that the payout happened.

Reject a withdrawal

  1. Click the X icon (Reject) on a Pending row.
  2. Enter a Rejection Reason — this is mandatory, and the customer will see it, so write it for their eyes ("Bank details didn't match the account name — please resubmit").
  3. Optionally add internal Notes (these stay in the admin queue).
  4. Click Reject.

The held amount returns to the customer's cash wallet, appearing in their history as a Withdrawal Refund, so they can fix the issue and request again.

View a customer's bank details

If you collect bank details with withdrawal requests (see Configure withdrawal rules), each row with details shows an eye icon in the Bank Details column:

  1. Click the eye icon. A confirmation warns that the view will be logged and attributed to your account — click Continue.
  2. Enter the 6-digit code from your authenticator app when prompted.
  3. The modal shows the Account Holder Name, Sort Code and Account Number, along with the total view count, when the details were first viewed, and how long until they expire.

The count next to the eye icon shows how many times the details have already been viewed — an unexpectedly high count on a row you haven't worked on is worth querying with your team.

Bank details are time-limited. They are automatically deleted after the retention period you set in Settings, so:

  • The eye icon turns amber when the details expire within 12 hours — prioritise those rows.
  • Once details have expired, Pending and Approved rows show a red Expired label and the details cannot be recovered. Reject the request (explaining why in the rejection reason) so the customer gets their money back and can resubmit fresh details.

If your code is rejected: you get a few retries in the same dialog. After that you'll see "Too many invalid attempts. Close and try again." — close the dialog, reopen it and enter a fresh code. If invalid codes keep going in, the server locks you out with "Too many invalid codes. Please try again in 15 minutes." — wait out that lockout, and check your authenticator app's clock is set automatically if codes keep failing.

Monitor your cash liability

The Total Liability figure in the page header is the total real money currently sitting in customer cash wallets. Below the queue, the Top Cash Balances table lists the customers holding the largest balances (click through to their panels) and shows how many customers hold any cash balance at all. For liability over time, use the Wallets report.

Configure withdrawal rules

The Withdrawals section in Settings controls how requests work on your site:

  • Bank Details Collection — whether customers must supply bank details when requesting. When enabled, you set the retention period (in hours) before encrypted details are auto-deleted, and viewing details always requires an authenticator code (this cannot be switched off).
  • Withdrawal Limits — optional minimum and maximum request amounts; the customer's request form enforces them.
  • Processing Message — a custom message shown to customers in the withdrawal request form (e.g. your payout timescale).

You can also require ID verification before a customer may request a withdrawal — see ID Verification.

Prize choices and wallets

When a prize is set up with a cash or credit alternative, the winner chooses what to take, and their choice lands in the matching wallet:

  • Cash alternative taken → credited to the cash wallet as a Cash Alternative transaction (and counted under "Cash alternatives taken" in the Wallets report).
  • Credit alternative taken → credited to the site credit wallet.

The Prizes section of the customer panel shows prizes still Awaiting a choice and labels decided ones with what was taken (e.g. "Took £500.00 cash"). Setting up alternatives and managing winners is covered in Winners.

Cash-to-credit conversion

If enabled in Settings, customers can convert cash wallet balance into site credit from their wallet page — optionally sweetened with a conversion bonus percentage (e.g. convert £50 cash, receive £55 credit at a 10% bonus). Conversions are permanent: credit can never be turned back into cash.

Conversions reduce your real-money liability while keeping the value on your platform, so a healthy conversion rate is generally good news. In the Wallets report, conversions appear as "Converted to site credit" in cash out and "From cash conversion (incl. bonus)" in credit in.

Run the Wallets report

Where: Admin → Reports → Wallets (/admin/reports/wallets). It requires the financial analytics permission — admins without it are sent back to the Reports hub.

  1. The report loads automatically for This Month when you open it.
  2. To change the window, pick a preset — Yesterday, Last 7 Days, Last 30 Days, This Month, Last Month or All Time — or set your own start and end dates and run it.

Read it with one rule in mind (stated under the date picker): snapshot totals are live; flow, withdrawals and the chart cover the window you picked.

Cash wallet section

  • Cash owed right now (live) — total cash across all customer wallets and how many customers hold a balance. This is the number your bank needs to be able to cover.
  • Pending payouts (live) — the value and count of withdrawals awaiting action. If this keeps climbing, work the withdrawals queue.
  • Net cash movement — cash in minus cash out for the window.
  • Cash in / Cash out — where cash came from (cash prizes won, cash alternatives taken, withdrawal refunds, admin credits) and where it went (withdrawals paid or held, conversions to site credit, admin debits).
  • Withdrawals by status — requests raised during the window, grouped by status, with a "Manage withdrawals" shortcut into the queue.
  • Daily cash flow — a day-by-day in-versus-out chart. The chart is available for ranges up to 12 months; for longer ranges it is omitted but all the totals still cover the full range.
  • Top cash recipients — who received the most cash in the window, what they withdrew in the same window, and their current balance. A recipient with a large "Won" figure and zero withdrawals is either converting to credit (fine) or building up a balance you'll owe later.

Site credit section

  • Credit outstanding (live) — total site credit held across all customers.
  • Net credit movement — credit in minus credit redeemed for the window.
  • Credit flow — credit won as prizes, purchased (including bonus), referral rewards, order refunds, cash conversions (including bonus) and admin credits, against credit redeemed at checkout and admin debits.
  • Promotional credit: purchase bonuses, referral rewards, goodwill compensation, conversion bonuses and admin-granted credit, with a total. These figures are part of the credit issued totals above, shown separately so you can see what you gave away to attract and keep customers; they are not an additional amount.

Profit and loss, including scenario views, lives in the Revenue report (Admin → Reports → Revenue); this page tracks credit liability and flows so the two never double-count.

Troubleshooting

A customer says money vanished from their cash balance after requesting a withdrawal. That's the hold working as designed — the requested amount is held out of their spendable balance while the request is Pending or Approved, and their wallet page shows it as held. It's paid out on completion, or returned if the request is rejected or cancelled.

I rejected a withdrawal — do I need to give the money back manually? No. The held amount returns to the customer's cash wallet as a Withdrawal Refund transaction. Check their cash wallet history on the customer panel to confirm. Only use the Cash Adjustment form for genuine corrections outside that flow — for example, a completed payout that your bank later returned.

The Bank Details column shows "Expired" and I can't pay the customer. The details passed their retention period and were deleted; they cannot be recovered. Reject the request with a reason explaining that the details expired and asking the customer to resubmit — the money returns to their wallet and they can request again. To avoid repeats, action Pending requests before the eye icon turns amber (under 12 hours left), or lengthen the retention period in Settings.

My authenticator code keeps being rejected when viewing bank details. You get a handful of retries per attempt; after those the dialog says "Too many invalid attempts. Close and try again." — close it, reopen and enter a fresh code. If wrong codes keep coming, the server locks you out for 15 minutes ("Too many invalid codes. Please try again in 15 minutes."). Wait, then try again — and check your phone's clock is set to update automatically, since a drifting clock makes every code invalid.

A customer says they can't request a withdrawal. Check, in order: their cash balance (site credit is never withdrawable), your minimum and maximum withdrawal limits in Settings, and whether you require ID verification before withdrawals — if so, they must pass ID Verification first.

A request shows Cancelled — do I owe anything? No. Cancelled requests were called off before processing and hold no funds; no action is needed.

A big cash prize was paid out but I don't recognise it. Open the Cash Wallet section of the customer's panel and use the View Competition / View Order links on the transaction in Recent Transactions to trace its source, and cross-check the winner record in Winners and the order in Orders & Tickets.