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

# Create Wallet

> Provision a wallet for a specific provider.

<ParamField body="alias" type="string">
  A human-readable name to help identify this wallet.
</ParamField>

<ParamField body="providerID" type="string">
  Identifier of the provider powering this wallet (e.g., "0001" for Monnify, etc.).
</ParamField>

<ParamField body="linkWalletID" type="string">
  This is optional. The walletId you want to link to this for the first time.
</ParamField>

<ParamField body="groupWalletID" type="string">
  This is optional. The parent wallet this provider wallet is grouped under, this is returned after the first linking.
</ParamField>

<ParamField body="currencies" type="array of strings">
  List of supported currencies for this wallet (provider enabled currencies).
</ParamField>

<ParamField body="operations" type="array of strings">
  List of supported operations. Possible values: `COLLECTION`, `DISBURSEMENT`, etc.
</ParamField>

<ParamField body="connectID" type="string">
  The connect ID allowed to interact with this wallet. This can be gotten from the response on listing your [`providers.`](/api-reference/list-providers)
</ParamField>

<RequestExample>
  ```bash Example Request theme={null}
  curl --location 'https://api.recital.finance/api/v1/wallets' \
  --header 'Authorization: Bearer apiKey' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "alias": "test wallet",
    "providerID": "0001",
    "currencies": ["NGN", "USD", "SLL"],
    "operations": ["COLLECTION"],
    "connectID": "HnwiseDy8HB2GOV"
  }'
  ```
</RequestExample>

### Response

<ResponseField name="message" type="string">
  Describes the result of the wallet creation.
</ResponseField>

<ResponseField name="success" type="boolean">
  Indicates whether the wallet creation request was successful.
</ResponseField>

<ResponseField name="walletId" type="string">
  The unique identifier of the newly created wallet.
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "message": "Wallet successfully created",
    "success": true,
    "walletId": "RC_WAL-NEWLYCREATEDID"
  }
  ```
</ResponseExample>

### Status Codes

| Code  | Description                            |
| ----- | -------------------------------------- |
| `201` | Wallet created successfully            |
| `400` | Validation error or duplicate wallet   |
| `401` | Unauthorized access or invalid API key |
| `500` | Server error while creating the wallet |

***

### Notes

* A `groupWalletID` must already exist and be valid.
* Each `connectId` will be authorized to transact on the new wallet.
* Ensure the provider supports the given currencies and operations.

***

### Best Practices

✅ Use descriptive aliases to organize wallets efficiently.\
✅ Group related wallets under a single `groupWalletID` for better structure.\
✅ Confirm provider capabilities (currency/operation support) before provisioning.
