> ## Documentation Index
> Fetch the complete documentation index at: https://razorpay-881012b3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Fund Account of Type Wallet

> Create a Fund Account of type the wallet via API.

<div style={{display:"flex",flexWrap:"wrap",alignItems:"center",gap:"0.35rem 0.9rem",border:"1px solid rgba(128,128,128,0.28)",borderRadius:"0.5rem",padding:"0.45rem 0.75rem",margin:"0 0 1.25rem",fontSize:"0.875rem"}}>
  <span style={{fontWeight:600}}>Available in</span>
  <span>🇮🇳 India</span>
  <span>🇸🇬 Singapore</span>
  <span>🇺🇸 United States</span>
</div>

Use this endpoint to create a Fund Account of the type `wallet`. A new Fund Account is created if any combination of the following details is unique: `contact_id`, `wallet.phone.number`, `wallet.phone.country_code`, and `wallet.email`.

* If **all** the above details match the details of an existing Fund Account, the API returns details of the existing Fund Account.
* You cannot edit the details of a Fund Account.

<RequestExample>
  ```bash Curl theme={null}
  curl -u <YOUR_KEY_ID>:<YOUR_KEY_SECRET> \
  -X POST https://api.razorpay.com/v1/fund_accounts \
  -H "Content-Type: application/json" \
  -d '{
    "contact_id": "cont_00000000000001",
    "account_type": "wallet",
    "wallet": {
      "provider": "amazonpay",
      "phone": "+919876543210",
      "email": "gaurav.kumar@example.com",
      "name": "Gaurav Kumar"
    }
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "id": "fa_00000000000001",
    "entity": "fund_account",
    "contact_id": "cont_00000000000001",
    "account_type": "wallet",
    "wallet": {
      "provider": "amazonpay",
      "phone": "+919876543210",
      "email": "gaurav.kumar@example.com",
      "name": "Gaurav Kumar"
    },
    "active": true,
    "batch_id": null,
    "created_at": 1543650891
  }
  ```
</ResponseExample>

## Request Parameters

<ParamField body="contact_id" type="string" required>
  The unique identifier linked to a contact. For example, `cont_00000000000001`.
</ParamField>

<ParamField body="account_type" type="string" required>
  The account type you want to link to the contact ID. Here, it is `wallet`.
</ParamField>

<ParamField body="wallet" type="object" required>
  The contact's wallet details.
</ParamField>

<ParamField body="provider" type="string" required>
  The wallet provider. Here, it is `amazonpay`.
</ParamField>

<ParamField body="phone" type="string" required>
  Beneficiary phone details. 10 digit beneficiary phone number with the country code. For example, `+919876543210 `.
</ParamField>

<ParamField body="email" type="string">
  Beneficiary email address. For example, `gaurav.kumar@example.com`.
</ParamField>

<ParamField body="name" type="string">
  Wallet holder's name. Name must be between 4 - 120 characters. This field is case-sensitive. Name cannot end with a special character, except `.`. Supported characters: `a-z`, `A-Z`, `0-9`, `space`, `’` , `-` , `_` , `/` , `(` , `)` and , `.`. For example, `Gaurav Kumar`.
</ParamField>

## Response Parameters

<ResponseField name="id" type="string">
  The unique identifier linked to the fund account. For example, `fa_00000000000001`.
</ResponseField>

<ResponseField name="entity" type="string">
  Here it will be `fund_account`.
</ResponseField>

<ResponseField name="contact_id" type="string">
  The unique identifier linked to the contact. For example, `cont_00000000000001`.
</ResponseField>

<ResponseField name="account_type" type="string">
  The fund account type created. Here it is `wallet`.
</ResponseField>

<ResponseField name="wallet" type="object">
  The contact's wallet details.
</ResponseField>

<ResponseField name="provider" type="string">
  The wallet provider. Here, it is `amazonpay`.
</ResponseField>

<ResponseField name="phone" type="string">
  10 digit beneficiary phone number with the country code. For example, `+919876543210 `.
</ResponseField>

<ResponseField name="email" type="string">
  Beneficiary email address. For example, `gaurav.kumar@example.com`.
</ResponseField>

<ResponseField name="name" type="string">
  Wallet holder's name. For example, `Gaurav Kumar`.
</ResponseField>

<ResponseField name="active" type="boolean">
  Possible values:

  * `true`: active
  * `false`: inactive
</ResponseField>

<ResponseField name="batch_id" type="string">
  This parameter is populated if the fund account was created as part of a bulk upload. For example, `batch_00000000000001`.
</ResponseField>

<ResponseField name="created_at" type="integer">
  Timestamp, in Unix, when the fund account was created. For example, `1545320320`.
</ResponseField>
