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

# Create Wallet: POST /dac/v1/create-wallet for an Asset

> Provision a new MPC wallet for a supported asset in your Finrock sub-account. Only one wallet is allowed per asset per sub-account.

The Create Wallet endpoint provisions a new MPC wallet for the specified asset within your sub-account. Finrock enforces a one-wallet-per-asset-per-sub-account limit, so this call is typically made once during initial onboarding for each asset you intend to support. Once provisioned, the wallet is immediately available for address generation and transaction submission.

## Request

<ParamField header="x-api-key" type="string" required>
  Your Finrock API key.
</ParamField>

<ParamField header="Authorization" type="string" required>
  Your JWT bearer token in the format `Bearer {JWT}`.
</ParamField>

<ParamField body="asset" type="string" required>
  The asset for which to provision a wallet. Use the `asset_name` value from the [Supported Assets](/api-reference/utilities/supported-assets) list (e.g. `ETH`, `BTC`, `USDT_ETH`).
</ParamField>

## Example Request

```bash cURL theme={null}
curl --request POST \
     --url https://api.finrock.io/dac/v1/create-wallet \
     --header 'Authorization: Bearer {JWT}' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-api-key: YOUR_API_KEY' \
     --data '{
       "asset": "ETH"
     }'
```

## Response

A successful request returns HTTP `200` with the newly created wallet object.

<ResponseField name="id" type="string">
  Unique Finrock identifier for the new wallet.
</ResponseField>

<ResponseField name="asset" type="string">
  The asset ticker for this wallet (e.g. `ETH`).
</ResponseField>

<ResponseField name="status" type="string">
  Wallet status immediately after creation. Typically `active`.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp of wallet creation.
</ResponseField>

```json Sample 200 Response theme={null}
{
  "id": "wlt_def456",
  "asset": "ETH",
  "status": "active",
  "created_at": "2024-06-01T08:00:00Z"
}
```

<ResponseField name="401" type="object">
  Returned when the `x-api-key` or `Authorization` header is missing or invalid.
</ResponseField>

```json Sample 401 Response theme={null}
{
  "error": "Unauthorized",
  "message": "Invalid or missing authentication credentials."
}
```

<Note>
  Attempting to create a second wallet for an asset that already has one in your sub-account will return an error. Retrieve your existing wallet using [List Wallets](/api-reference/wallets/list-wallets) first.
</Note>
