Dynamic Wallets API
The Wallets API from Dynamic — 9 operation(s) for wallets.
The Wallets API from Dynamic — 9 operation(s) for wallets.
openapi: 3.0.1
info:
title: Dashboard Allowlists Wallets API
description: Dashboard API documentation
version: 1.0.0
servers:
- url: https://app.dynamicauth.com/api/v0
- url: https://app.dynamic.xyz/api/v0
- url: http://localhost:3333/api/v0
tags:
- name: Wallets
paths:
/environments/{environmentId}/embeddedWallets:
post:
operationId: createEmbeddedWallet
description: Creates a new embedded wallet for a user given an email or userId. If an email is provided and it is not associated with an existing user this call will also create a new user.
summary: Creates a new embedded wallet for a user given an identifier
tags:
- Wallets
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
description: Pregenerate embedded wallet for a user email request
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserEmbeddedWalletsRequest'
required: true
responses:
'200':
description: Wallet already exists for the user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'201':
description: Successfully created new wallet for the user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/embeddedWalletVersions:
get:
operationId: getActiveEmbeddedWalletVersionsForEnvironment
tags:
- Wallets
summary: Get the active embedded wallet versions for an environment
parameters:
- $ref: '#/components/parameters/environmentId'
responses:
'200':
description: Active embedded wallet versions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EmbeddedWalletVersionEnum'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/embeddedWallets/farcaster:
post:
operationId: createEmbeddedWalletFromFarcaster
description: Creates a new embedded wallet. This API is meant to be called from a frame server.
summary: Creates a new embedded wallet. This API is meant to be called from a frame server.
tags:
- Wallets
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
description: Pregenerate embedded wallet for frame server request
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserEmbeddedWalletsFromFarcasterRequest'
required: true
responses:
'200':
description: Wallet(s) already exists for the user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'201':
description: Successfully created new wallet(s) for the user
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/users/{userId}/wallets:
post:
deprecated: true
operationId: createWalletLegacy
summary: Creates a new wallet for the user (deprecated - use /environments/{environmentId}/users/{userId}/wallets instead)
description: Creates a new wallet for the user. Note that this API is not meant for creating embedded wallets. To create embedded wallets use the /embeddedWallets endpoint.
tags:
- Wallets
parameters:
- $ref: '#/components/parameters/userId'
requestBody:
description: Wallet fields
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWalletRequest'
required: true
responses:
'201':
description: Successfully created new wallet for the user
content:
application/json:
schema:
$ref: '#/components/schemas/Wallet'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
get:
deprecated: true
operationId: getWalletsByUserIdLegacy
tags:
- Wallets
summary: Get wallets by user (deprecated - use /environments/{environmentId}/users/{userId}/wallets instead)
parameters:
- $ref: '#/components/parameters/userId'
responses:
'200':
description: Successful response with list of wallets
content:
application/json:
schema:
$ref: '#/components/schemas/UserWalletsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/users/{userId}/wallets:
post:
operationId: createWallet
summary: Creates a new wallet for the user. Note that if the user already has an embedded wallet linked, this call will fail.
description: Creates a new wallet for the user. Note that this API is not meant for creating embedded wallets. To create embedded wallets use the /embeddedWallets endpoint.
tags:
- Wallets
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/userId'
requestBody:
description: Wallet fields
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWalletRequest'
required: true
responses:
'201':
description: Successfully created new wallet for the user
content:
application/json:
schema:
$ref: '#/components/schemas/Wallet'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
get:
operationId: getWalletsByUserId
tags:
- Wallets
summary: Get wallets by user
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/userId'
responses:
'200':
description: Successful response with list of wallets
content:
application/json:
schema:
$ref: '#/components/schemas/UserWalletsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/wallets/{walletId}:
get:
deprecated: true
operationId: getWalletByIdLegacy
tags:
- Wallets
summary: Get a wallet using the ID (deprecated - use /environments/{environmentId}/wallets/{walletId} instead)
parameters:
- $ref: '#/components/parameters/walletId'
responses:
'200':
description: Successful response with wallet
content:
application/json:
schema:
$ref: '#/components/schemas/Wallet'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
delete:
deprecated: true
operationId: deleteWalletByIdLegacy
tags:
- Wallets
summary: Delete wallet (deprecated - use /environments/{environmentId}/wallets/{walletId} instead)
parameters:
- $ref: '#/components/parameters/walletId'
responses:
'204':
description: successful operation
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/wallets:
get:
operationId: getWalletsByEnvironmentId
tags:
- Wallets
summary: Get wallets by environment
description: Retrieve wallets for a specified environment
parameters:
- $ref: '#/components/parameters/environmentId'
- in: query
name: limit
required: false
schema:
type: integer
minimum: 1
maximum: 100
default: 50
description: Maximum number of wallets to return
- in: query
name: offset
required: false
schema:
type: integer
minimum: 0
default: 0
description: Number of wallets to skip
responses:
'200':
description: Successful response with wallets
content:
application/json:
schema:
$ref: '#/components/schemas/WalletsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/wallets/{walletId}:
get:
operationId: getWalletById
tags:
- Wallets
summary: Get a wallet using the ID
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
responses:
'200':
description: Successful response with wallet
content:
application/json:
schema:
$ref: '#/components/schemas/Wallet'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
description: Not found
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
delete:
operationId: deleteWalletById
tags:
- Wallets
summary: Delete wallet
parameters:
- $ref: '#/components/parameters/environmentId'
- $ref: '#/components/parameters/walletId'
responses:
'204':
description: successful operation
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
/environments/{environmentId}/wallets/recover:
post:
operationId: recoverDeletedWalletsWithEnvironment
tags:
- Wallets
summary: Recover deleted wallets for a user in a specific environment
description: Recovers deleted wallets for a user in a specified environment by setting deleted_at to null. This undoes the soft deletion of wallets, wallet additional addresses, and turnkey HD wallets.
parameters:
- $ref: '#/components/parameters/environmentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WalletRecoveryRequest'
responses:
'200':
description: Successfully recovered wallets
content:
application/json:
schema:
$ref: '#/components/schemas/WalletRecoveryResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
security:
- bearerAuth: []
components:
schemas:
UnprocessableEntity:
type: object
properties:
error:
type: string
example: Resources already exists for this Object
code:
$ref: '#/components/schemas/UnprocessableEntityErrorCode'
payload:
$ref: '#/components/schemas/UnprocessableEntityErrorPayload'
required:
- error
ProjectSettingsKyc:
type: object
properties:
name:
type: string
required:
type: boolean
enabled:
type: boolean
unique:
type: boolean
verify:
type: boolean
type:
$ref: '#/components/schemas/KycFieldType'
validationRules:
$ref: '#/components/schemas/CustomFieldValidationRules'
validationType:
$ref: '#/components/schemas/CustomFieldType'
label:
type: string
position:
type: number
required:
- name
- required
- enabled
- unique
- verify
ThresholdSignatureScheme:
type: string
enum:
- TWO_OF_TWO
- TWO_OF_THREE
- THREE_OF_FIVE
OptionalNullableNonEmptyStringWith255MaxLength:
type: string
pattern: ^$|^(?=\S)[\p{L}\p{N} _.,:!?&%@\/+-]+(?<=\S)$
example: An example name
nullable: true
maxLength: 255
UserWalletsResponse:
type: object
properties:
count:
type: integer
wallets:
type: array
items:
$ref: '#/components/schemas/Wallet'
required:
- count
- wallets
ChainalysisCheck:
type: object
properties:
id:
$ref: '#/components/schemas/uuid'
createdAt:
type: string
format: date-time
result:
$ref: '#/components/schemas/ChainalysisCheckResultEnum'
walletPublicKey:
$ref: '#/components/schemas/WalletPublicKey'
response:
type: string
required:
- id
- createdAt
- result
- walletPublicKey
- response
CreateUserEmbeddedWalletsFromFarcasterRequest:
required:
- email
- fid
- chains
type: object
properties:
email:
type: string
format: email
description: Identifier for the user. Must be an email
fid:
type: number
description: Farcaster ID of the user
chains:
type: array
description: The chains to create the wallets for
items:
$ref: '#/components/schemas/EmbeddedWalletChainEnum'
WaasWalletSettings:
type: object
properties:
hasDeniedDelegatedAccess:
type: boolean
shouldRefreshOnNextSignOn:
type: boolean
reshareOnNextSignOn:
$ref: '#/components/schemas/ThresholdSignatureScheme'
revokeOnNextSignOn:
type: boolean
NonEmptyIsoCountryCode:
type: string
pattern: ^[a-zA-Z]{2,4}\d?$
maxLength: 4
example: US
WalletRecoveryResponse:
type: object
properties:
data:
type: object
description: Recovered wallets data
message:
type: string
description: Summary of wallet recovery
CreateUserEmbeddedWalletsRequest:
required:
- identifier
- type
type: object
properties:
identifier:
type: string
description: Identifier for the user. Must be either an email, phone number, user id, external user id, or username from a supported social provider
type:
$ref: '#/components/schemas/UserIdentifierTypeEnum'
chains:
type: array
description: The chains to create the wallet for
items:
$ref: '#/components/schemas/EmbeddedWalletChainEnum'
chain:
$ref: '#/components/schemas/EmbeddedWalletChainEnum'
smsCountryCode:
$ref: '#/components/schemas/SmsCountryCode'
socialProvider:
$ref: '#/components/schemas/ProviderEnum'
WalletKeyShareInfo:
type: object
required:
- id
- backupLocation
- passwordEncrypted
properties:
id:
$ref: '#/components/schemas/uuid'
backupLocation:
type: string
passwordEncrypted:
type: boolean
externalKeyShareId:
$ref: '#/components/schemas/uuid'
User:
allOf:
- $ref: '#/components/schemas/BaseUser'
- type: object
properties:
walletPublicKey:
type: string
wallet:
type: string
chain:
$ref: '#/components/schemas/ChainEnum'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
sessions:
type: array
items:
$ref: '#/components/schemas/Session'
wallets:
type: array
items:
$ref: '#/components/schemas/Wallet'
chainalysisChecks:
type: array
items:
$ref: '#/components/schemas/ChainalysisCheck'
oauthAccounts:
type: array
items:
$ref: '#/components/schemas/oAuthAccount'
mfaDevices:
type: array
items:
$ref: '#/components/schemas/MFADevice'
ecdsaValidatorOptions:
type: string
enum:
- zerodev_signer_to_ecdsa
- zerodev_multi_chain
UnprocessableEntityErrorPayload:
type: object
description: Contains information which the integrating client of this API can use to tailor an experience to a customer to fix the underlying issue that triggered this error.
properties:
email:
type: string
format: email
example: joe@email.com
loginProvider:
$ref: '#/components/schemas/ProviderEnum'
embeddedWalletName:
type: string
embeddedSocialSigninProvider:
$ref: '#/components/schemas/ProviderEnum'
mergeConflicts:
$ref: '#/components/schemas/MergeConflicts'
additionalMessages:
type: array
items:
type: string
JwtVerifiedCredentialFormatEnum:
type: string
enum:
- blockchain
- email
- oauth
- passkey
- phoneNumber
- externalUser
WalletsResponse:
type: object
required:
- wallets
- count
properties:
wallets:
type: array
items:
$ref: '#/components/schemas/WalletDetail'
count:
type: integer
description: Total number of wallets matching the filter
limit:
type: integer
description: Maximum number of wallets returned
offset:
type: integer
description: Number of wallets skipped
MergeUserConflict:
type: object
description: Contains a merge conflict between two users with different values for the same user field data
required:
- field
- fromUser
- currentUser
properties:
field:
$ref: '#/components/schemas/ProjectSettingsKyc'
fromUser:
$ref: '#/components/schemas/MergeUser'
currentUser:
$ref: '#/components/schemas/MergeUser'
UserResponse:
type: object
properties:
user:
$ref: '#/components/schemas/User'
InternalServerError:
type: object
properties:
error:
type: string
example: Internal Server Error
oAuthAccount:
type: object
properties:
id:
$ref: '#/components/schemas/uuid'
provider:
$ref: '#/components/schemas/ProviderEnum'
accountUsername:
type: string
ProviderEnum:
type: string
description: The 'turnkey' value is deprecated and will be removed in a future version.
enum:
- emailOnly
- magicLink
- apple
- bitbucket
- coinbasesocial
- discord
- epicgames
- facebook
- farcaster
- github
- gitlab
- google
- instagram
- linkedin
- microsoft
- twitch
- twitter
- blocto
- banxa
- coinbaseOnramp
- cryptoDotCom
- dynamic
- alchemy
- zerodev
- telegram
- turnkey
- coinbaseWaas
- sms
- spotify
- tiktok
- line
- steam
- shopify
- zksync
- kraken
- blockaid
- passkey
- okta
- sendgrid
- resend
MfaBackupCodeAcknowledgement:
type: string
nullable: true
enum:
- pending
- complete
KycFieldType:
type: string
enum:
- standard
- custom
NameServiceData:
type: object
properties:
avatar:
type: string
name:
type: string
EmbeddedWalletChainEnum:
type: string
enum:
- EVM
- SOL
- SUI
- BTC
- TON
WaasChainEnum:
type: string
enum:
- EVM
- SVM
- SUI
- BTC
- TON
MergeConflicts:
type: object
description: Contains information needed for the SDK to surface merge conflicts when attempting to merge information from one user to another
required:
- fromUser
- conflicts
properties:
fromUser:
$ref: '#/components/schemas/SdkUser'
conflicts:
type: array
items:
$ref: '#/components/schemas/MergeUserConflict'
WalletProperties:
anyOf:
- $ref: '#/components/schemas/TurnkeyWalletProperties'
- $ref: '#/components/schemas/HardwareWalletProperties'
- $ref: '#/components/schemas/CoinbaseMpcWalletProperties'
- $ref: '#/components/schemas/SmartWalletProperties'
- $ref: '#/components/schemas/WaasWalletProperties'
MFADevice:
type: object
properties:
type:
$ref: '#/components/schemas/MFADeviceType'
verified:
type: boolean
description: Whether or not the user has a verified this MFA Device
id:
$ref: '#/components/schemas/uuid'
createdAt:
type: string
format: date-time
description: The date and time the MFA device was created
verifiedAt:
type: string
format: date-time
description: The date and time the MFA device was verified
nullable: true
default:
type: boolean
description: Whether or not this is the default MFA device for the user
alias:
type: string
description: The optional alias for the MFA device
NonEmptyStringWith255MaxLengthAndSpecialChars:
type: string
pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'()\[\]*]+(?<=\S)$
maxLength: 255
example: An example name
EmbeddedWalletVersionEnum:
type: string
enum:
- V1
- V2
- V3
CountryCode:
type: string
nullable: true
description: Standard ISO 3166-1 alpha-2 two-letter country code
pattern: ^[A-Z]{2}$
example: US
maxLength: 255
CoinbaseMpcWalletProperties:
type: object
properties:
claimed:
type: boolean
description: Dynamic pregenerated this wallet and stored the passcode
source:
$ref: '#/components/schemas/PasswordSourceTypeEnum'
CreateWalletRequest:
required:
- publicWalletAddress
- chain
- walletName
- walletProvider
type: object
properties:
publicWalletAddress:
$ref: '#/components/schemas/WalletPublicKey'
chain:
$ref: '#/components/schemas/ChainEnum'
walletName:
$ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
walletProvider:
$ref: '#/components/schemas/WalletProviderEnum'
additionalWalletAddresses:
type: array
items:
$ref: '#/components/schemas/WalletAdditionalAddress'
WalletRecoveryRequest:
type: object
properties:
userId:
type: string
description: User Id
Unauthorized:
type: object
properties:
error:
type: string
example: No jwt provided!
SmartWalletProperties:
type: object
properties:
entryPointVersion:
$ref: '#/components/schemas/ProviderEntryPointVersionEnum'
kernelVersion:
$ref: '#/components/schemas/ProviderKernelVersionEnum'
ecdsaProviderType:
$ref: '#/components/schemas/ecdsaValidatorOptions'
ChainEnum:
type: string
enum:
- ETH
- EVM
- FLOW
- SOL
- ALGO
- STARK
- COSMOS
- BTC
- ECLIPSE
- SUI
- SPARK
- TRON
- APTOS
- TON
- STELLAR
DelegatedAccessEncryptionPublicKey:
type: object
required:
- id
- projectEnvironmentId
- kid
- alg
- publicKeyPemB64
- status
- type
- createdAt
- updatedAt
properties:
id:
$ref: '#/components/schemas/uuid'
projectEnvironmentId:
$ref: '#/components/schemas/uuid'
kid:
type: string
description: Short identifier referenced in webhook envelopes so the developer knows which private key to use
maxLength: 64
alg:
type: string
enum:
- RSA-OAEP-256
- HYBRID-RSA-AES-256
description: Algorithm for how this key is used
publicKeyPemB64:
type: string
description: Developer's public key material, PEM encoded then base64'd
maxLength: 4096
status:
type: string
enum:
- pending
- active
- revoked
description: Lifecycle status of this key
type:
$ref: '#/components/schemas/WaasDelegatedAccessEncryptionPublicKeyType'
expiresAt:
type: string
format: date-time
nullable: true
description: Optional expiry for planned rotations
revokedAt:
type: string
format: date-time
nullable: true
description: Timestamp when the key was revoked
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
PasswordSourceTypeEnum:
type: string
enum:
- dynamic
- user
WalletAdditionalAddress:
type: object
description: An additional address associated with a wallet.
required:
- address
- type
properties:
address:
type: string
description: An address associated with a wallet.
publicKey:
type: string
description: The public key associated with the address.
type:
$ref: '#/components/schemas/WalletAddressType'
HardwareWalletEnum:
type: string
enum:
- ledger
SdkUser:
allOf:
- $ref: '#/components/schemas/BaseUser'
- type: object
required:
- verifiedCredentials
MFADeviceType:
type: string
enum:
- totp
- passkey
- email
TurnkeyWalletProperties:
deprecated: true
type: object
properties:
turnkeySubOrganizationId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
turnkeyPrivateKeyId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
turnkeyHDWalletId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
isAuthenticatorAttached:
type: boolean
description: Whether or not the wallet has an authenticator (passkey, api key, etc) attached to it.
turnkeyUserId:
allOf:
- $ref: '#/components/schemas/uuid'
deprecated: true
isSessionKeyCompatible:
type: boolean
version:
$ref: '#/components/schemas/EmbeddedWalletVersionEnum'
ecdsaProviderType:
$ref: '#/components/schemas/ecdsaValidatorOptions'
entryPointVersion:
$ref: '#/components/schemas/ProviderEntryPointVersionEnum'
kernelVersion:
$ref: '#/components/schemas/ProviderKernelVersionEnum'
Forbidden:
type: object
properties:
error:
type: string
example: Access Forbidden
MergeUser:
type: object
description: Contains the current field value for the user.
required:
- userId
- value
properties:
userId:
$ref: '#/components/schemas/uuid'
value:
$ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
Session:
type: object
properties:
id:
$ref: '#/components/schemas/uuid'
createdAt:
type: string
format: date-time
ipAddress:
type: string
nullable: true
userAgent:
type: string
nullable: true
revokedAt:
type: string
format: date-time
nullable: true
WaasWalletProperties:
type: object
properties:
keyShares:
type: array
items:
$ref: '#/components/schemas/WalletKeyShareInfo'
thresholdSignatureScheme:
$ref: '#/components/schemas/ThresholdSignatureScheme'
derivationPath:
type: string
description: The derivation path for the wallet
settings:
$ref: '#/components/schemas/WaasWalletSettings'
version:
$ref: '#/components/schemas/EmbeddedWalletVersionEnum'
UnprocessableEntityErrorCode:
type: string
enum:
- email_cannot_be_null
- exchange_cannot_be_enabled
- transfer_amount_too_small
- transfer_address_not_whitelisted
- invalid_scopes
- unknown_transfer_error
- transfer_mfa_required
- transfer_mfa_failed
- invalid_transfer_funds
- invalid_transfer_currency
- invalid_exchange_provider
- invalid_transfer_network
- invalid_email
- email_already_exists
- allowlist_already_exists
- allowlist_entry_already_exists
- reassign_wallet_error
- reassign_wallet_confirm
- members_cannot_delete_themself
- username_already_exists
- wrong_email_verification_token
- wrong_sms_verification_token
- in
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dynamic-xyz/refs/heads/main/openapi/dynamic-xyz-wallets-api-openapi.yml