Skip to main content
POST
/
sdk
/
{environmentId}
/
waas
/
create
Create a WAAS wallet
curl --request POST \
  --url https://app.dynamicauth.com/api/v0/sdk/{environmentId}/waas/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "clientKeygenIds": [
    "<string>"
  ],
  "skipLock": false,
  "addressType": "<string>",
  "businessAccountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
'
{
  "roomId": "<string>",
  "serverKeygenIds": [
    "<string>"
  ],
  "newServerKeygenIds": [
    "<string>"
  ],
  "walletId": "95b11417-f18f-457f-8804-68e361f9164f"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

environmentId
string
required

ID of the environment

Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

Body

application/json

Create Waas Account Request

chain
enum<string>
required
Available options:
EVM,
MIDNIGHT,
SVM,
SUI,
BTC,
TON,
STELLAR,
TEMPO,
ALEO,
TRON
clientKeygenIds
string[]
required

List of client-side key generation identifiers

A base58 string with a max length of 100 characters

Maximum string length: 100
Pattern: ^[1-9A-HJ-NP-Za-km-z]+$
thresholdSignatureScheme
enum<string>
Available options:
TWO_OF_TWO,
TWO_OF_THREE,
THREE_OF_FIVE
skipLock
boolean
default:false

When true, bypasses server-side lock during wallet creation.

addressType
string

Address derivation type for the new account

businessAccountId
string<uuid> | null

When set, creates this wallet as a business-account wallet rather than a root-user wallet: Wallets.userId stays null, Wallets is bound to the business account, the WaaS share set is minted with type businessAccountUser in pending status, and the caller is registered as the wallet's signer. Caller must be an owner or admin of the business account. Requires the enable-business-accounts feature flag — calls with this field will 422 if the flag is off rather than silently falling back to root-user creation.

Response

Successfully created a room for waas account creation ceremony

roomId
string
required

Unique identifier of the opened MPC room

serverKeygenIds
string[]
required

List of existing server-side key generation identifiers

A base58 string with a max length of 100 characters

Maximum string length: 100
Pattern: ^[1-9A-HJ-NP-Za-km-z]+$
newServerKeygenIds
string[]

List of newly generated server-side key generation identifiers

A base58 string with a max length of 100 characters

Maximum string length: 100
Pattern: ^[1-9A-HJ-NP-Za-km-z]+$
walletId
string
Required string length: 36
Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Example:

"95b11417-f18f-457f-8804-68e361f9164f"

Last modified on July 8, 2026