Docs / API Reference / Balance & Prefunding

Prefunding

Prefunding is required before initiating any payout transactions. You must have a positive balance before creating payout orders. Three prefunding methods are available, plus the option of reusing unsettled payin balances.

Crypto Prefunding

Deposit cryptocurrency to fund your payout balance. The response returns a wallet address where you send the funds.

POST /v2/prefunds/create-crypto-prefund Create crypto prefund
Parameter Type Required Description
amount number Required Prefund amount
cryptoTicker string Required Crypto symbol (e.g., "USDC")
walletAddress string Required Sender's wallet address
currency string Required Settlement currency
balanceCurrency string Required Balance currency (e.g., "EUR")
partnerId string Optional Your internal reference

The response returns an orderId and the wallet address where you should deposit the cryptocurrency.

Fiat Prefunding

Fund your payout balance via fiat bank transfer. PayItFast provides payment details based on the selected currency and payment method. Transfer funds directly to the provided account.

POST /v2/prefunds/create-fiat-prefund Create fiat prefund

Sandbox Prefunding

A sandbox-only endpoint for adding dummy balances in test environments. Use this during development to simulate prefunding without real funds.

POST /v2/sandbox/prefunds/create-prefund Sandbox prefund (test only)
Sandbox Only

This endpoint is only available in the sandbox environment and cannot be used in production. It is intended for testing payout flows without real currency.

Using Payin Balance as Prefunding

If configured, unsettled payin order balances can be used directly as payout prefunding. This means you do not need to create a separate prefund — the funds collected from payin orders are automatically available for payouts.

Deprecated Endpoint

The endpoint POST /v2/prefunds/crypto-prefund is deprecated and does not support USDCBASE. Use /v2/prefunds/create-crypto-prefund instead.


Balance / Multi-Currency Accounts

PayItFast automatically provides Multi-Currency Accounts (MCA) to all customers, enabling management of various currencies without immediate conversion. Use the balance endpoint to view your current holdings across all categories.

GET /v2/balance Get account balance

Request Headers

Header Type Required Description
MID string Optional Merchant ID. Omit for aggregated balances across all entities.

Balance Categories

The response breaks down your balance into the following categories.

Category Description
Total Collections Amount Funds received from fiat and crypto payin orders
Total Payout Amount Funds disbursed through fiat and crypto payout orders
Total Payout Fees Fees deducted for payout transactions
Total Settled Amount Funds that have been fully settled to customers
Total Unsettled Amount Funds pending settlement
Total Available Prefunding Balance Balance currently available for initiating payouts
Total Payout In Transit Balance Payouts currently being processed by the banking network

Refunds

Refunds are handled by the PayItFast support team and are not initiated via the API. Understanding when and how refunds occur is important for your integration.

When Refunds Occur

Refunds are triggered in three scenarios.

Scenario Description
No Order Found User completes payment but no associated order exists in the system
Funds Not Received Order exists but funds never arrived at the destination
Compliance Rejection Order found and funds received, but the transaction fails compliance review

Refund Process

Name Verification for Compliance

PayItFast performs name-matching between the sender's bank account name and the registered user name. The similarity score determines the outcome.

Similarity Score Action
Below 0.45 Transaction is automatically declined and refunded
0.45 – 0.70 Compliance team requests supporting documents from the user
No response to document request Order is rejected after 3–4 business days
Note

Scores above 0.70 pass automatically. Ensure your users register with the same name that appears on their bank account to avoid delays.


Orders & Payments

Create payin, payout, and crypto orders that draw from your prefunded balance.

View endpoints

Webhooks

Receive real-time notifications when balance changes, payments settle, or refunds occur.

View guide

Error Reference

Understand error codes like INSUFFICIENT_BALANCE and how to handle them.

View reference