A batch transfer is a way to make multiple payouts transfer requests at one time. Cashfree offers separate APIs for batch transfers. This section provides details on how to integrate a batch transfer from scratch. It includes making a batch transfer and fetching the batch transfer status.

Batch Transfer
Steps
[Setup](🔗)
[Initialization and Authorization](🔗)
[Request a batch transfer](🔗)
[Get batch transfer status](🔗)
Check out our libraries and samples section for the integration code hosted on GitHub.
# Step 1: Setup
Get your corresponding clientId and clientSecret from your payout dashboard and ensure that your IP is whitelisted as well. Check our development quickstart here.
Host URL: Use the following URL for PROD and TEST, respectively:
For the **production** environment: https://payout-api.cashfree.com
For the **test** environment: https://payout-gamma.cashfree.com
# Step 2: Initialization and Authorization
Call the authenticate API to Cashfree system/server to obtain an Authorization Bearer token. All other API calls must have this token as Authorization header in the format 'Bearer <token>' (without quotes) for them to be processed.
**Sample Response**
# Step 3: Request Batch Transfer
A batch transfer allows you to request multiple payout transfers at a given time. Batch transfers can be created by passing the beneficiary ID or by passing the beneficiary details.
**Sample Response**
# Step 4: Get Batch Transfer Status
Get the status of all transfers within a batch transfer.
**Sample Response**
Check out our [Libraries](🔗) and [Samples](🔗) section for the integration code hosted on GitHub.
You now have a complete standard transfer integration for payouts. Cashfree will send webhooks in the case of certain events. Webhooks are server to server notifications. Learn more about webhooks [here](🔗).
When testing your integration with your test API key, you can use [test numbers](🔗) to ensure that it works correctly.