Skip to main content
POST
Use this endpoint to create an Instant Settlement.

Request Parameters

integer
required
The amount, in paise, you want to instantly settle.
What’s NewSettlement amounts of ₹1 or lower are now supported.
boolean
Indicates whether full balance is settled. Possible values:
  • true: Razorpay will settle the maximum amount possible. Values passed in the amount parameter are ignored.
  • false (default): Razorpay will settle the amount requested in the amount parameter.
string
This is a custom note you can pass for the instant settlement for your reference. For example, Need this to make vendor payments..
  • Maximum length: 30 characters.
  • Allowed characters: a-z, A-Z, 0-9 and space.
object
Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, Beam me up Scotty.

Response Parameters

string
The unique identifier of the instant settlement transaction. For example, setlod_FNj7g2YS5J67Rz.
string
Indicates the type of entity. Here it is settlement.ondemand.
integer
The settlement amount, in paise, requested by you. For example, 200000.
integer
Total amount (minus fees and tax), in paise, settled to the bank account. For example, 199410.
integer
Portion of the requested amount, in paise, yet to be settled to you.
integer
Portion of the requested amount, in paise, that was not settled to you. This amount is reversed to your PG current balance.
integer
Total amount (fees+tax), in paise, deducted for the instant settlement. For example, 590.
integer
Total tax, in paise, charged for the fee component. For example, 90.
string
The 3-letter ISO currency code for the settlement. Here it is INR.
boolean
Indicates whether full balance is settled. Possible values:
  • true: Razorpay will settle the maximum amount possible. Values passed in the amount parameter are ignored.
  • false (default): Razorpay will settle the amount requested in the amount parameter.
string
Indicates the state of the instant settlement. Possible values:
  • created: The instant settlement request has been created.
  • initiated: The instant settlement process has been initiated.
  • partially_processed: The instant settlement is being processed.
  • processed: The instant settlement has been processed and the amount has been transferred to your bank account.
  • reversed: The instant settlement could not be processed for some reason and the amount has been transferred back to your PG balance.
string
This is a custom note you can pass for the instant settlement for your reference. For example, Need this to make vendor payments..
object
Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example, "note_key": "Beam me up Scotty”.
integer
Unix timestamp at which the instant settlement was created. For example, 1596771429.
object
List of payouts created for the instant settlement.
string
Indicates the type of ondemand_payouts entity. Here it is collection.
integer
The number of items in the array. For example, 1.
array
List of payouts created for the instant settlement.
string
The unique identifier for the payout. For example, setlodp_FNj7g2cbvw8ueO.
string
Indicates the type of items entity. Here it is settlement.ondemand_payout.
integer
Unix timestamp at which the payout was initiated. For example, 1596771430.
integer
Unix timestamp at which the payout was processed. For example, 1596778752.
integer
Unix timestamp at which the payout was reversed. For example, 1596778752.
integer
The amount, in paise, settled through this payout. For example, 200000.
integer
Amount (minus fees and tax), in paise, settled through this payout. For example, 199410.
integer
Amount (fees+tax), in paise, deducted for this payout. For example, 590.
integer
Tax charged, in paise, for the fee component. For example, 90.
string
The unique transaction number linked to a payout.
string
Status of the payout. Possible values:
  • created: The payout has been created.
  • initiated: The payout has been initiated.
  • processed: The payout has been processed. The amount has been transferred to your bank account.
  • reversed: The payout has been reversed. The amount has been transferred back to your PG balance.
integer
Unix timestamp at which the payout was created.

Errors

Code: 4xxThe API credentials passed in the API call differ from the ones generated on the Dashboard.Solution: The API keys must be active and entered correctly with no whitespace before or after.
Code: 400Instant Settlement is not enabled on the merchant account, so the endpoint is not routable.Solution: Enable Instant Settlements from the Razorpay Dashboard before calling this API. See the Instant Settlements onboarding guide.
Code: 400The amount requested is below the minimum allowed for an Instant Settlement.Solution: Pass amount as an integer of at least 100 (₹ 1 in paise).
Code: 400Returned for merchants who do not have Instant Settlements set to “automatic” mode — for such accounts, the minimum per-request amount is higher than the default.Solution: Pass an amount of at least 200000 (₹ 2,000 in paise), or contact Razorpay support to enable automatic Instant Settlements.
Code: 400The amount exceeds the per-request hard cap for Instant Settlements (₹ 5 Cr). The API may also return this as Maximum amount that can be settled is ₹ 5 Cr.Solution: Split the requested amount into multiple Instant Settlement requests, each at or below ₹ 5 Cr.
Code: 400The requested amount is greater than the unsettled balance available for Instant Settlement. The API may also return this as Amount exceeds the available balance or Insufficient balance.Solution: Check your available settlement balance from the Dashboard and request an amount within that limit.
Code: 400The merchant has the Money Saver / B2B Export product enabled, which is incompatible with Instant Settlements.Solution: Instant Settlements cannot be used in conjunction with Money Saver. Use the standard settlement cycle instead, or contact Razorpay support to discuss alternatives.
Code: 400Instant Settlement is being requested outside banking hours, when only IMPS-based payouts are available. IMPS has a per-transaction cap of ₹ 2 lakh.Solution: Either lower the amount to ₹ 2,00,000 or below, or retry the Instant Settlement during banking hours so RTGS becomes available.
Code: 400The currency field is set to a value other than the supported settlement currency.Solution: Use INR (the only currency supported for Instant Settlement at the moment).
Code: 400A merchant-scoped payout is currently being processed, blocking new Instant Settlement requests.Solution: Retry after a short delay.
Code: 400The amount requested, once fees are deducted, would result in a payout below ₹ 1. The net amount sent to your bank account must exceed ₹ 1.Solution: Increase the requested amount so that the post-fee net is greater than ₹ 1.
Code: 400An Instant Settlement request with the same characteristics (amount, idempotency key, or other request signature) was already submitted recently.Solution: If the previous request succeeded, use its response. If it failed, change the request payload or wait briefly before retrying.
Code: 400The merchant’s daily Instant Settlement limit has been fully consumed.Solution: Wait until the next working day. The daily Instant Settlement limit resets each working day.
Code: 400For Smart Settlements, the requested amount is below the minimum threshold configured for the merchant. The API may return either Minimum amount that can be settled via smart settlement is ₹ 5,00,000. or Minimum amount that can be settled using Smart Settlements is ₹ 2 L, depending on the merchant configuration.Solution: Check the Smart Settlements minimum from your Dashboard and pass an amount at or above that threshold.
Code: 400For Smart Settlements, the requested amount is above the per-request maximum of ₹ 50 Cr.Solution: Split the request into multiple Smart Settlement requests, each at or below ₹ 50 Cr.
Code: 400The merchant account does not have the Smart Settlements feature enabled.Solution: Use the standard Instant Settlement flow, or contact Razorpay support to enable Smart Settlements.
Code: 400The settle_full_balance field contains a value that is not a valid boolean.Solution: Pass true or false for the settle_full_balance field.
Code: 400The amount value is outside the allowed range when settle_full_balance is false.Solution: Pass an amount integer between 100 and the maximum allowed paise value for your account.
Code: 400The description field exceeds the maximum allowed length of 30 characters.Solution: Shorten the description to 30 characters or fewer.
Code: 400The type field contains an invalid value.Solution: Use a valid type value: settlement_payout_type_instant or settlement_payout_type_smart.
Code: 400The product_type field contains an invalid value.Solution: Use a valid product type value: ondemand, scheduled, or linked.
Code: 400Instant Settlements has been disabled for the merchant due to delayed LOC, Loan, or Card repayments.Solution: Clear outstanding repayments and contact Razorpay support to re-enable Instant Settlements.
Code: 400A global on-demand settlement block is currently active for the merchant.Solution: Contact Razorpay support to understand the reason for the block and the steps to resolve it.
Code: 400The requested amount exceeds the daily merchant or global Instant Settlement limit.Solution: Reduce the amount to be within the available daily limit, or wait until the next working day when the limit resets.
Code: 400The merchant has exhausted the maximum number of Instant Settlement attempts allowed for the day.Solution: Wait until the next working day when the attempt limit resets.
Code: 400The Smart Settlement request was made outside of banking hours or on a holiday when RTGS is unavailable.Solution: Retry the Smart Settlement between 2:00 AM and 9:00 PM on a working day (excluding Jan 26, Aug 15, and Apr 1).
Code: 400The merchant account does not have the Linked Instant Settlements feature enabled.Solution: Contact Razorpay support to enable Linked Instant Settlements on your account.