Help centre

Your questions answered

  • XBO.com - Image 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.
  • XBO.com - Image What are the fees?

    Mass Payment uses your standard per-coin / per-network withdrawal fee. The fee is charged on top of the amount in your CSV: the recipient receives the full amount you wrote, and your wallet is debited the amount plus the fee.

    • UTXO networks with batching — the fee is aggregated per batch and shown on the first row of the batch in transaction history and statements.
    • Account-based networks — each row is a separate on-chain transaction and carries its own fee.
    • With source-currency conversion — the fee is calculated on the payout currency (e.g. USDT) and the source wallet is debited the converted equivalent.
  • XBO.com - Image Which assets qualify for network fee savings?

    Network fee batching means sending one on-chain transaction for many recipients instead of one transaction per recipient. It applies only to UTXO networks.

    Asset

    Status

    Fee batching

    BTC

    Live

    Yes — up to ~650 destinations per on-chain tx

    LTC, BCH, BSV, DASH, ZEC, ADA

    Engine ready

    Available once enabled per asset

    ETH, SOL, and other account-based coins

    Live

    Not applicable — one tx per row

    Stablecoins (USDT, USDC, etc.) on ERC20 / TRC20 / SPL

    Live

    Not applicable — one tx per row

  • XBO.com - Image What are the limits and in what order is validation applied?

    Validation runs in this order. If a step fails, processing stops and you are shown the failed step.

    1. File structure — column names, file size, row count, mandatory columns present.
    2. Row symbols — characters, format, decimal precision.
    3. Currency — single payout currency across all rows.
    4. Network codes — valid for the currency where applicable.
    5. Minimum withdrawal amount per row.
    6. Balance, withdrawal limits, and any active restrictions (for example, a post-fiat-deposit hold).
  • XBO.com - Image What are the Preparer and Approver roles?

    Mass Payment supports segregation of duties using the draft and pay-later flow:

    • Preparer — uploads the CSV, runs the preview, and saves as draft.
    • Approver — opens the draft, reviews recipients and amounts, and confirms with their own MFA.
  • XBO.com - Image How do I use the Client API?

    If you submit batches programmatically, all of the rules above apply identically. See the full API reference, including endpoints, request and response shapes, error codes, and worked examples, at:

    https://docs.xbo.com/#mass-crypto-withdrawal

  • XBO.com - Image Troubleshooting
    My file failed at File structure validation.

    Check the header row, separator (comma or semicolon only), file size (≤5 MB), and that Currency, Address, and Amount columns are present. The error message shows which column or rule failed.

    My batch is sitting at Awaiting Batch Approval.

    The total amount exceeded your configured Max Batch threshold for automatic processing. The xbo operations team will review and either approve or decline the whole batch. You'll see the status change in your transaction history.

    Some rows show errors in the results report.

    The results report adds a status / error column to your original CSV. Re-export the failed rows into a new CSV, correct the issue (often a malformed address or below-minimum amount), and submit them as a new batch.

    Source-currency conversion failed.

    If conversion fails for any coin in the batch, the whole batch is aborted. No partial payouts are made. Check the source-currency wallet balance and try again.

  • XBO.com - Image Frequently asked questions
    Can I cancel a batch after confirming?

    Once confirmed and processed on-chain, transactions cannot be reversed. Batches awaiting approval can still be declined by the operator.

    Can I mix different payout currencies in one file?

    No. One payout currency per file.

    How do I see all transactions from one batch?

    Filter transaction history or your statement export by Batch ID — every transaction in the batch carries the same identifier.

    Is there an API equivalent?

    Yes. See.