> ## Documentation Index
> Fetch the complete documentation index at: /docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Payouts Overview

> Use bluSwap Payouts to transfer funds to vendors, employees, and partners via IMPS, NEFT, RTGS, or UPI. Create a contact, pick a VA, then initiate.

The bluSwap Payouts API lets you send funds to verified beneficiaries through bank transfers or UPI. Use Payouts whenever your business needs to pay a vendor, customer, employee, or partner. You first register the beneficiary as a contact, confirm their verification status, then initiate the transfer from one of your virtual accounts.

## How it works

**1. Create and verify a contact**

Create a beneficiary using bank account details, a UPI ID, or both. Wait until the contact status is `VERIFIED` before attempting a payout.

**2. Select a virtual account**

Retrieve an active virtual account and use its `va_id` in the payout request. Each payout is debited from the virtual account you specify.

**3. Initiate / Check payout status**

Send the payout with a unique `order_id`. Confirm its final status through callbacks or the status endpoint.

## Supported payout methods

| Method | Description |
| - | - |
| **IMPS** | Immediate Payment Service — fast bank transfers, available 24 × 7 |
| **NEFT** | National Electronic Funds Transfer — standard bank transfers |
| **RTGS** | Real Time Gross Settlement — high-value bank transfers |
| **UPI** | Sends funds directly to a verified UPI ID |

## Before sending funds

Review the following checklist before you process live payouts:

* Only contacts with status `VERIFIED` can receive payouts. Use a unique `order_id` for each payout request to prevent duplicate disbursements.
* Configure callbacks before processing live payouts so you receive real-time status updates for every transaction.
* Store the payout status and reference IDs from each response for reconciliation and audit purposes.

> [!WARNING]
>
> Only contacts with status **VERIFIED** can receive payouts. Payout requests to unverified contacts will be rejected.

## Next steps

> [card] [Create Contact](/docs/payouts/create-contact.md)
>
> Register a new beneficiary with bank account or UPI details.

> [card] [Get Virtual Account](/docs/payouts/get-virtual-account.md)
>
> Retrieve your active virtual accounts and their `va_id` values.

> [card] [Initiate Payout](/docs/payouts/initiate-payout.md)
>
> Send funds to a verified contact from a virtual account.

> [card] [Webhook Configuration](/docs/payouts/webhook-configuration.md)
>
> Set up callbacks to receive real-time payout status updates.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.