Skip to main content
POST
/
ppi
/
wallet
curl --request POST \
  --url https://api.cashfree.com/ppi/wallet \
  --header 'Content-Type: application/json' \
  --header 'x-api-version: <x-api-version>' \
  --header 'x-client-id: <api-key>' \
  --header 'x-client-secret: <api-key>' \
  --data '
{
  "user_id": "USER827364",
  "cf_program_id": "9876543210987654321",
  "wallet_id": "WALLET936721"
}
'
{
  "user_id": "USER827364",
  "cf_program_id": "9876543210987654321",
  "wallet_id": "WALLET936721",
  "cf_wallet_id": "1234567890123456783",
  "wallet_name": "Gift Wallet",
  "sub_wallets": [
    {
      "cf_sub_wallet_id": "35246543210987654321",
      "name": "Gift Wallet",
      "type": "GIFT_PPI",
      "status": "ACTIVE",
      "balance": 0,
      "available_balance": 0,
      "funds_on_hold": 0
    },
    {
      "cf_sub_wallet_id": "54252453468535350356",
      "name": "Closed Wallet",
      "type": "CLOSED_LOOP_PPI",
      "status": "ACTIVE",
      "balance": 0,
      "available_balance": 0,
      "funds_on_hold": 0
    }
  ]
}
The following parameters are required to create a wallet.
ParameterRequiredDescription
user_idAlwaysThe unique identifier of the user.
wallet_idAlwaysThe unique identifier of the wallet.
cf_program_idAlwaysThe unique identifier of the program.
card_idConditionallyRequired if cf_program_id is associated with a card program.
If cf_program_id is linked to a card program, you must provide card_id in the request. The card is associated with the wallet at the time of wallet creation.

Authorizations

x-client-id
string
header
required

Your unique client identifier issued by Cashfree. You can find this in your Merchant Dashboard.

x-client-secret
string
header
required

The secret key associated with your client ID. Use this to authenticate your API requests. You can find this in your Merchant Dashboard.

Headers

x-api-version
string
default:2025-11-01
required

API version to be used. Format is in YYYY-MM-DD.

Example:

"2025-11-01"

Body

application/json

Request parameters to create a primary wallet and associated sub-wallets for a user.

user_id
string
required

Unique identifier for the user, as provided by you during PPI user creation.

Required string length: 1 - 50
Example:

"USER827364"

cf_program_id
string
required

Unique identifier of the PPI program, provided by Cashfree. Use this to specify the program configuration when creating a wallet. If the provided cf_program_id is associated with a card program, then card_id is also required in the request. In such cases, the card is linked to the wallet during creation.

Required string length: 1 - 50
Example:

"9876543210987654321"

wallet_id
string
required

Unique identifier that you create to identify the wallet in your system. Maximum 50 characters. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.

Required string length: 1 - 50
Example:

"WALLET936721"

card_id
string

Unique identifier for the card in your system. Maximum 50 characters. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed. Required if the cf_program_id is linked to a card program. The card is associated with the wallet when the wallet is created.

Required string length: 1 - 50
Example:

"CARDR827364"

Response

Success response for creating a wallet.

user_id
string

Unique identifier for the user, as provided by you during PPI user creation.

Example:

"USER827364"

cf_program_id
string

Unique identifier of the PPI program associated with the wallet, as provided by Cashfree.

Example:

"9876543210987654321"

wallet_id
string

Unique identifier for the wallet, as provided by you during wallet creation.

Example:

"WALLET936721"

cf_wallet_id
string

Unique identifier for the wallet, automatically generated by Cashfree after successful wallet creation.

Example:

"1234567890123456783"

wallet_name
string

Name of the wallet.

Example:

"Gift Wallet"

sub_wallets
object[]

List of sub-wallets created for this wallet.

card
object

Card details associated with the wallet, if a card exists.