What is Mass Payment?

Mass Payment lets you execute a batch of crypto withdrawals from a single CSV file. Each upload is treated as one business operation. Every resulting transaction shares the same Batch ID, so you can trace, reconcile, and report on the whole batch from one place.

Mass Payment is available in three places:

  • Client Area — upload, preview, save as draft, and confirm with 2FA in the web wallet.
  • Client API — submit batches programmatically with your API authentication. See the API reference at https://docs.xbo.com/#mass-crypto-withdrawal.
  • CRM Back Office — for batches above your configured approval threshold, an xbo operator reviews and approves or declines the whole batch.

Before you start


  • You have an active corporate account with withdrawal permissions.
  • 2FA is enabled (mandatory for Client Area confirmation).
  • Your wallet balance covers the total payout amount plus the total commission.
  • If you plan to debit one currency and pay out another (e.g. debit USD, pay USDT), the source-currency wallet must exist and have enough balance to cover the converted amount plus commission.

Step 1 — Prepare your CSV


Your file must follow these rules:

Rule

Detail

File type

CSV only

Separator

Comma (,) or semicolon (;)

Header row

First row must contain column names

Mandatory columns

Currency, Address, Amount (Network where applicable)

Optional columns

Recipient name and Travel Rule / beneficiary fields (once activated); can be provided partially per row

Amount format

No spaces or thousands separators; dot (.) as decimal; up to 8 digits after the decimal

Address format

Mandatory; no spaces; letters and numbers only

Currency rule

One payout currency per file. The source currency to debit from is a UI / API field, not a CSV column

File size

Maximum 5 MB


Step 2 — Upload and preview


  1. Open the Client Area and select Mass Payment from the menu.
  2. Drag and drop your CSV into the upload area, or click to browse.
  3. Optionally select a source currency to convert from. The system performs one aggregated conversion per coin per batch when you confirm.
  4. The system validates the file structure, then each row. If validation fails at any step, you'll see which step failed and why.
  5. Review the preview screen — every recipient, network, and amount is listed before any payment is executed.
  6. Optional — Save as draft. A colleague with the right role can open the draft, review it, and confirm with their own MFA.

Step 3 — Confirm


On the confirmation summary you will see:

  • Number of transactions in the batch
  • Total amount and total commission
  • Network breakdown by coin
  • Source-currency conversion details (if you selected one)

Confirm with 2FA. If you use the Client API, the request is authenticated using your API credentials. Once confirmed, every transaction is created in Pending status and visible in your transaction history with the new Batch ID.


Step 4 — Approval (when required)


Your account has a configurable Max Batch amount that can be processed without back-office approval. If your batch exceeds that threshold, it moves to Awaiting Batch Approval. The xbo operations team reviews the batch summary by coin, network, transaction count, and total amount and either approves or declines the whole batch. Partial approval is not supported.


Step 5 — Processing, reporting, and reconciliation


  • UTXO networks (e.g. BTC) — the batch is sent as a single multi-destination on-chain transaction. Files larger than the platform cap (currently around 650 destinations per on-chain transaction for BTC) are split automatically; each split is one network transaction.
  • Account-based networks (e.g. ETH, SOL, stablecoins) — each row is sent as its own on-chain transaction.
  • Failure isolation — If one internal batch fails, the remaining batches still process.
  • Results report — Once processing is complete, download a CSV with the same structure as your input plus a status / error column per row.
  • Statements and transaction history — Every transaction carries the Batch ID; you can filter and export by batch.