---
title: "An asynchronous request to create a wallet"
method: POST
path: "/user/wallet/launch"
tags: ["Wallet management endpoints"]
---

# An asynchronous request to create a wallet

`POST /user/wallet/launch`

An asynchronous request to create a wallet. The resulting wallet will be custodial, but the user can claim custody at a later time using the server generated secret provided in the response.

## Headers

- `x-api-key` string, required

## Response `200`

Successfully requested to create a custody wallet. The status will of the response will always be PROCESSING with an empty list of addresses. Must use the corresponding GET endpoint to check status and address metadata, using the provided server generated secret as authentication.

- WalletOnboardResponse
  - `secret` string — A secret created by the server and provided to the client only at initial wallet creation
  - `state` string — Indicates custody state of the wallet (CUSTODY or SELF_CUSTODY)
  - `status` string — Indicates status of the onboarding process
  - `addresses` object — Blockchain addresses associated with the wallet
    - `SYMBOL` string — Blockchain address associated with symbol

## Other responses

- `403` — Not authorized
- `409` — Account already exists
- `429` — Too many attempts

---

[API](https://skmtc.net/unstoppabledomains/apis/profile-api.md) · [All operations](https://skmtc.net/unstoppabledomains/apis/profile-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/unstoppabledomains/profile-api/versions/10f8400cb1c1/schema)
