openapi: 3.2.0 info: title: Dashboard Allowlists SDK 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: SDK paths: /environments/{environmentId}/users/{userId}/balances: post: operationId: getUserAccountBalances tags: - SDK summary: Get account balances for multiple addresses parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/userId' requestBody: description: Array of account addresses with chains and network IDs required: true content: application/json: schema: $ref: '#/components/schemas/MultichainAccountBalancesRequest' responses: '200': description: Token balances organized by chain and network content: application/json: schema: $ref: '#/components/schemas/MultichainAccountBalanceResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' /exchangeRates: get: operationId: getExchangeRates tags: - SDK description: Exchange rates for the given currency responses: '200': description: Exchange rates response content: application/json: schema: $ref: '#/components/schemas/ExchangeRatesResponse' '500': $ref: '#/components/responses/InternalServerError' summary: Get exchange rates x-summary-source: derived /sdk/{environmentId}/waas/keyShares/backup/token: get: operationId: getBackupToken tags: - SDK summary: Generate a short-lived JWT token for use with WAAS client backups description: This endpoint generates a short-lived JWT token for use with WAAS client backups. The token is valid for 1 minute and can only be used for storing and retrieving client keyshare backups. A Dynamic Auth user must be authenticated and have a Dynamic JWT to use this endpoint. parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Successfully generated a short-lived JWT token for use with WAAS client backups content: application/json: schema: $ref: '#/components/schemas/GeneratedTokenResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/check: get: operationId: getUserFieldsCheck tags: - SDK summary: Check user field uniqueness description: Check if the unique field value is already taken. For example, an enabled unique username or unique email. This also works with enabled unique custom fields. parameters: - $ref: '#/components/parameters/environmentId' - in: query name: filter required: false style: form schema: $ref: '#/components/schemas/UserFieldsCheckParams' responses: '200': description: successful check content: application/json: schema: $ref: '#/components/schemas/UserFieldsCheckResponse' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' security: - bearerAuth: [] /sdk/{environmentId}/providers/{providerType}/initAuth: post: operationId: initAuth tags: - SDK summary: Initialize oauth auth sequence description: This endpoint initializes a secure oauth authentication sequence by providing the state and current url path to the API. parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' requestBody: description: OAuth temporary auth code content: application/json: schema: $ref: '#/components/schemas/OauthInitAuthRequest' required: true responses: '204': description: Empty response '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/session: get: operationId: sessionCheck summary: Check that session is valid security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '204': description: Empty response '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/scan/websiteUrl: post: summary: Scan a URL for potential malicious activity operationId: scanUrl tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ScanWebsiteUrlRequest' responses: '200': description: Successful scan result content: application/json: schema: $ref: '#/components/schemas/ScanWebsiteUrlResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/solana/simulateTransaction: post: operationId: simulateSVMTransaction tags: - SDK summary: Simulate a Solana transaction parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulateSVMTransactionRequest' required: true responses: '200': description: Simulated transaction result content: application/json: schema: $ref: '#/components/schemas/SimulateTransactionResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/solana/sponsorTransaction: post: operationId: sponsorSVMTransaction tags: - SDK summary: Sponsor a Solana transaction via Grid API description: 'Sponsors a Solana transaction using the Grid API by Squads. The Grid API replaces the fee payer with a sponsored account so users don''t need SOL for gas. Only available for environments with SVM gas sponsorship enabled.' parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/SponsorSVMTransactionRequest' required: true responses: '200': description: Sponsored transaction content: application/json: schema: $ref: '#/components/schemas/SponsorSVMTransactionResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/evm/simulateTransaction: post: operationId: simulateEVMTransaction tags: - SDK summary: Simulate an EVM transaction parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulateEVMTransactionRequest' required: true responses: '200': description: Simulated transaction result content: application/json: schema: $ref: '#/components/schemas/SimulateTransactionResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/evm/simulateUserOp: post: operationId: simulateUserOp tags: - SDK summary: Simulate an EVM AA UserOp parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/SimulateUserOpRequest' required: true responses: '200': description: Simulated transaction result content: application/json: schema: $ref: '#/components/schemas/SimulateTransactionResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/externalAuth/signin: post: operationId: externalAuthSignin summary: Endpoint to sign-in using a token issued by an external auth provider security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalAuthSigninRequest' required: true responses: '200': description: Successful external auth signin response content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/solana/optimizeTransaction: post: summary: Add fees to a Solana transaction operationId: optimizeTransaction tags: - SDK security: - BearerAuth: [] parameters: - name: environmentId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SolanaTransactionOptimizationRequest' responses: '200': description: Successfully optimized transaction content: application/json: schema: $ref: '#/components/schemas/SolanaTransactionOptimizationResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/externalAuth/verify: post: operationId: externalAuthVerify deprecated: true summary: '[DEPRECATED] Please use /externalAuth/signin instead' security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalAuthSigninRequest' required: true responses: '410': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/authToken: get: operationId: getAuthToken summary: Get auth token for given embedded wallet type security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' - in: query name: type schema: $ref: '#/components/schemas/EmbeddedWalletAuthType' responses: '200': description: embedded wallet auth token response content: application/json: schema: $ref: '#/components/schemas/EmbeddedWalletAuthToken' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/passcode: get: operationId: getEmbeddedWalletPasscode summary: Return the passcode for the pregenerated embedded wallet of the authenticated… security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: embedded wallet passcode response content: application/json: schema: $ref: '#/components/schemas/EmbeddedWalletSecret' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/wallets/selection: put: operationId: selectUserWallet summary: Update wallet in a multi-wallet selection description: When a user selects a wallet to be the primary wallet in a multi-wallet enabled environment, this endpoint is called to record this on the backend. security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/UserWalletSelectionRequest' required: true responses: '200': description: Updated standard, minified JWT and full user profile object. content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/passcode/claim: put: operationId: claimEmbeddedWallet summary: Claim a pregenerated embedded wallet security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: content: application/json: schema: $ref: '#/components/schemas/EmbeddedWalletPasscodeClaimRequest' required: true responses: '200': description: Claim embedded wallet response with updated jwt content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/backup: get: operationId: getEmbeddedWalletBackups summary: Return the backup key for the embedded wallet of the authenticated user security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: embedded wallet passcode response content: application/json: schema: $ref: '#/components/schemas/EmbeddedWalletSecret' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/upgradeToV2: post: operationId: upgradeEmbeddedWalletToV2 tags: - SDK summary: Update V1 embedded wallet to V2 requestBody: description: Session info required to upgrade embedded wallet to V2 content: application/json: schema: $ref: '#/components/schemas/UpgradeEmbeddedWalletToV2Request' required: true parameters: - $ref: '#/components/parameters/environmentId' responses: '201': description: Successfully migrated to V2 embedded wallet and refreshed jwt token content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/healthcheck: get: operationId: getHealthcheck tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' description: Health check endpoint to check for uptime of API. responses: '200': description: Healthcheck response content: application/json: schema: $ref: '#/components/schemas/HealthcheckResponse' '500': $ref: '#/components/responses/InternalServerError' summary: Get healthcheck x-summary-source: derived /sdk/{environmentId}/refresh: post: operationId: refreshAuth summary: Endpoint to refresh the JWT auth token using the current valid JWT auth token… security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Successful refreshed jwt token and user content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/emailProvider: get: operationId: getEmailProvider tags: - SDK summary: Get signin email provider description: Return the email provider to be used for signing in with a given email. If an external provider such as magicLink is disabled, this endpoint would return emailOnly. If an external provider such as magicLink is enabled, it will return emailOnly when the email already exists in Dynamic and it is associated with a wallet, otherwise it will return magicLink. parameters: - $ref: '#/components/parameters/environmentId' - in: query required: true name: email allowReserved: true schema: type: string format: email responses: '200': description: Email provider response content: application/json: schema: $ref: '#/components/schemas/EmailProviderResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/{providerType}/loginUrl: get: operationId: oauthLoginUrl tags: - SDK summary: Get redirect URL for Oauth provider login. parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/OauthProviderLoginUrl' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/{providerType}/login: get: operationId: oauthLogin tags: - SDK summary: Get redirect URL for Oauth provider login parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' responses: '302': description: Redirect headers: Location: schema: type: string '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/{providerType}/redirect: get: operationId: oauthRedirectCode tags: - SDK summary: Oauth provider redirect endpoint description: Endpoint where an oauth provider would redirect after a successful user authorizing the oauth application. parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' - in: query name: code allowReserved: true schema: $ref: '#/components/schemas/OAuthCode' - in: query name: scope allowReserved: true schema: type: string - in: query name: state allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: authuser allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: prompt allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: error allowReserved: true schema: $ref: '#/components/schemas/OAuthError' responses: '200': description: Success content: text/html: schema: type: string '302': description: Redirect headers: Location: schema: type: string '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/cbOauthRedirectUrl: get: operationId: cbOauthRedirect tags: - SDK summary: Redirect URL for sign-in with coinbase description: This endpoint proxies requests to `/sdk/{environmentId}/providers/coinbasesocial/redirect` because Coinbase does not allow the string `coinbase` on the redirect URL path parameters: - $ref: '#/components/parameters/environmentId' - in: query name: code allowReserved: true schema: $ref: '#/components/schemas/OAuthCode' - in: query name: scope allowReserved: true schema: type: string - in: query name: state allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: authuser allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: prompt allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: error allowReserved: true schema: $ref: '#/components/schemas/OAuthError' responses: '200': description: Success content: text/html: schema: type: string '302': description: Redirect headers: Location: schema: type: string '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/apple/redirect: post: operationId: oauthRedirectApple tags: - SDK summary: Oauth provider redirect endpoint for apple ID description: Endpoint where an oauth provider would redirect after a successful user authorizing the oauth application. parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Apple ID required stuff content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OauthRedirectRequest' required: true responses: '200': description: Success content: text/html: schema: type: string '302': description: Redirect headers: Location: schema: type: string '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/{providerType}/authorizeHtml: get: operationId: oauthAuthorizeHtml tags: - SDK summary: Oauth provider authorization endpoint description: Endpoint where an oauth provider would return authorization HTML used for mobile-friendly login, such as Apple ID with Touch ID on enabled devices. parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' - in: query name: scope allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: state allowReserved: true schema: $ref: '#/components/schemas/ValidStringQueryParam' - in: query name: redirect_uri allowReserved: true schema: $ref: '#/components/schemas/OauthRedirectUri' responses: '200': description: Success content: text/html: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': description: provider not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/{providerType}/verify: post: operationId: oauthVerify tags: - SDK summary: Oauth provider verify endpoint description: Standard OAuth verify callback to exchange temproary code for oauth access parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' requestBody: description: OAuth temporary auth code content: application/json: schema: $ref: '#/components/schemas/OauthRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/farcaster/signin: post: operationId: farcasterSignIn tags: - SDK summary: Farcaster provider SignIn endpoint description: Farcaster SignIn endpoint to exchange SIWF data parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Sign In Response content: application/json: schema: $ref: '#/components/schemas/FarcasterSignInRequest' responses: '200': description: Sign In Success content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/farcaster/verify: post: operationId: farcasterVerify tags: - SDK summary: Farcaster provider Verify endpoint description: Farcaster Verify endpoint to exchange SIWF data parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Verify Response content: application/json: schema: $ref: '#/components/schemas/FarcasterSignInRequest' responses: '200': description: Verify Success content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/providers/{providerType}/signIn: post: operationId: oauthSignIn tags: - SDK summary: Oauth provider SignIn endpoint description: Standard OAuth SignIn callback to exchange temproary code for oauth access and return a valid Dynamic JWT and user parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' requestBody: description: OAuth temporary auth code and optional verifier credentials for Oauth providers requiring PKCE. content: application/json: schema: $ref: '#/components/schemas/OauthRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/providers/{providerType}/oauthResult: post: operationId: oauthResult tags: - SDK summary: Returns the authorization code or error retuned by oauth provider parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/providerType' requestBody: description: State string sent to oauth provider from sdk during login content: application/json: schema: $ref: '#/components/schemas/OauthResultRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OauthResultResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/nonce: get: operationId: getNonce tags: - SDK summary: Create nonce for authentication flow parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Nonce response content: application/json: schema: $ref: '#/components/schemas/NonceResponse' '500': description: Error response /sdk/{environmentId}/events: post: operationId: publishEvent tags: - SDK summary: Publish events for SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Event Message required: true content: application/json: schema: $ref: '#/components/schemas/PublishEvents' responses: '204': description: Successful response '400': $ref: '#/components/responses/BadRequest' '404': description: Environment not found '500': description: Error response /sdk/{environmentId}/settings: get: operationId: getEnvironmentSettings tags: - SDK summary: Get the environment's settings parameters: - $ref: '#/components/parameters/environmentId' - in: query name: sdkVersion required: false schema: type: string description: The version of the SDK that is making the request responses: '200': description: Project settings response content: application/json: schema: $ref: '#/components/schemas/ProjectSettings' '404': description: Environment not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/sdkSettings: post: operationId: logDynamicSdkSettings tags: - SDK summary: Update SDK settings for a specific environment parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Updated SDK settings required: true content: application/json: schema: $ref: '#/components/schemas/SdkSettingsRequest' responses: '204': description: Success response '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/verify/link: post: operationId: verifyLink summary: Link wallet to user description: Link a wallet to a valid environment user, and return an updated JWT security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Verification data content: application/json: schema: $ref: '#/components/schemas/VerifyRequest' required: true responses: '200': description: Successful link content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/verify/merge: post: operationId: verifyMergeUsers summary: Merge users with conflict resolutions description: Used to merge two users with user-chosen resolutions to conflicting data between the two users to be merged security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Merge resolution data content: application/json: schema: $ref: '#/components/schemas/MergeUserConflictResolutions' required: true responses: '200': description: Successful merge content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/verify/transfer: post: operationId: verifyTransfer summary: Verify wallet transfer description: Used to link a wallet after user has confirmed transfer to the new account security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Verification data content: application/json: schema: $ref: '#/components/schemas/VerifyRequest' required: true responses: '200': description: Successful link content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/revoke: post: operationId: revokeSession summary: Revoke a session security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '204': description: Successful empty response '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/verify/unlink: post: operationId: verifyUnlink summary: unlink wallet from user description: Remove a link from to a valid environment user, and return an updated JWT security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Verification data content: application/json: schema: $ref: '#/components/schemas/VerifyUnlinkRequest' required: true responses: '200': description: Successful link content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/prefetch: post: operationId: prefetch tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: prefetch information for wallet address description: Endpoint to send minimal wallet information to the API to prefetch name service information for an address. requestBody: description: Prefetch data content: application/json: schema: $ref: '#/components/schemas/PrefetchRequest' required: true responses: '202': description: Accepted '400': $ref: '#/components/responses/BadRequest' '404': description: Environment not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/connect: post: operationId: createVisit tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Create a visit description: Endpoint to send minimal wallet information for a connect-only or connect-first visitor. requestBody: description: Connected Visit data content: application/json: schema: $ref: '#/components/schemas/ConnectRequest' required: true responses: '202': description: Accepted '400': $ref: '#/components/responses/BadRequest' '404': description: Environment not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/verify: post: operationId: verify tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Verify payload and return JWT requestBody: description: Verification data content: application/json: schema: $ref: '#/components/schemas/VerifyRequest' required: true responses: '200': description: Successful verify response, that contains the encoded JWT as a string. content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users: put: operationId: updateSelf tags: - SDK summary: Update a user's fields parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: User new fields data content: application/json: schema: $ref: '#/components/schemas/UserFields' required: true responses: '200': description: successful operation - user fields updated content: application/json: schema: $ref: '#/components/schemas/UpdateSelfResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] get: operationId: getAuthenticatedUser tags: - SDK summary: Fetch user profile for the current authenticated user parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: successful lookup content: application/json: schema: $ref: '#/components/schemas/SdkUser' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] delete: operationId: hardDeleteUser summary: Hard delete a user description: Hard delete the authenticated user tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '204': description: Successfully deleted '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/embeddedWallets/recoveryEmail: put: operationId: updateEmbeddedWalletRecoveryEmail tags: - SDK summary: Update a user's V2 recovery email parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Update a user's V2 recovery email content: application/json: schema: $ref: '#/components/schemas/UpdateRecoveryEmailRequest' required: true responses: '204': description: Empty response '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/passkeys: get: operationId: getUserPasskeys tags: - SDK summary: Gets passkey data associated with a user parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: successful operation - user passkeys fetched content: application/json: schema: $ref: '#/components/schemas/GetUserPasskeysResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] put: operationId: updatePasskey tags: - SDK summary: Update a passkey's info parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: update user passkey parameters content: application/json: schema: $ref: '#/components/schemas/UpdateUserPasskeyRequest' required: true responses: '200': description: successful operation - passkey updated content: application/json: schema: $ref: '#/components/schemas/UserPasskey' '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] delete: operationId: deletePasskey tags: - SDK summary: Delete a passkey parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: delete user passkey parameters content: application/json: schema: $ref: '#/components/schemas/DeleteUserPasskeyRequest' required: true responses: '204': description: successful operation - passkey deleted '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/passkeys/register: get: operationId: getPasskeyRegistrationOptions tags: - SDK summary: Gets passkey data associated with a user parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: returns passkey registration options content: application/json: schema: $ref: '#/components/schemas/GetPasskeyRegistrationOptionsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' post: operationId: registerPasskey tags: - SDK summary: Register a new passkey parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: passkey registration data content: application/json: schema: $ref: '#/components/schemas/PasskeyRegisterRequest' required: true responses: '200': description: returns verify response content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '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: [] /sdk/{environmentId}/users/passkeys/authenticate: get: operationId: getPasskeyAuthenticationOptions tags: - SDK summary: Gets passkey authentication options parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/relatedOriginRpId' responses: '200': description: returns passkey authentication options content: application/json: schema: $ref: '#/components/schemas/GetPasskeyAuthenticationOptionsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/passkeys/signin: post: operationId: signinWithPasskey tags: - SDK summary: Authenticate a passkey parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: passkey authentication data content: application/json: schema: $ref: '#/components/schemas/PasskeyAuthRequest' required: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' get: operationId: getPasskeyAuthenticationSigninOptions tags: - SDK summary: Gets passkey authentication options parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/relatedOriginRpId' responses: '200': description: returns passkey authentication options content: application/json: schema: $ref: '#/components/schemas/GetPasskeyAuthenticationOptionsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/mfa: get: operationId: getUserMfaDevices tags: - SDK summary: Get the current user's MFA Devices parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/MFAListDevicesResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/methods: get: operationId: getUserMfaMethods tags: - SDK summary: Get the current user's MFA Methods parameters: - $ref: '#/components/parameters/environmentId' - in: query name: verifiedOnly required: false schema: type: boolean default: true responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/MFAMethodsResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/{mfaDeviceId}: get: operationId: getMfaDevice tags: - SDK summary: Get the current user's MFA by device id parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/mfaDeviceId' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/MFADevice' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] put: operationId: updateUserMfaDevice tags: - SDK summary: Update a device parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/mfaDeviceId' requestBody: content: application/json: schema: $ref: '#/components/schemas/MFAUpdateDeviceRequest' responses: '204': description: Empty response '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] delete: operationId: deleteMfaDevice tags: - SDK summary: Delete a device (if not default device) parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/mfaDeviceId' - $ref: '#/components/parameters/mfaAuthToken' responses: '204': description: Empty response '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/register/totp: get: operationId: registerTotpMfaDevice tags: - SDK summary: Register a new TOTP MFA device and get Totp Secret parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/MFARegisterTotpDeviceGetResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] post: operationId: registerTotpMfaDeviceVerify tags: - SDK summary: Verify TOTP MFA device parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: totp code content: application/json: schema: $ref: '#/components/schemas/MFARegisterTotpDevicePostRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/MFADevice' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/auth/totp: post: operationId: authMfaTotpDevice tags: - SDK summary: Upgrade JWT scope with valid MFA session parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: totp code content: application/json: schema: $ref: '#/components/schemas/MFAAuthTotpDevicePostRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/register/passkey: get: operationId: registerPasskeyMfaDevice tags: - SDK summary: Register a new Passkey MFA device parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/MFARegisterPasskeyDeviceGetResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] post: operationId: registerPasskeyMfaDeviceVerify tags: - SDK summary: Verify Passkey MFA device parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: totp code content: application/json: schema: $ref: '#/components/schemas/MFARegisterPasskeyDevicePostRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/auth/passkey: post: operationId: authenticateMfaPasskeyDevice tags: - SDK summary: Upgrade JWT scope with valid MFA session parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: passkey response content: application/json: schema: $ref: '#/components/schemas/PasskeyAuthRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/auth/email: post: operationId: authenticateMfaEmail tags: - SDK summary: Upgrade JWT scope with valid MFA session parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: email verification response content: application/json: schema: $ref: '#/components/schemas/EmailVerificationMfaRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/auth/recovery: post: operationId: authMfaRecovery tags: - SDK summary: Upgrade JWT scope with valid MFA session parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: totp code content: application/json: schema: $ref: '#/components/schemas/MFAAuthRecoveryDevicePostRequest' required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/mfa/recovery: get: operationId: getRecoveryCodes tags: - SDK summary: Get recovery codes parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: successful operation content: application/json: schema: $ref: '#/components/schemas/MFAGetRecoveryCodesResponse' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] post: operationId: createNewRecoveryCodes tags: - SDK summary: Generate new recovery codes for user parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/MFARegenRecoveryCodesResponse' '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/users/merge: post: operationId: mergeUsers summary: After successful verification allow to merge two owned accounts description: Used to merge two owned accounts connected by email address security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Successful merge content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/{walletId}/softDelete: delete: operationId: softDeleteEmbeddedWallet summary: Soft delete an embedded wallet security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' responses: '204': description: Empty response '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/{walletId}/restore: put: operationId: restoreEmbeddedWallet summary: Restore an embedded wallet security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' responses: '204': description: Empty response '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets: post: operationId: createEmbeddedWallets summary: Create one or more new embedded wallets for a user description: Create one or more embedded wallets for a user security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Embedded wallet fields content: application/json: schema: $ref: '#/components/schemas/CreateEmbeddedWalletsRequest' required: true responses: '201': description: Successfully created Embedded wallet(s) content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' delete: operationId: deleteEmbeddedWallets summary: Deletes the embedded wallets for a user security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Delete wallet fields content: application/json: schema: $ref: '#/components/schemas/DeleteEmbeddedWalletsRequest' responses: '204': description: Successfully deleted Embedded wallet(s) '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/deleteRequest: get: deprecated: true operationId: legacyGetEmbeddedWalletsDeleteRequest summary: Generates the turnkey request body for a user's delete wallets request parameters: - $ref: '#/components/parameters/environmentId' security: - bearerAuth: [] tags: - SDK responses: '200': description: V2 DeleteWalletsRequest body (deprecated) content: application/json: schema: $ref: '#/components/schemas/TurnkeyDeleteEmbeddedWalletsRequestBody' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/{walletId}/deleteRequest: get: operationId: GetEmbeddedWalletsDeleteRequest summary: Generates the request body for a user's delete V2 wallets request parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' security: - bearerAuth: [] tags: - SDK responses: '200': description: V2 DeleteWalletsRequest body content: application/json: schema: $ref: '#/components/schemas/TurnkeyDeleteEmbeddedWalletsRequestBody' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/walletAccounts: post: operationId: CreateWalletAccount summary: Add a wallet account to a user's existing V2 wallet security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Create wallet account fields content: application/json: schema: $ref: '#/components/schemas/CreateWalletAccountRequest' required: true responses: '201': description: Updated JWT content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/walletAccounts/createRequest: get: operationId: GetCreateWalletAccountRequest summary: Generates the request body for a user's create V2 wallet account request security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' - in: query name: chain schema: $ref: '#/components/schemas/EmbeddedWalletChainEnum' required: true responses: '200': description: V2 CreateWalletAccountRequest body content: application/json: schema: $ref: '#/components/schemas/TurnkeyCreateWalletAccountsRequestBody' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/emailAuth: post: operationId: initEmailAuth summary: Initialize the email authentication process for a user's embedded wallet security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Init email auth fields content: application/json: schema: $ref: '#/components/schemas/InitEmailAuthRequest' required: true responses: '200': description: Init email auth response content: application/json: schema: $ref: '#/components/schemas/InitEmailAuthResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/passkeyRecovery: post: operationId: initPasskeyRecovery summary: Initialize the passkey recovery process for a user's passkey embedded wallet security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Init passkey recovery fields content: application/json: schema: $ref: '#/components/schemas/InitPasskeyRecoveryRequest' required: true responses: '201': description: Init passkey recovery response content: application/json: schema: $ref: '#/components/schemas/InitPasskeyRecoveryResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' put: operationId: completePasskeyRecovery summary: Completes the passkey recovery process for a user's passkey embedded wallet security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Complete passkey recovery fields content: application/json: schema: $ref: '#/components/schemas/CompletePasskeyRecoveryRequest' required: true responses: '201': description: Successfully completed passkey recovery content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/users/embeddedWallets/sessionKey: post: operationId: registerSessionKey summary: Registers a session key for an embedded wallet tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Register session key body content: application/json: schema: $ref: '#/components/schemas/RegisterSessionKeyRequest' required: true responses: '200': description: Register session key response content: application/json: schema: $ref: '#/components/schemas/RegisterEmbeddedWalletSessionKeyResponse' '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: [] /sdk/{environmentId}/users/embeddedWallets/{walletId}/activities/{activityId}/export: get: operationId: embeddedWalletExport summary: Requests an export of an embedded wallet tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' - $ref: '#/components/parameters/activityId' responses: '200': description: Wallet activity content: application/json: schema: $ref: '#/components/schemas/ExportEmbeddedWalletResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Wallet not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/networks: get: summary: Find the configuration for the enabled networks associated to an environment operationId: getNetworksConfigurationByEnvId tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Networks configuration response content: application/json: schema: type: array items: $ref: '#/components/schemas/NetworkConfigurationResponse' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/onramps: get: summary: Configuration for enabled onramps description: Find the configuration for the enabled onramps associated to an environment operationId: getSupportedOnramps tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' - in: query name: walletAddress schema: $ref: '#/components/schemas/ValidStringQueryParam' required: true - in: query name: chain schema: $ref: '#/components/schemas/ValidStringQueryParam' required: true - in: query name: networkId schema: $ref: '#/components/schemas/ValidStringQueryParam' required: false - in: query name: token schema: $ref: '#/components/schemas/ValidStringQueryParam' required: false - in: query name: tokenAmount schema: type: number required: false - in: query name: includeDisabled schema: type: boolean required: false - in: query name: currency schema: $ref: '#/components/schemas/ValidStringQueryParam' required: false - in: query name: merchantName schema: $ref: '#/components/schemas/ValidStringQueryParam' required: false description: Optional merchant display name to append to provider URLs when supported responses: '200': description: Supported onramps response content: application/json: schema: $ref: '#/components/schemas/SupportedOnrampsResponse' '400': $ref: '#/components/responses/BadRequest' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/onramps/coinbase/networks: get: summary: Get Coinbase supported networks description: Get a list of all networks supported by Coinbase onramp operationId: getCoinbaseSupportedNetworks tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Array of supported networks content: application/json: schema: type: array items: type: string '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/onramps/coinbase/orders: post: summary: Create a Coinbase onramp order operationId: createCoinbaseOnrampOrder security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Coinbase onramp order data content: application/json: schema: $ref: '#/components/schemas/CoinbaseOnrampOrderCreateRequest' required: true responses: '200': description: Successfully created a Coinbase onramp order content: application/json: schema: $ref: '#/components/schemas/CoinbaseOnrampOrderResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/onramps/coinbase/buy: post: summary: Generate a Coinbase onramp buy URL operationId: generateCoinbaseOnrampBuyUrl tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Coinbase onramp order data content: application/json: schema: $ref: '#/components/schemas/CoinbaseOnrampGetBuyUrlRequest' required: true responses: '200': description: Successfully generated a Coinbase onramp buy URL content: application/json: schema: $ref: '#/components/schemas/CoinbaseOnrampGetBuyUrlResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/onramps/cryptoDotCom/payment: post: summary: Start Crypto.com payment description: Create a Crypto.com payment and return the payment payload (URL and optional QR code) operationId: createCryptoDotComPayment security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CryptoDotComPaymentCreateRequest' responses: '200': description: Crypto.com payment payload content: application/json: schema: $ref: '#/components/schemas/CryptoDotComPaymentResponse' '400': $ref: '#/components/responses/BadRequest' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/emailVerifications/create: post: operationId: createEmailVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Initialize email verification process requestBody: description: Email Verification data content: application/json: schema: $ref: '#/components/schemas/EmailVerificationCreateRequest' required: true responses: '201': description: Successful response, that contains verification UUID. content: application/json: schema: $ref: '#/components/schemas/EmailVerificationCreateResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/smsVerifications/create: post: operationId: createSmsVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Initialize sms verification process requestBody: description: Sms Verification data content: application/json: schema: $ref: '#/components/schemas/SmsVerificationCreateRequest' required: true responses: '201': description: Successful response, that contains verification UUID. content: application/json: schema: $ref: '#/components/schemas/SmsVerificationCreateResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/smsVerifications/retry: post: operationId: retrySmsVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Send new code for sms verification requestBody: description: Sms Verification Id content: application/json: schema: $ref: '#/components/schemas/SmsVerificationRetryRequest' required: true responses: '201': description: Successful response, a new code has been set content: application/json: schema: $ref: '#/components/schemas/SmsVerificationCreateResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/smsVerifications/verify: post: operationId: verifySmsVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' security: - bearerAuth: [] summary: Verify sms verification request requestBody: description: Sms Verification data content: application/json: schema: $ref: '#/components/schemas/SmsVerificationVerifyRequest' required: true responses: '200': description: Successful response, that contains verification UUID. content: application/json: schema: $ref: '#/components/schemas/UpdateSelfResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/smsVerifications/signin: post: operationId: signInWithSmsVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Verify an sms and sign in user requestBody: description: Sms Verification data content: application/json: schema: $ref: '#/components/schemas/SmsVerificationVerifyRequest' required: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/emailVerifications/verify: post: operationId: verifyEmailVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' security: - bearerAuth: [] summary: Verify email verification request requestBody: description: Email Verification data content: application/json: schema: $ref: '#/components/schemas/EmailVerificationVerifyRequest' required: true responses: '200': description: Successful response, that contains verification UUID. content: application/json: schema: $ref: '#/components/schemas/UpdateSelfResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/emailVerifications/signin: post: operationId: signInWithEmailVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Verify an email and sign in user requestBody: description: Email Verification data content: application/json: schema: $ref: '#/components/schemas/EmailVerificationVerifyRequest' required: true responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/emailVerifications/retry: post: operationId: retryEmailVerification tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' summary: Send new code for email verification requestBody: description: Email Verification Id content: application/json: schema: $ref: '#/components/schemas/EmailVerificationRetryRequest' required: true responses: '201': description: Successful response, a new code has been set content: application/json: schema: $ref: '#/components/schemas/EmailVerificationCreateResponse' '400': $ref: '#/components/responses/BadRequest' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/.well-known/jwks: get: summary: Find jwks for public key operationId: getJwksByEnvironmentId tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: public key with standard jwks format content: application/json: schema: $ref: '#/components/schemas/JwksResponse' '404': description: Environment not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/.well-known/jwks.json: get: summary: Find jwks for public key (JSON format) operationId: getJwksJsonByEnvironmentId tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: public key with standard jwks format content: application/json: schema: $ref: '#/components/schemas/JwksResponse' '404': description: Environment not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/exchangeRates: get: operationId: getCurrencyExchangeRates tags: - SDK description: Exchange rates for the given currency parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Exchange rates response content: application/json: schema: $ref: '#/components/schemas/ExchangeRatesResponse' '500': $ref: '#/components/responses/InternalServerError' summary: Get currency exchange rates x-summary-source: derived /sdk/{environmentId}/chains/{chainName}/balances: get: operationId: getAccountBalances tags: - SDK summary: Get the token balances for an account parameters: - $ref: '#/components/parameters/environmentId' - in: path name: chainName required: true schema: $ref: '#/components/schemas/ChainEnum' - in: query name: networkId required: false schema: type: number - in: query name: accountAddress required: true schema: $ref: '#/components/schemas/EthSolBtcSuiFlowCosmosTronWalletAddress' - in: query name: includePrices required: false schema: type: boolean - in: query name: includeNative required: false schema: type: boolean - in: query name: filterSpamTokens description: If false, the balance requests will not be filtered for spam tokens required: false schema: type: boolean - in: query name: whitelistedContracts description: Contracts to not filter out in the response required: false schema: type: array items: type: string - in: query name: forceRefresh description: If true, the balance requests will be refreshed within rate limits required: false schema: type: boolean responses: '200': description: List of token balances content: application/json: schema: type: array items: $ref: '#/components/schemas/TokenBalance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/balances: post: operationId: postMultichainAccountBalances tags: - SDK summary: Get account balances for multiple addresses parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Array of account addresses with chains and network IDs required: true content: application/json: schema: $ref: '#/components/schemas/MultichainAccountBalancesRequest' responses: '200': description: Token balances organized by chain and network content: application/json: schema: $ref: '#/components/schemas/MultichainAccountBalanceResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/telegram/auth: get: operationId: getTelegramAuth tags: - SDK summary: Get HTML with rendered Telegram login widget parameters: - $ref: '#/components/parameters/environmentId' - name: state in: query required: true schema: $ref: '#/components/schemas/ValidStringQueryParam' responses: '200': description: HTML content for Telegram authentication content: text/html: schema: type: string '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '500': $ref: '#/components/responses/InternalServerError' post: operationId: postTelegramAuth tags: - SDK summary: Handle Telegram authentication parameters: - $ref: '#/components/parameters/environmentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TelegramPostRequest' responses: '202': description: Accepted '400': $ref: '#/components/responses/BadRequest' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/telegram/signin: post: operationId: telegramSignIn tags: - SDK summary: Telegram provider SignIn endpoint parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Sign In Request content: application/json: schema: $ref: '#/components/schemas/OauthResultRequest' responses: '200': description: Sign In Success content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/checkTelegramAuth: post: operationId: telegramCheckAuth tags: - SDK summary: Telegram provider check auth parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Telegram Check Auth content: application/json: schema: $ref: '#/components/schemas/OauthResultRequest' responses: '204': description: The user is recognized '403': $ref: '#/components/responses/ForbiddenWithErrorAndPayload' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/telegram/verify: post: operationId: telegramVerify tags: - SDK summary: Telegram provider Verify endpoint parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Verify Response content: application/json: schema: $ref: '#/components/schemas/OauthResultRequest' responses: '200': description: Verify Success content: application/json: schema: $ref: '#/components/schemas/VerifyResponse' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/waas/create: post: operationId: createWaasAccount summary: Create a new waas account security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Create Waas Account Request required: true content: application/json: schema: $ref: '#/components/schemas/CreateWaasAccountRequest' responses: '200': description: Successfully created a room for waas account creation ceremony content: application/json: schema: $ref: '#/components/schemas/OpenRoomResponseWithServerKeygenIds' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/createRooms: post: operationId: createRooms security: - bearerAuth: [] tags: - SDK summary: Create rooms for a waas mpc ceremony parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Create Rooms Request required: true content: application/json: schema: $ref: '#/components/schemas/CreateRoomsRequest' responses: '200': description: Successfully created a room for a waas mpc ceremony content: application/json: schema: $ref: '#/components/schemas/CreateRoomsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/createRooms: post: operationId: createRoomsWithoutWalletId security: - bearerAuth: [] tags: - SDK summary: Create rooms for a waas mpc ceremony without a walletId parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Create Rooms Without WalletId Request required: true content: application/json: schema: $ref: '#/components/schemas/CreateRoomsWithoutWalletIdRequest' responses: '200': description: Successfully created rooms for a waas mpc ceremony content: application/json: schema: $ref: '#/components/schemas/CreateRoomsWithoutWalletIdResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/refresh: post: operationId: refreshKeyShares security: - bearerAuth: [] tags: - SDK summary: Refresh keyshares parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' responses: '200': description: Successfully created a room for refresh keyshares ceremony content: application/json: schema: $ref: '#/components/schemas/OpenRoomResponseWithServerKeygenIds' /sdk/{environmentId}/waas/privateKey/import: post: operationId: importPrivateKey description: Import a private key to create a waas account summary: Import an existing private key to create a waas account security: - bearerAuth: [] tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' requestBody: description: Import Private Key Request required: true content: application/json: schema: $ref: '#/components/schemas/ImportWaasPrivateKeyRequest' responses: '200': description: Successfully created a room for wallet private key import ceremony content: application/json: schema: $ref: '#/components/schemas/OpenRoomResponseWithServerKeygenIds' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/privateKey/export: post: operationId: exportPrivateKey security: - bearerAuth: [] tags: - SDK summary: Export private Key of a waas account parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Export Private Key Request required: true content: application/json: schema: $ref: '#/components/schemas/ExportWaasWalletPrivateKeyRequest' responses: '200': description: Successfully created a room for wallet private key export ceremony content: application/json: schema: $ref: '#/components/schemas/OpenRoomResponseWithServerKeygenIds' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/signMessage: post: operationId: signMessage security: - bearerAuth: [] tags: - SDK summary: Sign a message with a waas account parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Sign Message Request required: true content: application/json: schema: $ref: '#/components/schemas/SignMessageWithWaasRequest' responses: '200': description: Successfully created a room for signing message ceremony content: application/json: schema: $ref: '#/components/schemas/OpenRoomResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/keyShares/backup: post: operationId: backupKeyShares security: - bearerAuth: [] tags: - SDK summary: Backup multiple keyShares for a waaS wallet parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Backup multiple keyShares request required: true content: application/json: schema: $ref: '#/components/schemas/BackupMultipleClientKeySharesRequest' responses: '201': description: Backup KeyShares Success content: application/json: schema: $ref: '#/components/schemas/BackupMultipleClientKeySharesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/keyShares/backup/googleDrive: post: operationId: backupKeySharesToGoogleDrive security: - bearerAuth: [] tags: - SDK summary: Backup multiple keyShares for a waaS wallet to Google Drive parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' responses: '201': description: Backup KeyShares Success to Google Drive content: application/json: schema: $ref: '#/components/schemas/BackupMultipleClientKeySharesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/keyShares/backup/location: post: operationId: backupKeySharesToLocation security: - bearerAuth: [] tags: - SDK summary: Create backup action and event for a specified location without performing… parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Backup location request required: true content: application/json: schema: $ref: '#/components/schemas/BackupKeySharesToLocationRequest' responses: '201': description: Backup action and event created successfully content: application/json: schema: $ref: '#/components/schemas/BackupKeySharesToLocationResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/keyShares/backup/locations: post: operationId: backupKeySharesToLocations security: - bearerAuth: [] tags: - SDK summary: Create backup action and event for multiple locations without performing actual… parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Backup locations request required: true content: application/json: schema: $ref: '#/components/schemas/BackupKeySharesToLocationsRequest' responses: '201': description: Backup action and event created successfully content: application/json: schema: $ref: '#/components/schemas/BackupKeySharesToLocationsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/keyShares/recover: post: operationId: recoverKeyShares security: - bearerAuth: [] tags: - SDK summary: Recover multiple keyShares parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Optional keyShareIds to recover. If not provided, all client keyShares for the wallet will be recovered. required: false content: application/json: schema: $ref: '#/components/schemas/RecoverMultipleClientKeySharesRequest' responses: '200': description: Recover keyShares Success content: application/json: schema: $ref: '#/components/schemas/RecoverMultipleClientKeySharesResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/reshare: post: operationId: reshare security: - bearerAuth: [] tags: - SDK summary: Reshare secret shares and update the threshold parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Reshare Request required: true content: application/json: schema: $ref: '#/components/schemas/ReshareRequest' responses: '200': description: Successfully created a room for reshare ceremony content: application/json: schema: $ref: '#/components/schemas/OpenRoomResponseForReshare' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/{walletId}/delegatedAccess/delivery: post: operationId: deliverDelegatedShare security: - bearerAuth: [] tags: - SDK summary: Deliver encrypted delegated share description: Accepts delivery of the encrypted delegated share. parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: Encrypted delegated share delivery request required: true content: application/json: schema: $ref: '#/components/schemas/DelegatedShareDeliveryRequest' responses: '202': description: Delegated share accepted for processing content: application/json: schema: $ref: '#/components/schemas/DelegatedShareDeliveryResponse' '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' /sdk/{environmentId}/waas/{walletId}/settings: put: operationId: updateWaasWalletSettings security: - bearerAuth: [] tags: - SDK summary: Update the WAAS wallet settings for the wallet description: Updates the settings for a WAAS wallet parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletId' requestBody: description: WAAS wallet settings to update required: true content: application/json: schema: $ref: '#/components/schemas/UpdateWaasWalletSettingsRequest' responses: '200': description: Successfully updated WAAS wallet settings content: application/json: schema: $ref: '#/components/schemas/UpdateWaasWalletSettingsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/globalWallets/settings: get: operationId: getGlobalWalletsSettings tags: - SDK summary: Get the global wallet settings for the environment parameters: - $ref: '#/components/parameters/environmentId' responses: '200': description: Global wallets settings response content: application/json: schema: $ref: '#/components/schemas/GlobalWalletSettings' '404': description: Global wallets settings not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/globalWallets/connections: post: operationId: createGlobalWalletConnection tags: - SDK summary: Track a global wallet connection security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/environmentId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GlobalWalletConnectionCreateRequest' responses: '201': description: Successfully created global wallet connection tracking content: application/json: schema: $ref: '#/components/schemas/GlobalWalletConnection' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/globalWallets/connections/{globalWalletConnectionId}/disconnect: put: operationId: disconnectGlobalWalletConnection tags: - SDK summary: Set a global wallet connection as disconnected security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/globalWalletConnectionId' responses: '200': description: Successfully updated global wallet connection status content: application/json: schema: $ref: '#/components/schemas/GlobalWalletConnection' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/oauthAccounts/{oauthAccountId}/accessToken: get: operationId: getEndUserOauthAccessToken tags: - SDK summary: Get the access token for a user OAuth account parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/oauthAccountId' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/UserOauthAccessTokenResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/offramps: get: summary: Configuration for enabled offramps description: Find the configuration for the enabled offramps associated to an environment operationId: getSupportedOfframps tags: - SDK parameters: - $ref: '#/components/parameters/environmentId' - in: query name: walletAddress schema: $ref: '#/components/schemas/ValidStringQueryParam' required: true - in: query name: chain schema: $ref: '#/components/schemas/ValidStringQueryParam' required: true - in: query name: networkId schema: $ref: '#/components/schemas/ValidStringQueryParam' required: false - in: query name: token schema: $ref: '#/components/schemas/ValidStringQueryParam' required: false responses: '200': description: Supported offramps response content: application/json: schema: $ref: '#/components/schemas/SupportedOfframpsResponse' '400': $ref: '#/components/responses/BadRequest' '404': description: Not found '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/exchange/{exchangeKey}/accounts: get: operationId: getUserAccounts security: - bearerAuth: [] tags: - SDK summary: Get the exchange accounts for a given dynamic user parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/exchangeKey' - in: query name: networkId schema: type: number - in: query name: chainName schema: $ref: '#/components/schemas/ChainEnum' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccountList' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/exchange/{exchangeKey}/accounts/transactions: get: operationId: getExchangeTransactions security: - bearerAuth: [] tags: - SDK summary: Get the exchange account transactions for a given dynamic user parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/exchangeKey' - in: query name: accountId schema: $ref: '#/components/schemas/uuid' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/TransactionList' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/exchange/{exchangeKey}/accounts/{accountId}/transfer: post: operationId: postExchangeAccountTransfer security: - bearerAuth: [] tags: - SDK summary: Transfer funds from an exchange account to an external address or another… parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/exchangeKey' - $ref: '#/components/parameters/accountId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateExchangeTransferRequest' responses: '201': description: Transfer created successfully content: application/json: schema: $ref: '#/components/schemas/ExchangeTransferResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/exchange/{exchangeKey}/accounts/transfer/destinations: get: operationId: getExchangeTransferDestinations security: - bearerAuth: [] tags: - SDK summary: Get the available exchange transfer destinations for account transactions for a… parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/exchangeKey' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/TransferDestinationResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': description: Not found '422': $ref: '#/components/responses/UnprocessableEntity' '500': $ref: '#/components/responses/InternalServerError' /sdk/{environmentId}/waas/byWalletAddress/{walletAddress}: get: operationId: getWaasWalletWithVerifiedCredentials tags: - SDK summary: Fetch a single WaaS wallet with verified credentials description: 'Fetches a single WaaS wallet and returns it with the same payload structure as the users endpoint. This endpoint returns user information along with verified credentials filtered to only include the specified WaaS wallet.' parameters: - $ref: '#/components/parameters/environmentId' - $ref: '#/components/parameters/walletAddress' responses: '200': description: WaaS wallet fetched successfully content: application/json: schema: $ref: '#/components/schemas/SdkUser' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/chains/{chainName}/transactions/{address}: get: operationId: getWalletTransactions tags: - SDK summary: Get transactions for a wallet address description: Fetches the list of transactions for a given wallet address within an environment. parameters: - $ref: '#/components/parameters/environmentId' - in: path name: chainName required: true schema: $ref: '#/components/schemas/ChainEnum' - in: path name: address required: true schema: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' description: Public key (address) of the wallet - in: query name: networkId schema: type: number required: true - in: query name: limit schema: type: integer minimum: 1 maximum: 100 required: false - in: query name: offset schema: type: string required: false responses: '200': description: Wallet transactions fetched successfully content: application/json: schema: $ref: '#/components/schemas/WalletTransactionsResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' security: - bearerAuth: [] /sdk/{environmentId}/ssoProvider: post: parameters: - $ref: '#/components/parameters/environmentId' operationId: checkSsoProvider tags: - SDK summary: Check SSO provider for email domain description: Check if an email domain has an associated SSO provider configuration. Returns the authentication type (otp or sso) and optionally the provider name. requestBody: description: Email to check for SSO provider content: application/json: schema: $ref: '#/components/schemas/SsoProviderCheckRequest' required: true responses: '200': description: SSO provider check response content: application/json: schema: $ref: '#/components/schemas/SsoProviderCheckResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' components: schemas: SignMessageEvmTypedData: type: object description: EIP-712 typed data payload properties: domain: $ref: '#/components/schemas/Eip712Domain' message: type: object description: Typed data message object primaryType: type: string types: $ref: '#/components/schemas/Eip712Types' required: - domain - message - primaryType - types EmbeddedWalletProviderEnum: type: string description: Values 'turnkey' and 'turnkeyhd' are deprecated and will be removed in a future version. enum: - turnkey - turnkeyhd - dynamicWaas ScanWebsiteUrlRequest: type: object required: - url properties: url: $ref: '#/components/schemas/NonEmptyUrlWith255MaxLength' MergeUserConflictResolution: type: object description: Contains the field key and the userId for whose information we need to keep required: - userId - fieldKey - type properties: userId: $ref: '#/components/schemas/uuid' fieldKey: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' type: $ref: '#/components/schemas/KycFieldType' ExchangeTransferResponse: type: object required: - id - amount - currency properties: id: $ref: '#/components/schemas/uuid' exchangeAccountId: $ref: '#/components/schemas/uuid' status: type: string description: Current status of the transaction amount: type: number description: the amount to transfer currency: type: string description: Chain symbol that funds are to be transferred in. createdAt: type: string format: date-time EmailVerificationMfaRequest: required: - verificationUUID - verificationToken type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' verificationToken: $ref: '#/components/schemas/sixDigitsVerificationToken' createMfaToken: $ref: '#/components/schemas/CreateMfaToken' Unauthorized: type: object properties: error: type: string example: No jwt provided! AuthStorageEnum: type: string description: Location in the browser where Dynamic will attempt to store the JWT token. enum: - localstorage - cookie OauthRequest: type: object required: - state properties: code: type: string description: Temporary auth code for oauth2 access codeVerifier: type: string description: Temporary auth code verifier for oauth2 access state: type: string description: Temporary auth state for oauth2 access captchaToken: type: string description: Optional captcha token to verify that the user is not a bot sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' ssoProviderId: $ref: '#/components/schemas/uuid' ProjectSettingsGeneralApps: type: object additionalProperties: type: - string - 'null' format: url example: slack: https://dynamic.xyz twitter: https://dynamic.xyz OptionalNonEmptyUrlWithLocalhostAndDeepLink: type: string pattern: ^$|^((https?:\/\/)?([a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}|localhost)(:[0-9]{1,5})?(\/.*)?|([a-zA-Z+-]{2,20}):\/\/(?!.*\*.*\*.*)[-*a-zA-Z0-9.-\/]{0,255}(:[*0-9]{1,5})?((\/|\?).*)?)$ example: https://website-sample.com EmailProviderResponse: type: object required: - emailProvider properties: emailProvider: $ref: '#/components/schemas/ProviderEnum' PublicKeyCredentialType: type: string enum: - public-key FeatureFlags: type: object required: - connectOnlyMultiAsset - enableExchanges properties: connectOnlyMultiAsset: type: boolean enableExchanges: type: boolean CreateTurnkeyEmbeddedWalletSpecificOpts: deprecated: true type: object required: - attestation - challenge properties: attestation: $ref: '#/components/schemas/PasskeyRegistrationCredential' challenge: $ref: '#/components/schemas/NonEmptyString' CryptoDotComPaymentCreateRequest: type: object required: - amount - currency - walletAddress - chain properties: amount: type: number description: A positive integer representing how much to collect in the smallest currency unit (e.g., 100 cents to collect $1.00). Refer to [Pricing Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies) for the smallest unit for each currency. example: 100 currency: type: string description: Three-letter currency code for the payment amount (pricing currency). Must be a supported fiat currency / cryptocurrency. Refer to [Pricing Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies) for the currency code. example: USD description: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' metadata: type: object description: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. orderId: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' subMerchantId: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' walletAddress: $ref: '#/components/schemas/WalletPublicKey' networkId: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' chain: $ref: '#/components/schemas/ChainEnum' merchantName: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' SdkViewType: type: string enum: - login OnrampProviders: type: string enum: - banxa - coinbaseOnramp - cryptoDotCom SignInProviderEnum: type: string description: The 'turnkey' value is deprecated and will be removed in a future version. enum: - dynamic - magicLink - blocto - turnkey - coinbaseWaas TurnkeyStamp: deprecated: true required: - stampHeaderName - stampHeaderValue type: object properties: stampHeaderName: $ref: '#/components/schemas/NonEmptyString' stampHeaderValue: type: string SmsVerificationVerifyRequest: required: - verificationUUID - verificationToken type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' verificationToken: $ref: '#/components/schemas/sixDigitsVerificationToken' captchaToken: $ref: '#/components/schemas/captchaToken' sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' SolanaTransactionOptimizationResponse: type: object required: - transaction properties: transaction: type: string ProjectSettingsDesignModal: type: object properties: border: type: string brand: type: string primaryColor: type: string radius: type: integer theme: type: string view: type: string template: type: string displayOrder: type: array items: type: string emailOnly: type: boolean showWalletsButton: type: boolean emailSubmitButtonInsideInput: type: boolean splitEmailAndSocial: type: boolean socialAboveEmail: type: boolean ProviderKernelVersionEnum: type: string enum: - v2_4 - v3_0 - v3_1 - v3_2 - v3_3 PriceData: type: object properties: nativeTokenUsdPrice: type: number SsoProviderCheckRequest: type: object required: - email properties: email: type: string format: email description: Email address to check for SSO provider BackupKeySharesToLocationRequest: type: object required: - location properties: location: $ref: '#/components/schemas/WaasBackupOptionsEnum' 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' MFARegisterTotpDeviceGetResponse: type: object required: - type - id - secret - uri properties: id: $ref: '#/components/schemas/uuid' type: $ref: '#/components/schemas/MFADeviceType' secret: type: string description: The secret key for the TOTP device uri: type: string description: The OTP Auth URI JwtVerifiedCredentialFormatEnum: type: string enum: - blockchain - email - oauth - passkey - phoneNumber - externalUser PasskeyExcludeCredential: type: object required: - id - type properties: id: type: string description: Base64URL encoded credential ID transports: type: array items: $ref: '#/components/schemas/PasskeyTransport' type: $ref: '#/components/schemas/PasskeyCredentialType' Duration: type: object required: - amount - unit properties: amount: type: integer unit: $ref: '#/components/schemas/TimeUnitEnum' SignMessageWithWaasRequest: type: object required: - message properties: message: $ref: '#/components/schemas/NonEmptyStringWith16384MaxLength' isFormatted: type: boolean roomId: type: string context: $ref: '#/components/schemas/SignMessageContext' bitcoinConfig: $ref: '#/components/schemas/WalletBitcoinConfig' MFARegisterPasskeyDevicePostRequest: type: object required: - id - attestation properties: id: $ref: '#/components/schemas/uuid' attestation: $ref: '#/components/schemas/PasskeyRegisterVerifyRequest' NameServiceSdkSettings: type: object required: - evm properties: evm: type: object properties: domain: type: string description: Top-level ENS domain for the environment for EVM embedded wallets in this environment WalletTransactionAssetTransfer: type: object required: - fromAddress - toAddress - amount properties: tokenAddress: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' fromAddress: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' toAddress: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' amount: type: number description: Amount of the asset transferred metadata: type: object properties: name: type: string description: Name of the asset symbol: type: string description: Symbol of the asset decimals: type: number description: Decimals of the asset imageUri: type: string description: Logo URI of the asset OptionalNullableNonEmptyStringWith255MaxLength: type: - string - 'null' pattern: ^$|^(?=\S)[\p{L}\p{N} _.,:!?&%@\/+-]+(?<=\S)$ example: An example name maxLength: 255 ThresholdSignatureScheme: type: string enum: - TWO_OF_TWO - TWO_OF_THREE - THREE_OF_FIVE 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 - invalid_email_verification - invalid_sms_verification - invalid_verification - invalid_position - too_many_sms_verification_attempts - too_many_email_verification_attempts - too_many_verification_attempts - organization_name_already_exists - project_name_already_exists - wallet_not_deployed - email_verification_required - phone_verification_required - invite_address_required - provider_not_available - forbidden_unlink_request - invalid_unlink_request - too_many_api_tokens - lock_timeout - lock_too_many_attempts - nft_token_gating_not_supported_for_chain - empty_chain_name - no_enabled_email_provider - no_enabled_sms_provider - invalid_key_export_url - invalid_dynamic_props - too_many_requests - too_many_organizations_for_user - too_many_projects_for_organization - email_associated_with_different_provider - user_has_already_account_with_email - user_has_already_account_with_phone_number - other_verify_failure - email_tied_to_embedded_wallet - invalid_invite - social_account_already_exists - invalid_email_address - invalid_gate - conflicting_embedded_wallet_providers - invalid_user - invalid_cors_origins - invalid_mobile_deeplink_urls - unauthorized_mobile_deeplink_url - invalid_private_key_format - invalid_embedded_wallet_settings - wallet_not_support_passkey - recovery_email_unavailable_or_invalid - connect_error - invalid_wallet_name - invalid_wallet_address - email_recovery_disabled - no_compatible_wallet_service_enabled - missing_aa_project_id - linked_embedded_wallet - invalid_mpc_environment - invalid_regex - repeated_options - missing_phone_number_or_email - duplicate_exists - mfa_device_not_found - mfa_invalid_code - mfa_invalid_request - invalid_phone - gate_exists - invalid_embedded_wallet_chains_configuration - merge_accounts_confirmation - merge_accounts_invalid - invalid_wallet_id - unable_to_fetch_balances - cannot_switch_to_unique - custom_field_data_not_unique - metadata_size_exceeded - invalid_custom_hostname - blocked_user_cannot_transfer_wallet - feature_not_enabled_in_suborg - invalid_username - invalid_external_auth - invalid_chain_address_match - invalid_update - cannot_delete_last_project - no_hd_wallet_found - wallet_account_exists_for_chain - too_many_embedded_wallets_for_user - too_many_embedded_wallets_per_chain_for_user - invalid_session_public_key - custom_field_not_unique - invalid_aa_project_configuration - no_v1_embedded_wallet_found - embedded_wallet_address_already_linked - key_share_already_backed_up - invalid_key_shares_length - wallet_service_connection_error - no_global_wallet_found - invalid_metadata_value - max_passkeys_per_user - passkey_not_found - cannot_delete_passkey_linked_to_embedded_wallet - cannot_delete_last_sign_in_verified_credential EmbeddedWalletAuthToken: type: object required: - token properties: token: type: string 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' BackupKeySharesToLocationsRequest: type: object required: - locations properties: locations: type: array items: type: object required: - location properties: location: $ref: '#/components/schemas/WaasBackupOptionsEnum' keygenId: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' thresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' externalKeyShareId: $ref: '#/components/schemas/NonEmptyString' SignMessageEvmUserOperation: type: object description: User Operation (ERC-4337) properties: chainId: type: number description: Chain identifier needed for user operation hash calculation entryPoint: type: string description: Address of the entry point contract operation: $ref: '#/components/schemas/SignMessageUserOperationData' NonceResponse: type: object properties: nonce: type: string WalletProperties: anyOf: - $ref: '#/components/schemas/TurnkeyWalletProperties' - $ref: '#/components/schemas/HardwareWalletProperties' - $ref: '#/components/schemas/CoinbaseMpcWalletProperties' - $ref: '#/components/schemas/SmartWalletProperties' - $ref: '#/components/schemas/WaasWalletProperties' WaasBackupOptionsEnum: type: string enum: - googleDrive - iCloud - dynamic - external - delegated Account: type: object required: - id - exchange - balances properties: id: $ref: '#/components/schemas/uuid' exchange: $ref: '#/components/schemas/ExchangeKeyEnum' type: type: string description: Account type as reported by the exchange example: wallet balances: type: array items: $ref: '#/components/schemas/AccountBalances' name: type: string description: Human-friendly label if supplied by the exchange. chain: type: string description: Blockchain network if relevant example: ethereum PublicKeyCredentialDescriptor: required: - id - type type: object properties: id: type: string type: $ref: '#/components/schemas/PublicKeyCredentialType' SponsorSVMTransactionRequest: type: object description: Request to sponsor a Solana transaction via Grid API properties: transaction: type: string pattern: ^[A-Za-z0-9+/]+={0,2}$ description: Base64 encoded unsigned Solana transaction (versioned transaction format) required: - transaction SupportedOfframpsResponse: type: object properties: offramps: type: array items: $ref: '#/components/schemas/RampConfiguration' ZerodevBundlerProvider: type: string enum: - STACKUP - PIMLICO - ALCHEMY - GELATO 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' BackupKeySharesToLocationsResponse: type: object required: - message - walletId - locationsWithKeyShares properties: message: type: string walletId: $ref: '#/components/schemas/uuid' locationsWithKeyShares: type: array items: type: object required: - location - keyShareId - externalKeyShareId properties: location: $ref: '#/components/schemas/WaasBackupOptionsEnum' keyShareId: $ref: '#/components/schemas/uuid' externalKeyShareId: $ref: '#/components/schemas/uuid' OauthProviderRequest: type: object properties: provider: $ref: '#/components/schemas/ProviderEnum' accessToken: type: string didToken: type: string ExchangeOption: type: object required: - exchange properties: exchange: $ref: '#/components/schemas/ExchangeKeyEnum' socialProvider: $ref: '#/components/schemas/ProviderEnum' onRampProvider: $ref: '#/components/schemas/ProviderEnum' UserVerificationRequirement: type: string enum: - discouraged - preferred - required ImportWaasPrivateKeyRequest: type: object required: - chain - clientKeygenIds - thresholdSignatureScheme properties: chain: $ref: '#/components/schemas/WaasChainEnum' clientKeygenIds: type: array items: $ref: '#/components/schemas/NonEmptyBase58StringWith100MaxLength' thresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' legacyWalletId: type: string format: uuid description: Optional wallet ID of an existing legacy wallet being migrated ltcWalletString: type: - string - 'null' description: LTC wallet address pattern: ^[LM3][a-km-zA-HJ-NP-Z1-9]{26,53}$ example: LUttH43tQ4x4qniCKr1Rqo8ESeXFPdv9ax MFARegisterTotpDevicePostRequest: type: object required: - type - code properties: type: $ref: '#/components/schemas/MFADeviceType' code: type: string description: The TOTP code generated by the user SponsorSVMTransactionResponse: type: object description: Response containing the sponsored Solana transaction properties: transaction: type: string description: Base64 encoded transaction with Grid as the fee payer SignMessageUserOperationData: type: object description: The actual user operation data properties: authorization: $ref: '#/components/schemas/SignMessageAuthorizationSignature' callData: type: string description: The data to pass to the sender during the main execution call callGasLimit: type: string description: The amount of gas to allocate the main execution call factory: type: string description: Account factory address (optional, only for new accounts) factoryData: type: string description: Data for account factory (optional) maxFeePerGas: type: string description: Maximum fee per gas maxPriorityFeePerGas: type: string description: Maximum priority fee per gas nonce: type: string description: Anti-replay parameter paymaster: type: string description: Address of paymaster contract (optional) paymasterData: type: string description: Data for paymaster (optional) paymasterPostOpGasLimit: type: string description: The amount of gas to allocate for the paymaster post-operation code (optional) paymasterVerificationGasLimit: type: string description: The amount of gas to allocate for the paymaster validation code (optional) preVerificationGas: type: string description: Extra gas to pay the Bundler sender: type: string description: The account making the operation signature: type: string description: Data passed into the account to verify authorization verificationGasLimit: type: string description: The amount of gas to allocate for the verification step ProjectSettingsDesignButton: type: object properties: background: type: string fontColor: type: string paddingHeight: type: integer paddingWidth: type: integer radius: type: integer CreateRoomsWithoutWalletIdResponse: type: object required: - roomIds properties: roomIds: type: array items: type: string HardwareWalletEnum: type: string enum: - ledger EmailVerificationVerifyRequest: required: - verificationUUID - verificationToken type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' verificationToken: $ref: '#/components/schemas/sixDigitsVerificationToken' captchaToken: $ref: '#/components/schemas/captchaToken' sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' NonEmptyUrlWith255MaxLength: type: string pattern: ^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$ maxLength: 255 example: https://website-sample.com TransferDestination: type: object required: - address properties: address: $ref: '#/components/schemas/WalletPublicKey' tokens: type: array items: type: string SignMessageEvmMessage: description: EVM message that can be either a plain string or an object with raw hex data anyOf: - type: string - type: object required: - raw properties: raw: type: string description: Raw hex data CoinbaseOnrampFeeType: type: string description: The type of fee. enum: - FEE_TYPE_NETWORK - FEE_TYPE_EXCHANGE PasskeyStorage: type: object required: - name - icon properties: name: type: string icon: type: string updatedAt: type: string format: date-time RecoverMultipleClientKeySharesResponse: type: object required: - keyShares properties: keyShares: type: array items: $ref: '#/components/schemas/WalletKeyShareInfoWithEncryptedAccountCredential' SimulateSVMTransactionRequest: type: object properties: chain: type: string pattern: ^[a-z0-9]{1,10}$ description: The Solana chainId to simulate the transaction on example: 101, 103, 201, mainnet, devnet, etc transactions: type: array items: type: string accountAddress: $ref: '#/components/schemas/SolanaPublicKey' domain: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' method: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' required: - chain - transactions - accountAddress - method RecoverMultipleClientKeySharesRequest: type: object properties: keyShareIds: type: array items: $ref: '#/components/schemas/uuid' ChainConfigurations: type: array description: Chain specific configuration for dynamic embedded wallets items: $ref: '#/components/schemas/ChainConfiguration' ReactSettings: type: object properties: version: type: string SdkView: type: object description: Configs used to create the view in the sdk. required: - type properties: type: $ref: '#/components/schemas/SdkViewType' sections: type: array description: The sections which will be used create the view in the sdk. The sections will be displayed in the order that they appear in the array. items: $ref: '#/components/schemas/SdkViewSection' SupportedSecurityMethod: type: object required: - isDefault - isEnabled - isPermanentAuthenticator - listPosition properties: isDefault: type: boolean isEnabled: type: boolean isPermanentAuthenticator: type: boolean listPosition: type: number NonEmptyBase58StringWith100MaxLength: type: string pattern: ^[1-9A-HJ-NP-Za-km-z]+$ maxLength: 100 description: A base58 string with a max length of 100 characters 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' SimulateTransactionResponse: type: object required: - inAssets - outAssets - priceData - showTotalFiat properties: inAssets: type: array items: $ref: '#/components/schemas/AssetDiff' outAssets: type: array items: $ref: '#/components/schemas/AssetDiff' counterparties: type: array items: oneOf: - $ref: '#/components/schemas/WalletPublicKey' - $ref: '#/components/schemas/SolanaPublicKey' priceData: $ref: '#/components/schemas/PriceData' showTotalFiat: type: boolean validation: $ref: '#/components/schemas/BlockaidValidation' assetExposures: type: array items: $ref: '#/components/schemas/AssetExposure' CustomFieldValidValue: type: object required: - label properties: label: $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars' key: $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars' NextViewEnum: type: string enum: - done - verify-email - verified-and-transferred - verify-sms GetPasskeyRegistrationOptionsResponse: type: object required: - attestation - challenge - rp - user - pubKeyCredParams - timeout - excludeCredentials - authenticatorSelection properties: attestation: $ref: '#/components/schemas/AttestationConveyancePreference' authenticatorSelection: $ref: '#/components/schemas/AuthenticatorSelectionCriteria' challenge: type: string description: Base64URL encoded challenge excludeCredentials: type: array items: $ref: '#/components/schemas/PasskeyExcludeCredential' extensions: $ref: '#/components/schemas/PasskeyExtension' hints: type: array description: Optional hints for the authenticator items: type: string pubKeyCredParams: type: array items: $ref: '#/components/schemas/PublicKeyCredentialParameters' rp: $ref: '#/components/schemas/PasskeyRelyingParty' timeout: type: number description: Timeout in milliseconds user: $ref: '#/components/schemas/PasskeyUser' SimulateEVMTransactionRequest: type: object properties: chainId: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' data: $ref: '#/components/schemas/NonEmptyString' from: $ref: '#/components/schemas/WalletPublicKey' to: $ref: '#/components/schemas/WalletPublicKey' value: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' domain: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' required: - chainId - data - from - to - value AuthenticationExtensionsClientInputs: type: object properties: appid: type: string credProps: type: boolean hmacCreateSecret: type: boolean CryptoDotComPaymentResponse: type: object required: - id - amount - currency - paymentUrl - qrCode - status properties: id: $ref: '#/components/schemas/uuid' amount: type: number description: A positive integer representing how much to collect in the smallest currency unit (e.g., 100 cents to collect $1.00). Refer to [Pricing Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies) for the smallest unit for each currency. example: 2500 currency: type: string description: Three-letter currency code for the payment amount (pricing currency). Must be a supported fiat currency / cryptocurrency. Refer to [Pricing Currencies](https://pay-docs.crypto.com/#api-reference-resources-payments-pricing-currencies) for the currency code. example: USD amountRefunded: type: number description: Amount in cents refunded (can be less than the amount of the payment if a partial refund was issued). example: 0 created: type: number description: Time at which the object was created. Measured in seconds since the Unix epoch. example: 1555098161 cryptoCurrency: type: string description: The cryptocurrency to be collected for this payment. cryptoAmount: type: string description: The amount of cryptocurrency to be collected for this payment. example: '1894.8' customerId: type: string description: ID of the customer created in Crypto.com Pay Merchant Dashboard, if exists. example: '1234567890' paymentUrl: type: string description: The URL of the payment page that customers will navigate to in order to make the payment. example: https://js.crypto.com/sdk/payments/checkout/set_wallet?publishableKey=XXX&sdkMeta=YYY qrCode: type: string returnUrl: type: string description: The URL for payment page to redirect back to when the payment becomes succeeded. example: http://YOUR_WEBSITE.com/orders/123/complete cancelUrl: type: string description: The URL for payment page to redirect to when the payment is failed or cancelled. example: http://YOUR_WEBSITE.com/orders/123/fail description: type: string description: An arbitrary string attached to the object. example: Crypto.com Tee (Unisex) liveMode: type: boolean description: Has the value true if the object exists in live mode or the value false if the object exists in test mode. example: false metadata: type: object description: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. orderId: type: string description: Merchant provided order ID for this payment. Merchants can view the associated order ID of each payment on the Merchant Dashboard. Crypto.com Pay does not verify or guarantee the uniqueness of the values in this field. example: 640cf83d-a316-4030-9878-71be1d98b737 recipient: type: string description: The name of the merchant collecting this payment. example: Crypto.com Shop refunded: type: boolean description: Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false. example: false status: type: string description: The status of the payment is either pending (pending payment), succeeded (payment captured), or cancelled. example: pending expiredAt: type: number description: Time at which the payment expires. Measured in seconds since the Unix epoch. example: 1555098461 EmbeddedWalletSecret: type: object required: - walletId - secret properties: walletId: $ref: '#/components/schemas/uuid' secret: type: string source: $ref: '#/components/schemas/PasswordSourceTypeEnum' PasskeyCredentialType: type: string enum: - public-key OptionalNonEmptyCssUrl: type: string pattern: ^$|^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/[^\/]*)*\/[^\/]*\.css$ example: https://website-sample/custom.css WalletKeyShareInfoWithEncryptedAccountCredential: type: object allOf: - $ref: '#/components/schemas/WalletKeyShareInfo' - type: object properties: encryptedAccountCredential: $ref: '#/components/schemas/NonEmptyStringWith4096MaxLength' RampConfiguration: type: object required: - provider - name - iconUrl - url properties: provider: $ref: '#/components/schemas/ProviderEnum' name: type: string iconUrl: type: string url: type: string qrCode: type: string description: Optional QR code provided by the onramp (e.g., Crypto.com) EncodedJwt: type: string description: Encoded JWT token. This will only be returned when cookie-based authentication is disabled in favor of standard Auth header based authentication. example: jwt_value NameService: type: object properties: registry: type: string example: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e' MFAUpdateDeviceRequest: type: object required: - default properties: default: type: boolean description: Whether or not this is the default MFA device for the user MFASettings: type: object properties: enabled: type: boolean required: type: boolean availableMethods: type: array items: $ref: '#/components/schemas/MFADeviceType' methods: type: array items: type: object required: - type - enabled properties: type: $ref: '#/components/schemas/MFADeviceType' enabled: type: boolean allowBackupCodes: type: - boolean - 'null' actions: type: array items: type: object required: - action - required properties: action: $ref: '#/components/schemas/MFAAction' required: type: boolean CoinbaseMpcWalletProperties: type: object properties: claimed: type: boolean description: Dynamic pregenerated this wallet and stored the passcode source: $ref: '#/components/schemas/PasswordSourceTypeEnum' PasskeyTransport: type: string enum: - usb - nfc - ble - internal - hybrid OpenRoomResponse: type: object required: - roomId properties: roomId: type: string serverKeygenIds: type: array items: $ref: '#/components/schemas/NonEmptyBase58StringWith100MaxLength' newServerKeygenIds: type: array items: $ref: '#/components/schemas/NonEmptyBase58StringWith100MaxLength' walletId: $ref: '#/components/schemas/uuid' PublicKeyCredentialRpEntity: required: - name type: object properties: id: $ref: '#/components/schemas/NonEmptyString' name: $ref: '#/components/schemas/NonEmptyString' Provider: type: object required: - provider properties: id: $ref: '#/components/schemas/uuid' provider: $ref: '#/components/schemas/ProviderEnum' enabledAt: type: - string - 'null' format: date-time clientId: description: 'Standard OAuth client ID. For more information, see: https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/' type: string clientSecret: description: 'Standard OAuth client secret key. For more information, see: https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/' type: string providerProjectId: description: Some providers require additional information, typically called a project ID or site ID type: string authorizationUrl: description: If the provider supports Oauth 2, this field will contain the URL of the login and authorization where a user can authorize the applciation to gain access to their provider account type: string redirectUrl: description: If the provider supports Oauth 2, this field will contain the URL of redirect or callback URL which will need to be provided to the Oauth provider to properly configure your App tp talk with Dynamic type: string defaultChainId: description: 'DEPRECATED: Use defaultChain. The default chain id the SDK should use' type: integer defaultChain: $ref: '#/components/schemas/caip2' keyExportUrl: description: The url of the site to go to export wallets private keys type: string termsAcceptedByUser: $ref: '#/components/schemas/ProviderAgreement' scopes: description: Optional custom space-delimited list of Oauth scopes for the social provider type: string baseAuthUrl: description: Base auth url for oauth provider type: string appleKeyId: description: Key ID required for Apple Oauth2 applications. This is the identifier for a private key. type: string appleTeamId: description: Team ID required for Apple Oauth2 applications. This is associated with the Apple developer membership account. type: string shopifyStore: description: Shopify store required for Shopify Oauth2 applications. type: string domain: type: string description: The subdomain for the provider (mostly used for SSO) accountSid: description: Required to initialize Twilio provider. type: string twilioNumber: description: Required to initialize Twilio provider. Phone number used to send SMS messages. type: string twilioVerifyServiceSid: description: Twilio Verify Service SID for SMS verification. type: string enabledCountries: type: array items: $ref: '#/components/schemas/SmsCountryCode' sendgridIpPoolName: description: The IP pool name for the SendGrid provider. type: string entryPointVersion: $ref: '#/components/schemas/ProviderEntryPointVersionEnum' kernelVersion: $ref: '#/components/schemas/ProviderKernelVersionEnum' factoryAddress: type: string description: The factory address for the provider (currently only used for zksync) paymasterAddress: type: string description: The paymaster address for the provider (currently only used for zksync) passkeyAddress: type: string description: The passkey address for the provider (currently only used for zksync) sessionAddress: type: string description: The session address for the provider (currently only used for zksync) salt: type: string description: The salt for the provider address generation (currently only used for zksync) multichainAccountAbstractionProviders: type: array items: type: object properties: clientId: type: string chain: type: string default: type: boolean required: - clientId - chain ecdsaProviderType: $ref: '#/components/schemas/ecdsaValidatorOptions' createNewAccounts: type: boolean enableKernelV3Migration: type: boolean enableEIP7702: type: boolean zerodevBundlerProvider: $ref: '#/components/schemas/ZerodevBundlerProvider' zerodevBundlerRpcUrl: type: string zerodevPaymasterRpcUrl: type: string zerodevKernelDelegationAddress: type: string returnUrl: type: string description: URL to return to after completion cancelUrl: type: string description: URL to return to when cancelled GlobalWalletConnectionStatusEnum: type: string enum: - connected - disconnected NetworkConfiguration: type: object properties: lcdUrl: type: string example: https://lcd.osmosis.zone description: A light client, compared to a full node, tracks only pieces of certain information on a blockchain. Light clients do not track the entire state of a blockchain and also do not contain every transaction/block of a chain. chainName: type: string description: '[Deprecated] use `name` property instead' example: Ethereum Mainnet key: type: string example: ethereum name: type: string example: Ethereum Mainnet shortName: type: string example: ETH isTestnet: type: boolean example: false chain: type: string example: ETH chainId: type: string example: '1' nameService: $ref: '#/components/schemas/NameService' networkId: type: string example: '1' iconUrls: type: array items: type: string nativeCurrency: $ref: '#/components/schemas/NativeCurrency' rpcUrls: type: array items: type: string example: https://mainnet.infura.io/v3/ privateCustomerRpcUrls: type: array description: Contains the client private RPC urls items: type: string example: https://mainnet.infura.io/v3/ blockExplorerUrls: type: array items: type: string example: https://etherscan.io/ vanityName: type: string example: Ethereum bech32Prefix: type: string example: cosmos genesisHash: type: string example: 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp cluster: type: string example: mainnet, devnet, etc required: - name - shortName - chain - chainId - networkId - iconUrls - nativeCurrency - rpcUrls - blockExplorerUrls VerifyUnlinkRequest: type: object properties: walletId: $ref: '#/components/schemas/uuid' verifiedCrentialId: $ref: '#/components/schemas/uuid' verifiedCredentialId: $ref: '#/components/schemas/uuid' primaryWalletId: $ref: '#/components/schemas/uuid' OptionalNonEmptyUrl: type: string pattern: ^$|^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$ example: https://website-sample.com WalletTransactionsResponse: type: object required: - transactions properties: transactions: type: array items: $ref: '#/components/schemas/WalletTransaction' nextOffset: type: string description: Offset to the next page of transactions Forbidden: type: object properties: error: type: string example: Access Forbidden 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 - 'null' format: date-time description: The date and time the MFA device was verified 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 SsoProviderCheckResponse: type: object required: - type properties: type: type: string enum: - otp - sso description: Authentication type for the email domain provider: type: string description: SSO provider name (only present when type is 'sso') ssoAuthUrl: type: string description: SSO authentication URL (only present when type is 'sso') id: $ref: '#/components/schemas/uuid' TelegramPostRequest: type: object required: - state - telegramUser properties: state: $ref: '#/components/schemas/ValidStringQueryParam' telegramUser: $ref: '#/components/schemas/TelegramUser' CreateWaasAccountRequest: type: object required: - chain - clientKeygenIds properties: chain: $ref: '#/components/schemas/WaasChainEnum' clientKeygenIds: type: array items: $ref: '#/components/schemas/NonEmptyBase58StringWith100MaxLength' thresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' skipLock: type: boolean description: When true, bypasses server-side lock during wallet creation. default: false addressType: type: string BackupMultipleClientKeySharesResponse: type: object required: - keyShares properties: keyShares: type: array items: $ref: '#/components/schemas/WalletKeyShareInfo' UserOauthAccessTokenResponse: type: object required: - accessToken properties: accessToken: type: string PasskeyRegistrationCredentialV2: type: object required: - attestationObject - clientDataJson properties: attestationObject: $ref: '#/components/schemas/NonEmptyString' clientDataJson: $ref: '#/components/schemas/NonEmptyString' transports: type: array items: $ref: '#/components/schemas/PasskeyTransport' publicKey: $ref: '#/components/schemas/NonEmptyString' MFARegenRecoveryCodesResponse: type: object required: - count - recoveryCodes properties: count: type: integer description: The number of recovery codes available recoveryCodes: type: array items: type: string description: Recovery codes for the user to use in case they lose access to their MFA device ForbiddenErrorPayload: type: object properties: walletPublicKey: $ref: '#/components/schemas/WalletPublicKey' email: type: string format: email ForbiddenWithErrorAndPayload: type: object properties: error: $ref: '#/components/schemas/ErrorMessageWithCode' payload: $ref: '#/components/schemas/ForbiddenErrorPayload' CoinbaseOnrampOrderStatus: type: string description: The status of an onramp order. enum: - ONRAMP_ORDER_STATUS_PENDING_AUTH - ONRAMP_ORDER_STATUS_PENDING_PAYMENT - ONRAMP_ORDER_STATUS_PROCESSING - ONRAMP_ORDER_STATUS_COMPLETED - ONRAMP_ORDER_STATUS_FAILED WalletTransaction: type: object required: - transactionHash - blockNumber - transactionTimestamp - blockHash - blockExplorerUrls - fromAddress - toAddress - labels - assetTransfers - chainName - networkId properties: transactionHash: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' blockNumber: type: number description: Block number of the transaction transactionTimestamp: type: string format: date-time description: Timestamp of the transaction blockHash: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' blockExplorerUrls: type: array items: type: string description: URLs to the block explorer for the transaction fromAddress: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' toAddress: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' labels: type: array items: $ref: '#/components/schemas/WalletTransactionType' assetTransfers: type: array items: $ref: '#/components/schemas/WalletTransactionAssetTransfer' chainName: $ref: '#/components/schemas/ChainEnum' networkId: type: number example: 1 CreateWalletAccountRequest: required: - turnkeySignedRequest type: object properties: turnkeySignedRequest: $ref: '#/components/schemas/TurnkeySignedRequest' ExportWaasWalletPrivateKeyRequest: type: object required: - exportId properties: exportId: type: string addressType: type: string OptionalNonEmptyIconUrl: type: string pattern: ^$|^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/[^\/]*)*\/[^\/]*\.(?:png|svg)$ example: https://website-sample/icon.svg GetPasskeyAuthenticationOptionsResponse: type: object required: - challenge properties: challenge: $ref: '#/components/schemas/NonEmptyString' timeout: type: number description: Timeout in milliseconds rpId: $ref: '#/components/schemas/NonEmptyString' userVerification: $ref: '#/components/schemas/UserVerificationRequirement' allowCredentials: type: array items: $ref: '#/components/schemas/PasskeyAllowCredential' extensions: $ref: '#/components/schemas/PasskeyExtension' hints: $ref: '#/components/schemas/PasskeyCredentialHint' SignMessageEvmTransaction: type: object description: Standard EVM transaction properties: to: type: string description: Recipient address chainId: type: number description: Chain ID data: type: string description: Transaction data as hex string gas: type: string description: Gas limit as hex string gasPrice: type: string description: Gas price as hex string maxFeePerGas: type: string description: Maximum fee per gas as hex string maxPriorityFeePerGas: type: string description: Maximum priority fee per gas as hex string nonce: type: number description: Transaction nonce value: type: string description: Transaction value as hex string required: - chainId - to HCaptchaSettings: type: object properties: enabled: type: boolean secretKey: description: Secret key used to validate captcha response. This will never be surfaced in a GET response. type: string siteKey: type: string 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 SignMessageContext: type: object properties: evmTransaction: $ref: '#/components/schemas/SignMessageEvmTransaction' evmUserOperation: $ref: '#/components/schemas/SignMessageEvmUserOperation' svmTransaction: $ref: '#/components/schemas/SignMessageSvmTransaction' suiTransaction: $ref: '#/components/schemas/SignMessageSuiTransaction' eip7702Auth: $ref: '#/components/schemas/SignMessageEip7702Auth' evmMessage: $ref: '#/components/schemas/SignMessageEvmMessage' svmMessage: $ref: '#/components/schemas/NonEmptyStringWith16384MaxLength' suiMessage: $ref: '#/components/schemas/NonEmptyStringWith16384MaxLength' evmTypedData: $ref: '#/components/schemas/SignMessageEvmTypedData' domain: $ref: '#/components/schemas/NonEmptyDomainUrlWith255MaxLength' OptionalNonEmptyMarkdownText: type: string pattern: ^$|^(?!.*<[^&]+>)[a-zA-Z0-9\s\/;:\*\-\(\)\[\]%#@'"\\.,=+\$&]+$ example: This is a markdown example with a **bold** text and a [link](https://website-sample.com) maxLength: 1024 CoinbaseOnrampGetBuyUrlRequest: type: object required: - destinationAddress - networks properties: assets: type: array items: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' defaultNetwork: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' defaultAsset: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' defaultExperience: $ref: '#/components/schemas/CoinbaseOnrampBuyUrlExperience' defaultPaymentMethod: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' destinationAddress: $ref: '#/components/schemas/WalletPublicKey' fiatCurrency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' handlingRequestedUrls: type: boolean description: Prevents the widget from opening URLs directly & relies on onRequestedUrl entirely for opening links networks: type: array items: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' partnerUserRef: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' presetCryptoAmount: $ref: '#/components/schemas/NonEmptyAmountString' presetFiatAmount: $ref: '#/components/schemas/NonEmptyAmountString' redirectUrl: $ref: '#/components/schemas/OptionalNonEmptyUrlWithLocalhostAndDeepLink' TurnkeyWalletAccount: required: - curve - pathFormat - path - addressFormat type: object properties: curve: $ref: '#/components/schemas/NonEmptyString' pathFormat: $ref: '#/components/schemas/NonEmptyString' path: type: string addressFormat: $ref: '#/components/schemas/NonEmptyString' EmailVerificationCreateResponse: type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' email: type: string format: email required: - verificationUUID - email WalletKeyShareInfo: type: object required: - id - backupLocation - passwordEncrypted properties: id: $ref: '#/components/schemas/uuid' backupLocation: type: string passwordEncrypted: type: boolean externalKeyShareId: $ref: '#/components/schemas/uuid' AuthenticatorAttestationResponse: type: object required: - clientDataJSON - attestationObject properties: clientDataJSON: $ref: '#/components/schemas/NonEmptyString' attestationObject: $ref: '#/components/schemas/NonEmptyString' authenticatorData: $ref: '#/components/schemas/NonEmptyString' publicKeyAlgorithm: type: number publicKey: $ref: '#/components/schemas/NonEmptyString' ExternalAuth: type: object properties: enabled: type: boolean iss: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' aud: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' jwksUrl: $ref: '#/components/schemas/OptionalNonEmptyUrl' cookieName: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' UpdateWaasWalletSettingsRequest: type: object required: - hasDeniedDelegatedAccess properties: hasDeniedDelegatedAccess: type: boolean description: Whether the user has denied delegated access AuthSettings: type: object required: - storage properties: storage: type: array items: $ref: '#/components/schemas/AuthStorageEnum' WalletAddressType: type: string enum: - ordinals - payment - cosmos - evm - ton ExternalAuthSigninRequest: type: object properties: jwt: $ref: '#/components/schemas/EncodedJwt' sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' PasskeyExtension: type: object properties: appid: type: string description: FIDO AppID appidExclude: type: string description: FIDO AppID exclusion credProps: type: boolean description: Request credential properties uvm: type: boolean description: Request user verification method JwksResponse: type: object required: - keys properties: keys: type: array items: $ref: '#/components/schemas/JwksKey' OauthResultResponse: type: object required: - status properties: code: $ref: '#/components/schemas/OAuthCode' error: type: string description: Error return from oauth provider when user denies access status: $ref: '#/components/schemas/OauthResultStatus' CreateEmbeddedWalletsRequest: required: - embeddedWallets type: object properties: embeddedWallets: type: array description: The parameters which will be used to create embedded wallets for the user. items: $ref: '#/components/schemas/CreateEmbeddedWalletParams' ProviderEntryPointVersionEnum: type: string enum: - v6 - v7 emailOrEmptyString: type: string pattern: ^$|(^([!#-'*+\/-9=?A-Z^-~-]+(\.[!#-'*+\/-9=?A-Z^-~-]+)*|"([]!#-[^-~ \t]|([\t -~]))+")@([!#-'*+\/-9=?A-Z^-~-]+(\.[!#-'*+\/-9=?A-Z^-~-]+)*|[\t -Z^-~]*)$) example: hello-world@foobar.com maxLength: 255 PrefetchRequest: required: - chain - publicWalletAddress type: object properties: chain: $ref: '#/components/schemas/ChainEnum' publicWalletAddress: $ref: '#/components/schemas/WalletPublicKey' HealthcheckStatus: type: string enum: - healthy - unhealthy GlobalWalletConnectionCreateRequest: type: object required: - expiresAt properties: expiresAt: type: string format: date-time SmsVerificationCreateResponse: type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' phoneNumber: description: This field contains the phone number in the country. This could also contain the area code within a country. example: '9171113333' type: string phoneCountryCode: description: This field contains the phone international country code. See https://countrycode.org/ example: '1' type: string isoCountryCode: description: ISO-3166 two-character country code. See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes example: US type: string required: - verificationUUID - phoneNumber - phoneCountryCode - isoCountryCode UpgradeEmbeddedWalletToV2Request: type: object properties: sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' ExternalWalletFundingDefaultSettings: type: object properties: chain: $ref: '#/components/schemas/ChainEnum' token: type: object properties: value: type: string rule: $ref: '#/components/schemas/ExternalWalletFundingTokenRule' BackupMultipleClientKeySharesRequest: type: object required: - encryptedAccountCredentials - passwordEncrypted properties: encryptedAccountCredentials: type: array items: $ref: '#/components/schemas/NonEmptyStringWith4096MaxLength' passwordEncrypted: type: boolean PublicKeyCredentialParameters: required: - alg - type type: object properties: alg: type: number type: $ref: '#/components/schemas/PublicKeyCredentialType' CoinbaseOnrampOrderCreateRequest: type: object required: - agreementAcceptedAt - destinationAddress - destinationNetwork - partnerUserRef - paymentCurrency - paymentMethod - purchaseCurrency properties: agreementAcceptedAt: type: string format: date-time description: The timestamp of when the user acknowledged that by using Coinbase Onramp they are accepting the Coinbase Terms (https://www.coinbase.com/legal/guest-checkout/us), User Agreement (https://www.coinbase.com/legal/user_agreement),and Privacy Policy (https://www.coinbase.com/legal/privacy). example: 2025-04-24 00:00:00+00:00 destinationAddress: $ref: '#/components/schemas/WalletPublicKey' destinationNetwork: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' domain: $ref: '#/components/schemas/origin' isQuote: type: boolean description: If true, this API will return a quote without creating any transaction. default: false partnerUserRef: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' paymentAmount: $ref: '#/components/schemas/NonEmptyAmountString' paymentCurrency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' paymentMethod: $ref: '#/components/schemas/CoinbaseOnrampOrderPaymentMethod' purchaseAmount: $ref: '#/components/schemas/NonEmptyAmountString' purchaseCurrency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' TimeUnitEnum: type: string enum: - days - hours - minutes NameServiceData: type: object properties: avatar: type: string name: type: string UserPasskey: type: object required: - id - credentialId - createdAt properties: id: $ref: '#/components/schemas/uuid' alias: type: string userAgent: type: string origin: type: string credentialId: $ref: '#/components/schemas/NonEmptyString' createdAt: type: string format: date-time updatedAt: type: string format: date-time storage: $ref: '#/components/schemas/PasskeyStorage' NonEmptyStringWith255MaxLength: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ maxLength: 255 example: An example name CoinbaseOnrampOrder: type: object required: - orderId - paymentTotal - paymentSubtotal - paymentCurrency - paymentMethod - purchaseAmount - purchaseCurrency - fees - exchangeRate - destinationAddress - destinationNetwork - status - createdAt - updatedAt properties: orderId: $ref: '#/components/schemas/uuid' paymentTotal: $ref: '#/components/schemas/NonEmptyAmountString' paymentSubtotal: $ref: '#/components/schemas/NonEmptyAmountString' paymentCurrency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' paymentMethod: $ref: '#/components/schemas/CoinbaseOnrampOrderPaymentMethod' purchaseAmount: $ref: '#/components/schemas/NonEmptyAmountString' purchaseCurrency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' fees: type: array description: The fees associated with the order. items: $ref: '#/components/schemas/CoinbaseOnrampFee' exchangeRate: $ref: '#/components/schemas/NonEmptyAmountString' destinationAddress: $ref: '#/components/schemas/WalletPublicKey' destinationNetwork: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' status: $ref: '#/components/schemas/CoinbaseOnrampOrderStatus' createdAt: type: string format: date-time description: The date and time the order was created. example: 2025-04-24 00:00:00+00:00 updatedAt: type: string format: date-time description: The date and time the order was last updated. example: 2025-04-24 00:00:00+00:00 txHash: $ref: '#/components/schemas/NonEmptyStringWith4096MaxLength' partnerUserRef: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' Eip712TypeMember: type: object required: - name - type properties: name: type: string type: type: string MFAListDevicesResponse: type: object required: - count - devices properties: count: type: integer description: The number of MFA devices available devices: type: array items: $ref: '#/components/schemas/MFADevice' CreateEmbeddedWalletParams: required: - embeddedWalletProvider type: object properties: chains: type: array description: The chains to create the wallet for items: $ref: '#/components/schemas/EmbeddedWalletChainEnum' chain: $ref: '#/components/schemas/EmbeddedWalletChainEnum' embeddedWalletProvider: $ref: '#/components/schemas/EmbeddedWalletProviderEnum' embeddedWalletSpecificOpts: $ref: '#/components/schemas/CreateEmbeddedWalletSpecificOpts' isAuthenticatorAttached: type: boolean description: Whether or not the wallet will be created with an authenticator (passkey, api key, etc) attached to it. passkeyAlias: type: string description: The alias for the passkey sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' ExchangeRatesResponse: type: array items: $ref: '#/components/schemas/Currency' AuthModeEnum: type: string enum: - connect-only - connect-and-sign AuthenticatorAssertionResponse: type: object required: - clientDataJSON - authenticatorData - signature properties: clientDataJSON: $ref: '#/components/schemas/NonEmptyString' authenticatorData: $ref: '#/components/schemas/NonEmptyString' signature: $ref: '#/components/schemas/NonEmptyString' userHandle: type: string SdkUser: allOf: - $ref: '#/components/schemas/BaseUser' - type: object required: - verifiedCredentials CreateRoomsResponse: type: object required: - roomIds properties: roomIds: type: array items: type: string DelegatedShareDeliveryResponse: type: object required: - delegatedShareDeliveryId - status properties: delegatedShareDeliveryId: type: string format: uuid description: Unique identifier for this delivery, used for tracking and correlation status: type: string enum: - accepted - queued description: Current status of the delegated share delivery message: type: string description: Human-readable status message PasswordSourceTypeEnum: type: string enum: - dynamic - user TurnkeyDeleteEmbeddedWalletsRequestBodyParameters: deprecated: true required: - walletIds type: object properties: walletIds: type: array items: $ref: '#/components/schemas/uuid' deleteWithoutExport: type: boolean ScanWebsiteUrlResponse: type: object properties: isMalicious: type: - boolean - 'null' description: Indicates whether the scanned URL is potentially malicious. Returns null if scan is inconclusive. PasskeyAllowCredential: type: object required: - id properties: id: type: string description: Base64URL encoded credential ID transports: type: array items: $ref: '#/components/schemas/PasskeyTransport' EmbeddedWalletPasscodeClaimRequest: type: object required: - walletId properties: walletId: $ref: '#/components/schemas/uuid' UserWalletSelectionRequest: type: object required: - walletId properties: walletId: type: string description: UUID v4 with an optional suffix (e.g., uuid-zerodev) example: 95b11417-f18f-457f-8804-68e361f9164f-zerodev FrameworkSettings: type: object properties: react: $ref: '#/components/schemas/ReactSettings' nextjs: $ref: '#/components/schemas/NextJsSettings' NonEmptyAmountString: type: string pattern: ^(\d+(\.\d+)?|\.\d+)$ description: Digits with optional decimal part example: '100.00' OpenRoomResponseForReshare: allOf: - $ref: '#/components/schemas/OpenRoomResponse' - type: object required: - roomId - serverKeygenIds - newServerKeygenIds PasskeyAuthRequest: type: object required: - id - rawId - response - clientExtensionResults - type properties: id: $ref: '#/components/schemas/NonEmptyString' rawId: $ref: '#/components/schemas/NonEmptyString' response: $ref: '#/components/schemas/AuthenticatorAssertionResponse' authenticatorAttachment: $ref: '#/components/schemas/AuthenticatorAttachment' clientExtensionResults: $ref: '#/components/schemas/AuthenticationExtensionsClientOutputs' type: $ref: '#/components/schemas/PublicKeyCredentialType' createMfaToken: $ref: '#/components/schemas/CreateMfaToken' captchaToken: type: string description: When provided, used to verify that a captcha is valid and get the success/failure result from the captcha provider server-side. JwksKey: type: object description: 'Contains a valid JWKS representation of the public key for this environment. For more information, see: https://auth0.com/blog/navigating-rs256-and-jwks/' properties: kid: type: string alg: type: string kty: type: string use: type: string e: type: string n: type: string AssetDiff: type: object properties: asset: $ref: '#/components/schemas/Asset' transferIn: type: array items: $ref: '#/components/schemas/AssetTransfer' transferOut: type: array items: $ref: '#/components/schemas/AssetTransfer' required: - asset - transferIn - transferOut UpdateSelfResponse: allOf: - $ref: '#/components/schemas/VerifyResponse' - type: object properties: nextView: $ref: '#/components/schemas/NextViewEnum' emailVerification: $ref: '#/components/schemas/EmailVerificationCreateResponse' smsVerification: $ref: '#/components/schemas/SmsVerificationCreateResponse' required: - nextView 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' CreateEmbeddedWalletSpecificOpts: oneOf: - $ref: '#/components/schemas/CreateTurnkeyEmbeddedWalletSpecificOpts' kdaWalletString: type: - string - 'null' description: KDA wallet address pattern: ^k:[0-9a-fA-F]{64}$ example: k:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF PasskeyRegistrationCredential: type: object required: - attestationObject - clientDataJson - credentialId - transports properties: attestationObject: $ref: '#/components/schemas/NonEmptyString' clientDataJson: $ref: '#/components/schemas/NonEmptyString' credentialId: $ref: '#/components/schemas/NonEmptyString' transports: type: array items: $ref: '#/components/schemas/AuthenticatorTransportProtocol' publicKey: $ref: '#/components/schemas/NonEmptyString' PublishEvents: type: object properties: events: type: array minItems: 1 maxItems: 10 items: type: object properties: anonymousId: type: string event: type: string properties: type: object additionalProperties: true type: type: string enum: - track required: - anonymousId - event - properties - type required: - events PasskeyRelyingParty: type: object required: - name - id properties: id: type: string description: Relying Party ID (domain) name: type: string description: Human-readable name of the Relying Party AssetTransfer: type: object properties: rawValue: type: string summary: type: string usdPrice: type: string value: type: string PasskeyUser: type: object required: - id - name - displayName properties: displayName: type: string description: User's display name id: type: string description: Base64URL encoded user ID name: type: string description: User's email or username BlockaidValidation: type: object required: - result - reason properties: result: oneOf: - type: string enum: - Benign - Warning - Malicious - Error description: type: string reason: type: string classification: type: string EmbeddedWalletVersionEnum: type: string enum: - V1 - V2 - V3 FarcasterSignInRequest: type: object required: - address - domain - nonce - message - signature properties: address: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' domain: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' nonce: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' message: type: string description: The message to be signed signature: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' captchaToken: type: string description: Optional captcha token to verify that the user is not a bot sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' EmbeddedWalletChainEnum: type: string enum: - EVM - SOL - SUI - BTC - TON WalletTransactionType: type: string enum: - sent - receive - swap UpdateUserPasskeyRequest: type: object required: - id properties: id: $ref: '#/components/schemas/uuid' alias: $ref: '#/components/schemas/NonEmptyString' InitPasskeyRecoveryRequest: required: - walletId - turnkeyRecoveryTargetPublicKey type: object properties: walletId: $ref: '#/components/schemas/uuid' turnkeyRecoveryTargetPublicKey: allOf: - $ref: '#/components/schemas/NonEmptyString' deprecated: true UpdateWaasWalletSettingsResponse: type: object required: - walletId - settings properties: walletId: $ref: '#/components/schemas/uuid' settings: $ref: '#/components/schemas/WaasWalletSettings' OauthRedirectUri: type: string pattern: ^(https?:\/\/[a-zA-Z0-9 _.,:?&%\/-]+)*$ ProjectSettingsDesign: type: object properties: modal: $ref: '#/components/schemas/ProjectSettingsDesignModal' button: $ref: '#/components/schemas/ProjectSettingsDesignButton' widget: $ref: '#/components/schemas/ProjectSettingsDesignWidget' ConnectRequest: required: - address - chain - provider - walletName type: object properties: address: $ref: '#/components/schemas/WalletPublicKey' chain: $ref: '#/components/schemas/ChainEnum' provider: $ref: '#/components/schemas/WalletProviderEnum' walletName: type: string maxLength: 255 authMode: $ref: '#/components/schemas/AuthModeEnum' TurnkeyDeleteEmbeddedWalletsRequestBody: deprecated: true required: - organizationId - parameters - timestampMs - type type: object properties: organizationId: $ref: '#/components/schemas/uuid' parameters: $ref: '#/components/schemas/TurnkeyDeleteEmbeddedWalletsRequestBodyParameters' timestampMs: $ref: '#/components/schemas/NonEmptyString' type: $ref: '#/components/schemas/NonEmptyString' PublicKeyCredentialUserEntity: required: - id - name - displayName type: object properties: id: $ref: '#/components/schemas/NonEmptyString' name: $ref: '#/components/schemas/NonEmptyString' displayName: $ref: '#/components/schemas/NonEmptyString' MFADeviceType: type: string enum: - totp - passkey - email SdkViewSectionType: type: string enum: - email - emailAndPhone - phone - separator - social - text - wallet - passkey SolanaTransactionOptimizationRequest: type: object required: - transaction - address properties: transaction: type: string address: $ref: '#/components/schemas/SolanaPublicKey' OauthResultRequest: type: object properties: state: type: string description: Temporary auth state for oauth2 access telegramAuthToken: type: string description: JWT Auth Token coming from Telegram Bot containing user information forceCreateUser: type: boolean description: Force create a user for Telegram Auto Login code: $ref: '#/components/schemas/NonEmptyString' sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' captchaToken: $ref: '#/components/schemas/captchaToken' NonEmptyIsoCountryCode: type: string pattern: ^[a-zA-Z]{2,4}\d?$ maxLength: 4 example: US BackupKeySharesToLocationResponse: type: object required: - message - walletId - location properties: message: type: string walletId: $ref: '#/components/schemas/uuid' location: $ref: '#/components/schemas/WaasBackupOptionsEnum' ProjectSettingsDesignWidget: type: object properties: backgroundColor: type: string border: type: string radius: type: integer textColor: type: string theme: type: string OauthRedirectRequestIdToken: type: string pattern: ^([a-zA-Z0-9_-]+)\.([a-zA-Z0-9_-]+)\.([a-zA-Z0-9_-]+)$ NonEmptyStringWith16384MaxLength: type: string maxLength: 16384 description: A string with a max length of 16384 characters SimulateUserOpRequest: type: object properties: chainId: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' operation: type: object entryPoint: $ref: '#/components/schemas/WalletPublicKey' domain: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' value: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' required: - chainId - operation - entryPoint - value PasskeyRegisterVerifyRequest: type: object required: - id - rawId - response - clientExtensionResults - type properties: id: $ref: '#/components/schemas/NonEmptyString' rawId: $ref: '#/components/schemas/NonEmptyString' response: $ref: '#/components/schemas/AuthenticatorAttestationResponse' authenticatorAttachment: $ref: '#/components/schemas/AuthenticatorAttachment' clientExtensionResults: $ref: '#/components/schemas/AuthenticationExtensionsClientOutputs' type: $ref: '#/components/schemas/PublicKeyCredentialType' NonEmptyStringWith4096MaxLength: type: string maxLength: 4096 description: A string with a max length of 4096 characters EmbeddedWalletSecurityMethod: type: string enum: - passkey - passphrase InitPasskeyRecoveryResponse: required: - turnkeyRecoveryUserId type: object properties: turnkeyRecoveryUserId: $ref: '#/components/schemas/uuid' SmartWalletProperties: type: object properties: entryPointVersion: $ref: '#/components/schemas/ProviderEntryPointVersionEnum' kernelVersion: $ref: '#/components/schemas/ProviderKernelVersionEnum' ecdsaProviderType: $ref: '#/components/schemas/ecdsaValidatorOptions' GlobalWalletConnection: type: object required: - id - userId - appUrl - status - createdAt properties: id: $ref: '#/components/schemas/uuid' userId: $ref: '#/components/schemas/uuid' appUrl: $ref: '#/components/schemas/origin' status: $ref: '#/components/schemas/GlobalWalletConnectionStatusEnum' expiresAt: type: - string - 'null' description: If global wallet connection status is connected, then this timestamp will be present. format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time NextJsSettings: type: object properties: version: type: string ProjectSettingsChains: type: object properties: name: type: string enabled: type: boolean networks: type: array items: $ref: '#/components/schemas/Network' required: - name - enabled TurnkeyCreateWalletAccountsRequestBodyParameters: deprecated: true required: - walletId - accounts type: object properties: walletId: $ref: '#/components/schemas/uuid' accounts: type: array items: $ref: '#/components/schemas/TurnkeyWalletAccount' OptionalNonEmptyStringWith50MaxLength: type: string pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name maxLength: 50 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' SecurityNotifications: type: object properties: waasPrivateKeyExport: type: boolean description: Send email notification when a user exports their embedded wallet private key. Defaults to true. waasSignedTransaction: type: boolean description: Send email notification when a transaction is signed with an embedded wallet. Defaults to true. sixDigitsVerificationToken: type: string pattern: ^[0-9]{6}$ example: '123456' description: A 6-digit number MFAAuthTotpDevicePostRequest: type: object required: - code properties: id: $ref: '#/components/schemas/uuid' createMfaToken: $ref: '#/components/schemas/CreateMfaToken' code: type: string description: The TOTP code generated by the user ChainEnum: type: string enum: - ETH - EVM - FLOW - SOL - ALGO - STARK - COSMOS - BTC - ECLIPSE - SUI - SPARK - TRON - APTOS - TON - STELLAR NotFound: type: object required: - error - code properties: error: type: string example: Not Found code: type: string example: not_found NativeCurrency: type: object properties: decimals: type: number example: '18' name: type: string example: Ether symbol: type: string example: ETH denom: type: string example: uatom iconUrl: type: string pricingProviderTokenId: type: string required: - decimals - name - symbol ProjectSettingsSecurity: type: object properties: jwtDuration: $ref: '#/components/schemas/Duration' hCaptcha: $ref: '#/components/schemas/HCaptchaSettings' mfa: $ref: '#/components/schemas/MFASettings' auth: $ref: '#/components/schemas/AuthSettings' externalAuth: $ref: '#/components/schemas/ExternalAuth' environmentLocked: type: boolean description: When enabled, all SDK requests to this environment will be blocked. notifications: $ref: '#/components/schemas/SecurityNotifications' CompletePasskeyRecoveryRequest: required: - walletId - attestation - challenge type: object properties: walletId: $ref: '#/components/schemas/uuid' attestation: $ref: '#/components/schemas/PasskeyRegistrationCredential' challenge: $ref: '#/components/schemas/NonEmptyString' CoinbaseOnrampBuyUrlExperience: type: string description: Default visual experience. Either transfer funds from Coinbase (send) or buy assets (buy) enum: - buy - send ProjectSettingsSdk: type: object properties: nameService: $ref: '#/components/schemas/NameServiceSdkSettings' featureFlags: $ref: '#/components/schemas/FeatureFlags' emailSignIn: type: object properties: signInProvider: $ref: '#/components/schemas/SignInProviderEnum' socialSignIn: type: object properties: signInProvider: $ref: '#/components/schemas/SignInProviderEnum' providers: type: array items: $ref: '#/components/schemas/SocialSignInProvider' exchangeOptions: type: array items: $ref: '#/components/schemas/ExchangeOption' multiWallet: type: boolean multiWalletUnlinkDisabled: type: boolean mobile: $ref: '#/components/schemas/MobileSettings' confirmWalletTransfers: type: boolean onrampFunding: type: boolean passkeyEmbeddedWalletEnabled: type: boolean description: passkeyEmbeddedWalletEnabled is deprecated as of v0.19. Please enable embedded wallets using the provider API. deprecated: true automaticEmbeddedWalletCreation: type: boolean passkeyEmbeddedWalletRecoveryEnabled: type: boolean embeddedWalletSecurityMethods: type: array description: Embedded wallet authenticator security methods required upon creation of the embedded wallet at onboarding items: $ref: '#/components/schemas/EmbeddedWalletSecurityMethod' embeddedWallets: type: object properties: automaticEmbeddedWalletCreation: type: boolean description: When true embedded wallets will be generated during onboarding for the users. When false customer needs to trigger the creation. automaticEmbeddedWalletCreationForExternal: type: boolean description: When true embedded wallets will be created for external wallets during sign in. When false embedded wallets are not generated for external wallets during sign in. showEmbeddedWalletActionsUI: type: boolean description: When true users will see embedded wallets action confirmation views. emailRecoveryEnabled: type: boolean description: When true users will be able to start recovery for their accounts. forceAuthenticatorAtSignup: type: boolean description: When true user will be prompted to add a security method during onboarding. When false user will need to add a security method before a transaction allowSkippingAuthenticatorAtSignup: type: boolean description: When combined with forceAuthenticatorAtSignup it allows user to skip adding a security method during onboarding. User will need to add it before a transaction. sessionKeyDuration: $ref: '#/components/schemas/Duration' supportedSecurityMethods: $ref: '#/components/schemas/SupportedSecurityMethods' chainConfigurations: $ref: '#/components/schemas/ChainConfigurations' domainEnabledByProvider: type: boolean description: When a client domain needs to be whitelisted explicitly by one of our embedded wallet providers, this will be true when Dynamic has confirmed that this is the case. defaultWalletVersion: $ref: '#/components/schemas/EmbeddedWalletVersionEnum' promptForKeyExport: type: boolean description: When true, the user will be prompted to export their private key after creating a wallet. transactionSimulation: type: boolean description: When true, user transactions will show asset transfers in the Confirmation UI. svmGasSponsorshipEnabled: type: boolean description: When true, network fees for Solana embedded wallet transactions will be sponsored. waas: type: object properties: allowMultipleWaasWalletsPerChain: type: boolean description: When true, users can have multiple WAAS wallets per chain. passcodeRequired: type: boolean description: When true, passcode security method is forced for v3 embedded wallets. Usually it is an optional security method. onSignUp: type: object properties: promptBackupOptions: type: boolean description: When true, backup options are shown during sign up for v3 embedded wallets. promptClientShareExport: type: boolean description: When true, users will be prompted to export their client share. required: - promptBackupOptions - promptClientShareExport backupOptions: type: array items: $ref: '#/components/schemas/WaasBackupOptionsEnum' iCloud: type: object description: Apple iCloud configuration for key share backup. properties: containerIdentifier: type: string description: The iCloud container identifier for storing key share backups. apiToken: type: string description: CloudKit Web Services API token for public operations. environment: type: string enum: - development - production description: The CloudKit environment to use. relayUrl: type: string description: The URL of the relay server for the environment. If not provided, the default relay server will be used. delegatedAccessEndpoint: type: string description: The URL of the delegated access endpoint for WAAS. If not provided, no delegated access endpoint will be used. delegatedAccess: $ref: '#/components/schemas/ProjectSettingsSdkWaasDelegatedAccess' enableForwardMPCClient: type: boolean description: When true, the sdk will utilize the forward MPC client for select MPC operations. customKeyshareRelayBaseUrl: type: string description: When applicable, this is the custom base URL hostname to use for the WAAS keyshare backup relay. If not provided, the default will be used. exportDisabled: type: boolean description: When true, private key exports are disabled at both API and wallet enclave levels. When false (default), users can export their private keys from v3 embedded wallets. required: - passcodeRequired - onSignUp - backupOptions walletConnect: type: object properties: projectId: type: string v2Enabled: type: boolean walletProjectId: type: string confirmEmailProviderForVerify: type: boolean displayDynamicMessaging: type: boolean hideNetworkInDynamicWidget: type: boolean preventOrphanedAccounts: type: boolean views: type: array description: Configs used to create the views in the sdk. items: $ref: '#/components/schemas/SdkView' accountAbstraction: type: object properties: allWallets: description: If set to false, will create smart wallets for embedded wallets only. type: boolean allUsers: description: If set to false, will create smart wallets for new users only. type: boolean separateSmartWalletAndSigner: description: if set to false, only smart wallet will be in user wallets list. type: boolean enablePasskeys: description: If set to false, will disable passkeys (if specified) for zksync wallets. type: boolean blockEmailSubaddresses: type: boolean enableMultiAsset: type: boolean showFiat: type: boolean disabledWalletConnectors: type: array description: Ids of wallet connectors to filter out from available options in the sdk items: $ref: '#/components/schemas/WalletConnectorKey' funding: $ref: '#/components/schemas/Funding' NetworkConfigurationResponse: type: object properties: chainName: type: string networks: type: array items: $ref: '#/components/schemas/NetworkConfiguration' SocialSignInProvider: type: object required: - provider properties: provider: $ref: '#/components/schemas/SocialSignInProviderEnum' enabled: type: boolean uuid: type: string pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ minLength: 36 maxLength: 36 example: 95b11417-f18f-457f-8804-68e361f9164f RegisterSessionKeyRequest: required: - publicKey type: object properties: publicKey: $ref: '#/components/schemas/NonEmptyString' prevSessionKeySignature: $ref: '#/components/schemas/NonEmptyString' walletId: $ref: '#/components/schemas/uuid' SupportedOnrampsResponse: type: object properties: onramps: type: array items: $ref: '#/components/schemas/RampConfiguration' AccountBalances: type: object required: - currency - balance properties: currency: type: string description: Chain symbol that funds are denominated in. example: USDC balance: type: number description: amount held in associated currency availableBalance: type: number description: Funds immediately available for withdrawal or trading logoURI: type: string CoinbaseOnrampGetBuyUrlResponse: type: object required: - url properties: url: type: string description: The URL to the hosted widget the user should be redirected to. MultichainAccountBalancesRequest: type: object required: - balanceRequests properties: filterSpamTokens: description: If false, the balance requests will not be filtered for spam tokens type: boolean default: true balanceRequests: type: array minItems: 1 maxItems: 5 items: type: object required: - address - chain - networkIds properties: address: type: string description: The wallet address chain: $ref: '#/components/schemas/ChainEnum' networkIds: type: array items: type: number description: Array of network IDs to query whitelistedContracts: type: array items: type: string description: Array of contract addresses to not filter out in the response NonEmptyStringWith255MaxLengthAndSpecialChars: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'()\[\]*]+(?<=\S)$ maxLength: 255 example: An example name ecdsaValidatorOptions: type: string enum: - zerodev_signer_to_ecdsa - zerodev_multi_chain ExportEmbeddedWalletResponse: required: - exportBundle type: object properties: exportBundle: type: string NonEmptyDomainUrlWith255MaxLength: type: string pattern: ^[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$|^https?:\/\/[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?)*(\.[a-zA-Z]{2,})?(:\d+)?(\/.*)?$ maxLength: 255 example: https://app.xyz.com OauthInitAuthRequest: type: object required: - state properties: state: type: string description: Temporary auth state for oauth2 access redirectUrl: $ref: '#/components/schemas/OptionalNonEmptyUrlWithLocalhostAndDeepLink' ssoProviderId: $ref: '#/components/schemas/uuid' CreateExchangeTransferRequest: type: object required: - to - amount - currency properties: to: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' amount: type: number description: the amount to transfer minimum: 0 currency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' network: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' networkObject: type: object description: The chain and network to be used for the transaction. Note that Kraken does not support specifying the network. required: - networkId - chainName properties: networkId: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' chainName: $ref: '#/components/schemas/ChainEnum' id: $ref: '#/components/schemas/uuid' description: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' mfaCode: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' SignMessageEip7702Auth: type: object description: EIP-7702 auth properties: address: type: string description: Address that signed the authorization chainId: type: number description: Chain ID nonce: type: number description: Nonce required: - address - chainId - nonce TurnkeyCreateWalletAccountsRequestBody: deprecated: true required: - organizationId - parameters - timestampMs - type type: object properties: organizationId: $ref: '#/components/schemas/uuid' parameters: $ref: '#/components/schemas/TurnkeyCreateWalletAccountsRequestBodyParameters' timestampMs: $ref: '#/components/schemas/NonEmptyString' type: $ref: '#/components/schemas/NonEmptyString' RoomTypeEnum: type: string enum: - threshold - full UserFieldsCheckResponse: type: object required: - field - value - available properties: field: type: string value: type: string available: type: boolean RegisterEmbeddedWalletSessionKeyResponse: required: - publicKey - expiresAt type: object properties: publicKey: type: string expiresAt: type: number NonEmptyStringWith50MaxLength: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name maxLength: 50 DelegatedShareDeliveryRequest: type: object properties: encryptedDelegatedShare: type: object properties: alg: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' iv: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' ct: $ref: '#/components/schemas/NonEmptyStringWith4096MaxLength' tag: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' ek: $ref: '#/components/schemas/NonEmptyStringWith4096MaxLength' kid: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' required: - alg - iv - ct - tag - ek required: - encryptedDelegatedShare CreateRoomsWithoutWalletIdRequest: type: object required: - roomType - thresholdSignatureScheme properties: roomType: $ref: '#/components/schemas/RoomTypeEnum' thresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' roomCount: $ref: '#/components/schemas/RoomCount' OauthResultStatus: type: string enum: - pending - completed SmsVerificationCreateRequest: required: - phoneNumber - phoneCountryCode - isoCountryCode type: object properties: phoneCountryCode: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' phoneNumber: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' isoCountryCode: $ref: '#/components/schemas/NonEmptyIsoCountryCode' captchaToken: $ref: '#/components/schemas/captchaToken' DeleteUserPasskeyRequest: type: object required: - passkeyId properties: passkeyId: $ref: '#/components/schemas/uuid' OAuthError: type: string pattern: ^[a-zA-Z_\-]{5,100}$ description: Valid oauth error example: access_denied CreateRoomsRequest: type: object required: - roomType properties: roomType: $ref: '#/components/schemas/RoomTypeEnum' roomCount: $ref: '#/components/schemas/RoomCount' SdkViewSection: type: object description: A section used create the view in the sdk. required: - type properties: type: $ref: '#/components/schemas/SdkViewSectionType' label: type: string description: The label for the section. This will be displayed above the section or as part of the separator component if it is a Separator section. numOfItemsToDisplay: type: integer description: The deafult number of items to display in the section. For Wallet section, represents the number of wallet items to be displayed by default. User has to click a button to view more options if there are any. For Social section, represents the number of social providers to be displayed by default. User has to click a button to view more options if there are any. defaultItem: type: string description: The option to be displayed as the main one. The default item will be displayed in a more prominent way than the rest of the items in the section. For Wallet section, represents the wallet item to be displayed by default. For Social section, represents the social provider to be displayed by default. alignment: $ref: '#/components/schemas/SdkViewSectionAlignment' ckbWalletString: type: - string - 'null' description: CKB wallet address pattern: ^(ckb1q|ckt1q)[0-9a-z]{25,111}$ example: ckt1q9876543210abcdefghijklmnopqrstuvwxyz AssetExposure: type: object required: - asset - spenderToInfo properties: asset: $ref: '#/components/schemas/Asset' spenderToInfo: type: object additionalProperties: type: object required: - amount properties: amount: type: string spenderAlias: type: string usdValue: type: string MobileSettings: type: object properties: deeplinkUrlsEnabled: type: boolean description: Whether to enable whitelisting mobile deeplink URLs, which will be used for redirecting back to the mobile app. Is required for many features such as social sign in. MFAGetRecoveryCodesResponse: type: object required: - count - recoveryCodes properties: count: type: integer description: The number of recovery codes available recoveryCodes: type: array items: type: string description: Recovery codes for the user to use in case they lose access to their MFA device PasskeyRegisterRequest: type: object required: - id - rawId - response - clientExtensionResults - type properties: id: $ref: '#/components/schemas/NonEmptyString' rawId: $ref: '#/components/schemas/NonEmptyString' response: $ref: '#/components/schemas/PasskeyRegistrationCredentialV2' clientExtensionResults: $ref: '#/components/schemas/AuthenticationExtensionsClientOutputs' authenticatorAttachment: $ref: '#/components/schemas/AuthenticatorAttachment' type: $ref: '#/components/schemas/PasskeyCredentialType' createMfaToken: $ref: '#/components/schemas/CreateMfaToken' SmsVerificationRetryRequest: required: - verificationUUID - phoneCountryCode - phoneNumber - isoCountryCode type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' phoneCountryCode: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' phoneNumber: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' isoCountryCode: $ref: '#/components/schemas/NonEmptyIsoCountryCode' captchaToken: $ref: '#/components/schemas/captchaToken' 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 Exchange: type: object required: - exchange properties: id: $ref: '#/components/schemas/uuid' exchange: $ref: '#/components/schemas/ExchangeKeyEnum' enabledAt: type: - string - 'null' format: date-time socialProvider: $ref: '#/components/schemas/ProviderEnum' onRampProvider: $ref: '#/components/schemas/ProviderEnum' AccountList: type: array items: $ref: '#/components/schemas/Account' AttestationConveyancePreference: type: string enum: - direct - enterprise - indirect - none ReshareRequest: type: object required: - clientKeygenIds - oldThresholdSignatureScheme - newThresholdSignatureScheme properties: clientKeygenIds: type: array items: $ref: '#/components/schemas/NonEmptyBase58StringWith100MaxLength' oldThresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' newThresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' delegateToProjectEnvironment: type: boolean revokeDelegation: type: boolean OauthRedirectRequest: type: object properties: code: $ref: '#/components/schemas/OAuthCode' state: $ref: '#/components/schemas/ValidStringQueryParam' id_token: $ref: '#/components/schemas/OauthRedirectRequestIdToken' error: $ref: '#/components/schemas/OAuthError' CoinbaseOnrampOrderPaymentLinkType: type: string description: The type of payment link. enum: - PAYMENT_LINK_TYPE_APPLE_PAY_BUTTON WalletBitcoinConfig: type: object properties: addressType: type: string network: type: string Network: type: object properties: networkId: type: number example: '1' chainName: type: string example: Ethereum Mainnet enabled: type: boolean rpcUrl: type: string iconUrl: type: string type: type: string enum: - custom - default required: - networkId - enabled - chainName SdkViewSectionAlignment: type: string enum: - center - left - right ProjectSettings: type: object properties: environmentName: $ref: '#/components/schemas/EnvironmentEnum' chains: type: array items: $ref: '#/components/schemas/ProjectSettingsChains' customFields: type: array items: $ref: '#/components/schemas/ProjectSettingsKyc' kyc: type: array items: $ref: '#/components/schemas/ProjectSettingsKyc' design: $ref: '#/components/schemas/ProjectSettingsDesign' general: $ref: '#/components/schemas/ProjectSettingsGeneral' privacy: $ref: '#/components/schemas/ProjectSettingsPrivacy' providers: type: array description: External integrations like e-mail, social credentials, mpc providers, etc. items: $ref: '#/components/schemas/Provider' exchanges: type: array description: exchanges such as coinbase, binance, etc items: $ref: '#/components/schemas/Exchange' sdk: $ref: '#/components/schemas/ProjectSettingsSdk' security: $ref: '#/components/schemas/ProjectSettingsSecurity' networks: type: array items: $ref: '#/components/schemas/NetworkConfigurationResponse' required: - chains - kyc - design - general - privacy - sdk - security btcWalletString: type: - string - 'null' description: BTC wallet address pattern: ^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,59}$ example: 3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5 Eip712Domain: type: object properties: name: type: string version: type: string chainId: type: number verifyingContract: $ref: '#/components/schemas/WalletPublicKey' MFAAuthRecoveryDevicePostRequest: type: object required: - code properties: createMfaToken: $ref: '#/components/schemas/CreateMfaToken' code: type: string description: A one time use recovery code BadRequest: type: object properties: error: type: string WalletPublicKey: type: string pattern: ^[A-Za-z0-9]{18,100}$ description: Valid blockchain wallet address, must be an alphanumeric string without any special characters example: '0xbF394748301603f18d953C90F0b087CBEC0E1834' maxLength: 255 GlobalWalletSettings: type: object required: - id - walletName properties: id: $ref: '#/components/schemas/uuid' walletName: $ref: '#/components/schemas/OptionalNonEmptyStringWith50MaxLength' popupPageTitle: $ref: '#/components/schemas/OptionalNonEmptyStringWith50MaxLength' walletIconUrl: $ref: '#/components/schemas/OptionalNonEmptyIconUrl' customCssUrl: $ref: '#/components/schemas/OptionalNonEmptyCssUrl' termsOfServiceUrl: $ref: '#/components/schemas/OptionalNonEmptyUrl' privacyPolicyUrl: $ref: '#/components/schemas/OptionalNonEmptyUrl' termsOfServiceAndPrivacyPolicyMarkdown: $ref: '#/components/schemas/OptionalNonEmptyMarkdownText' customMenuLinks: type: array items: type: object required: - label - url properties: label: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' url: $ref: '#/components/schemas/NonEmptyUrl' enableLoginWithExternalWallets: type: boolean enabledAt: type: - string - 'null' description: If global wallet is enabled, then this timestamp will be present. format: date-time SupportedSecurityMethods: type: object properties: passkey: $ref: '#/components/schemas/SupportedSecurityMethod' email: $ref: '#/components/schemas/SupportedSecurityMethod' password: $ref: '#/components/schemas/SupportedSecurityMethod' SmsCountryCode: type: object required: - isoCountryCode - phoneCountryCode properties: isoCountryCode: $ref: '#/components/schemas/NonEmptyIsoCountryCode' phoneCountryCode: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' TransferDestinationList: type: array items: $ref: '#/components/schemas/TransferDestination' MfaBackupCodeAcknowledgement: type: - string - 'null' enum: - pending - complete OAuthCode: type: string pattern: ^[a-zA-Z0-9_\.\-\/\\%*!+=]{5,1500}$ description: Valid oauth code example: 4/0AVHEtk436ug4uWwZN9i2PDpxGTVnLr63IqTNFzTInHce1q2JHQyOCJut9IK2SCZh4JaoSA SolanaPublicKey: type: string pattern: ^[1-9A-HJ-NP-Za-km-z]{43,44}$ description: Valid Solana wallet address, must be a 44-character string using base58 characters example: vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg MergeUserConflictResolutions: type: object description: Contains the resolutions for merging two users properties: mergeUserResolutions: type: array items: $ref: '#/components/schemas/MergeUserConflictResolution' NonEmptyUrl: type: string pattern: ^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$ example: https://website-sample.com caip2: description: CAIP-2 Chain ID (https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-2.md) type: string pattern: ^[-a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$ minLength: 5 maxLength: 41 example: eip155:1 MFAMethodsResponse: type: object required: - devices - passkeys - userHasVerifiedMfaMethods properties: devices: type: array items: $ref: '#/components/schemas/MFADevice' passkeys: type: array items: $ref: '#/components/schemas/UserPasskey' userHasVerifiedMfaMethods: type: boolean description: Whether or not the user has any verified MFA methods WalletProviderEnum: type: string enum: - browserExtension - custodialService - walletConnect - qrCode - deepLink - embeddedWallet - smartContractWallet RoomCount: type: integer description: Number of rooms to create default: 5 minimum: 1 maximum: 20 SignMessageAuthorizationSignature: type: object description: Authorization signature data (optional) properties: address: type: string description: Address that signed the authorization chainId: type: number description: Chain ID for the authorization signature nonce: type: number description: Nonce used in the authorization signature r: type: string description: R component of the ECDSA signature s: type: string description: S component of the ECDSA signature v: type: string description: V component of the ECDSA signature yParity: type: number description: Y parity of the signature (0 or 1) ErrorMessageWithCode: type: object properties: code: type: string message: type: string AuthenticatorAttachment: type: string enum: - cross-platform - platform Funding: type: object properties: onramps: type: array items: $ref: '#/components/schemas/OnrampProviders' externalWallets: type: object properties: enabled: type: boolean minAmount: type: object properties: amount: type: string currency: type: string defaultSettings: type: object properties: chainSettings: type: array items: $ref: '#/components/schemas/ExternalWalletFundingDefaultSettings' required: - enabled required: - onramps WaasWalletSettings: type: object properties: hasDeniedDelegatedAccess: type: boolean shouldRefreshOnNextSignOn: type: boolean reshareOnNextSignOn: $ref: '#/components/schemas/ThresholdSignatureScheme' revokeOnNextSignOn: type: boolean CoinbaseOnrampFee: type: object required: - type - amount - currency properties: type: $ref: '#/components/schemas/CoinbaseOnrampFeeType' amount: $ref: '#/components/schemas/NonEmptyAmountString' currency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' SocialSignInProviderEnum: type: string enum: - apple - bitbucket - coinbasesocial - discord - epicgames - facebook - farcaster - github - gitlab - google - instagram - linkedin - microsoft - twitch - twitter - telegram - spotify - tiktok - line - steam - shopify - kraken - okta InitEmailAuthRequest: required: - walletId - turnkeyEmailAuthTargetPublicKey type: object properties: walletId: $ref: '#/components/schemas/uuid' turnkeyEmailAuthTargetPublicKey: $ref: '#/components/schemas/NonEmptyString' OauthProviderLoginUrl: type: object required: - url properties: url: type: string format: url TurnkeySignedRequest: deprecated: true required: - body - stamp - url type: object properties: body: type: string stamp: $ref: '#/components/schemas/TurnkeyStamp' url: $ref: '#/components/schemas/NonEmptyString' UpdateRecoveryEmailRequest: required: - turnkeySignedRequest type: object properties: turnkeySignedRequest: allOf: - $ref: '#/components/schemas/TurnkeySignedRequest' deprecated: true dogeWalletString: type: - string - 'null' description: DOGE wallet address pattern: ^D[a-zA-Z0-9_.-]{33}$ example: DPcy35vmuk8GXcfu1vgFFEeij3BuYYJQKB TransferDestinationResponse: type: object required: - enforcesAddressWhitelist - destinations properties: destinations: $ref: '#/components/schemas/TransferDestinationList' enforcesAddressWhitelist: type: boolean description: this variable represents if the exchange has a concept of whitelists. If false, then all addresses are accepted and there is no whitelist. PasskeyCredentialHint: type: string enum: - hybrid - security-key - client-device Eip712Types: type: object additionalProperties: type: array items: $ref: '#/components/schemas/Eip712TypeMember' InternalServerError: type: object properties: error: type: string example: Internal Server Error ResidentKeyRequirement: type: string enum: - discouraged - preferred - required CustomFieldValidationRules: type: object properties: unique: type: boolean description: If this field must be unique for every user in the environment regex: type: string maxLength: 255 description: The regex pattern that the text field must match example: ^0x validOptions: type: array items: $ref: '#/components/schemas/CustomFieldValidValue' description: The dropdown options for the select field example: - label: small - label: medium - label: large checkboxText: type: string maxLength: 255 description: The text that will be displayed for the checkbox field example: Agree to the terms and conditions description: Optional validation rules for the custom field CurrencyType: type: string enum: - fiat - crypto CountryCode: type: - string - 'null' description: Standard ISO 3166-1 alpha-2 two-letter country code pattern: ^[A-Z]{2}$ example: US maxLength: 255 UserFieldsCheckEnum: type: string enum: - email - username - name-service-subdomain-handle Currency: type: object required: - name - symbol - type - code - value properties: name: type: string symbol: type: string type: $ref: '#/components/schemas/CurrencyType' code: type: string value: type: number GetUserPasskeysResponse: required: - passkeys - count type: object properties: passkeys: type: array description: The passkeys belonging to the user items: $ref: '#/components/schemas/UserPasskey' count: type: number JwtVerifiedCredential: type: object required: - id - format - signInEnabled properties: address: $ref: '#/components/schemas/WalletPublicKey' chain: type: string refId: $ref: '#/components/schemas/uuid' signerRefId: $ref: '#/components/schemas/uuid' email: type: string format: email id: $ref: '#/components/schemas/uuid' name_service: $ref: '#/components/schemas/NameServiceData' public_identifier: description: This is used to publicly identify a verified credential in a human-friendly way. For example, this will be the email address if credential format=email. type: string wallet_name: type: string wallet_provider: $ref: '#/components/schemas/WalletProviderEnum' wallet_properties: $ref: '#/components/schemas/WalletProperties' format: $ref: '#/components/schemas/JwtVerifiedCredentialFormatEnum' oauth_provider: $ref: '#/components/schemas/ProviderEnum' oauth_username: type: string oauth_display_name: type: - string - 'null' oauth_account_id: type: - string - 'null' phoneNumber: description: This field contains the phone number in the country. This could also contain the area code within a country. example: '9171113333' type: string phoneCountryCode: description: This field contains the phone international country code. See https://countrycode.org/ example: '1' type: string isoCountryCode: description: ISO-3166 two-character country code. See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes example: US type: string oauth_account_photos: type: array items: type: string oauth_emails: type: array items: type: string oauth_metadata: type: object description: This object contains JSON metadata for a social-based verified credential. It may contain data about the user that does not fit into the other structured fields, and could include arbitrary fields about the user from the oauth provider's API. previous_users: description: This will only be provided in the responses for GET /users/{userId}.Previous user IDs that owned this verified credential and was tranfered to the current user ID. type: array items: $ref: '#/components/schemas/uuid' embedded_wallet_id: type: - string - 'null' wallet_additional_addresses: type: array items: $ref: '#/components/schemas/WalletAdditionalAddress' lastSelectedAt: description: This timestamp indicates the last time this verified wallet was either connected to the user account or selected to become the primary wallet on the account. type: string format: date-time signInEnabled: type: boolean description: This indicates if the user can sign in with this credential verifiedAt: type: string format: date-time description: This timestamp indicates the last time this verified credential was verified. OptionalNonEmptyStringWith255MaxLength: type: string pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name maxLength: 255 CoinbaseOnrampOrderPaymentMethod: type: string description: The type of payment method to be used to complete an onramp order. enum: - GUEST_CHECKOUT_APPLE_PAY ExternalWalletFundingTokenRule: type: string enum: - recommended - exact ValidStringQueryParam: type: string pattern: ^[a-zA-Z0-9 _.,:!?&%@\/'-]*$ maxLength: 255 description: '' Username: type: - string - 'null' description: Alphanumeric with slugs and underscores username pattern: ^$|^[\p{L}\p{N}_-]{3,20}$ example: johndoe maxLength: 255 EthSolBtcSuiFlowCosmosTronWalletAddress: type: string pattern: ^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44}|(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,70}|0x[a-fA-F0-9]{64}|0x[a-fA-F0-9]{16}|[a-z0-9]{3,16}1[02-9ac-hj-np-z]{38,60}|T[A-Za-z1-9]{33})$ description: Valid Eth, Solana, Btc, Sui, Flow, Cosmos, and TRON wallet addresses 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 Asset: type: object properties: address: oneOf: - $ref: '#/components/schemas/WalletPublicKey' - $ref: '#/components/schemas/SolanaPublicKey' chainId: type: number chainName: type: string decimals: type: number logoUrl: type: string name: type: string symbol: type: string type: type: string required: - address - decimals - chainName - logoUrl - name - symbol - type WaasChainEnum: type: string enum: - EVM - SVM - SUI - BTC - TON OptionalNonEmptyString: type: string pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name VerifyRequest: required: - messageToSign - signedMessage - publicWalletAddress - chain - walletName - walletProvider type: object properties: oauth: $ref: '#/components/schemas/OauthProviderRequest' signedMessage: type: string example: signed message messageToSign: type: string example: message to sign publicWalletAddress: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' chain: $ref: '#/components/schemas/ChainEnum' walletName: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' walletProvider: $ref: '#/components/schemas/WalletProviderEnum' skipEmptyAccountCheck: type: boolean description: Used for wallet transfers. When set to true it will execute the transfer even if the wallet is the only one that the transferor has.Be warn that this will result an orphan account that will be impossible to access. captchaToken: $ref: '#/components/schemas/captchaToken' network: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' additionalWalletAddresses: type: array description: Additional addresses associated with the wallet. items: $ref: '#/components/schemas/WalletAdditionalAddress' backup: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' password: type: string maxLength: 100 passwordSource: $ref: '#/components/schemas/PasswordSourceTypeEnum' sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' InitEmailAuthResponse: required: - turnkeyUserId - turnkeyApiKeyId type: object properties: turnkeyUserId: $ref: '#/components/schemas/uuid' turnkeyApiKeyId: $ref: '#/components/schemas/uuid' TokenBalance: type: object required: - address - name - symbol - decimals - logoURI - balance - rawBalance properties: networkId: type: integer address: $ref: '#/components/schemas/WalletPublicKey' name: type: string symbol: type: string decimals: type: integer logoURI: type: string balance: type: number rawBalance: type: number price: type: number marketValue: type: number liquidityPoolSizeUsd: type: number totalSupply: type: string isNative: type: boolean AuthenticatorSelectionCriteria: type: object properties: authenticatorAttachment: $ref: '#/components/schemas/AuthenticatorAttachment' requireResidentKey: type: boolean residentKey: $ref: '#/components/schemas/ResidentKeyRequirement' userVerification: $ref: '#/components/schemas/UserVerificationRequirement' MFAAction: type: string enum: - wallet.waas.sign - wallet.waas.export - wallet.waas.reshare - wallet.waas.refresh - user.update ProjectSettingsPrivacy: type: object properties: collectIp: type: boolean GeneratedTokenResponse: type: object required: - token properties: token: type: string description: The short-lived JWT token ExchangeTransaction: type: object properties: transactionId: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' transactionHash: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' status: type: string description: Current status of the transaction amount: type: number description: the amount transfered currency: type: string description: Chain symbol that funds were transfered in. createdAt: type: string format: date-time NonEmptyString: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name ProviderAgreement: description: Reference to the user that accepted the terms and conditions, if one is necessary for this provider. type: object required: - termsUrl - userId - email - createdAt properties: termsUrl: description: The url of the terms and conditions or privacy policy needed to be shown to the client when creating a new provider that requires terms and conditions to be signed before starting configuration. type: string maxLength: 255 email: type: string format: email maxLength: 255 userId: $ref: '#/components/schemas/uuid' createdAt: type: string format: date-time EmbeddedWalletAuthType: type: string enum: - mpc OpenRoomResponseWithServerKeygenIds: allOf: - $ref: '#/components/schemas/OpenRoomResponse' - type: object required: - serverKeygenIds ExchangeKeyEnum: type: string description: Source exchange identifier enum: - coinbase - kraken AuthenticationExtensionsClientOutputs: type: object properties: appid: type: boolean credProps: type: object hmacCreateSecret: type: boolean CreateMfaToken: type: object required: - singleUse properties: singleUse: type: boolean description: Whether or not the token is single use ChainConfiguration: type: object required: - name - enabled - primary properties: name: type: string enabled: type: boolean primary: type: boolean DeleteEmbeddedWalletsRequest: required: - turnkeySignedRequest type: object properties: turnkeySignedRequest: $ref: '#/components/schemas/TurnkeySignedRequest' EmailVerificationRetryRequest: required: - verificationUUID - email type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' email: type: string format: email maxLength: 255 captchaToken: $ref: '#/components/schemas/captchaToken' SignMessageSvmTransaction: type: object description: Solana serialized transactions properties: chainId: type: string description: Chain identifier method: type: string description: Method identifier serializedTransactions: type: array items: type: string description: Array of serialized transaction strings required: - chainId - method - serializedTransactions origin: type: string pattern: ^(https?|chrome-extension|moz-extension):\/\/(?!.*(\*).*(\*).*)[*a-zA-Z0-9._-]{1,256}(:[*0-9]{1,5})?$ description: An [RFC 6454](https://www.rfc-editor.org/rfc/rfc6454) valid url. Must not include any paths. A single wildcard (*) can be used as the first subdomain. example: http://*.example.com 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 EmailVerificationCreateRequest: required: - email type: object properties: email: type: string format: email maxLength: 255 captchaToken: $ref: '#/components/schemas/captchaToken' WalletConnectorKey: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-']+(?<=\S)$ minLength: 2 maxLength: 50 example: metamask CustomFieldType: type: string enum: - text - checkbox - select TransactionList: type: array items: $ref: '#/components/schemas/ExchangeTransaction' MultichainAccountBalanceResponse: type: object required: - chainBalances properties: chainBalances: type: array items: type: object required: - chain - networks - walletAddress properties: walletAddress: type: string chain: $ref: '#/components/schemas/ChainEnum' networks: type: array items: type: object properties: networkId: type: integer balances: type: array items: $ref: '#/components/schemas/TokenBalance' AuthenticatorTransportProtocol: type: string enum: - AUTHENTICATOR_TRANSPORT_INTERNAL - AUTHENTICATOR_TRANSPORT_USB - AUTHENTICATOR_TRANSPORT_NFC - AUTHENTICATOR_TRANSPORT_BLE - AUTHENTICATOR_TRANSPORT_HYBRID UserFields: type: object properties: email: $ref: '#/components/schemas/emailOrEmptyString' alias: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' firstName: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' lastName: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' jobTitle: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' phoneNumber: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' tShirtSize: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' team: $ref: '#/components/schemas/OptionalNonEmptyStringWith255MaxLength' policiesConsent: type: boolean country: $ref: '#/components/schemas/CountryCode' username: $ref: '#/components/schemas/Username' captchaToken: $ref: '#/components/schemas/captchaToken' metadata: type: object mfaBackupCodeAcknowledgement: $ref: '#/components/schemas/MfaBackupCodeAcknowledgement' btcWallet: $ref: '#/components/schemas/btcWalletString' kdaWallet: $ref: '#/components/schemas/kdaWalletString' ltcWallet: $ref: '#/components/schemas/ltcWalletString' ckbWallet: $ref: '#/components/schemas/ckbWalletString' kasWallet: $ref: '#/components/schemas/kasWalletString' dogeWallet: $ref: '#/components/schemas/dogeWalletString' emailNotification: type: boolean discordNotification: type: boolean newsletterNotification: type: boolean kasWalletString: type: - string - 'null' description: KAS wallet address pattern: ^kaspa:[1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]{56,}$ example: kaspa:qrelgny7sr3vahq69yykxx36m65gvmhryxrlwngfzgu8xkdslum2yxjp3ap8m ProjectSettingsGeneral: type: object properties: displayName: $ref: '#/components/schemas/OptionalNonEmptyString' supportEmail: type: - string - 'null' format: email maxLength: 255 supportText: type: - string - 'null' maxLength: 255 appLogo: type: - string - 'null' format: url imageUserNotInAccessList: type: - string - 'null' format: url imageUserInAccessList: type: - string - 'null' format: url supportUrls: $ref: '#/components/schemas/ProjectSettingsGeneralApps' collectUserDataWelcomeHeader: type: - string - 'null' maxLength: 255 collectUserDataWelcomeMessage: type: - string - 'null' maxLength: 100 skipOptionalKYCFieldDuringOnboarding: type: boolean emailCompanyName: $ref: '#/components/schemas/OptionalNonEmptyString' KycFieldType: type: string enum: - standard - custom UserFieldsCheckParams: type: object required: - field - value properties: field: $ref: '#/components/schemas/UserFieldsCheckEnum' value: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' SdkSettingsRequest: type: object properties: dynamicContextProps: type: object dynamicWagmiSettings: type: object frameworkSettings: $ref: '#/components/schemas/FrameworkSettings' ProjectSettingsSdkWaasDelegatedAccess: type: object properties: enabled: type: boolean description: Whether delegated access is enabled for the environment. If enabled, developer can trigger user to accept delegated access. promptUsersOnSignIn: type: boolean description: Prompt for delegated access when user logs in. requiresDelegation: type: boolean description: If enabled, users will be required to delegate access. MFARegisterPasskeyDeviceGetResponse: type: object required: - id - type - registration properties: id: $ref: '#/components/schemas/uuid' type: $ref: '#/components/schemas/MFADeviceType' registration: type: object required: - rp - user - challenge - pubKeyCredParams properties: attestation: $ref: '#/components/schemas/AttestationConveyancePreference' rp: $ref: '#/components/schemas/PublicKeyCredentialRpEntity' user: $ref: '#/components/schemas/PublicKeyCredentialUserEntity' challenge: $ref: '#/components/schemas/NonEmptyString' pubKeyCredParams: type: array items: $ref: '#/components/schemas/PublicKeyCredentialParameters' timeout: type: number authenticatorSelection: $ref: '#/components/schemas/AuthenticatorSelectionCriteria' excludeCredentials: type: array items: $ref: '#/components/schemas/PublicKeyCredentialDescriptor' extensions: $ref: '#/components/schemas/AuthenticationExtensionsClientInputs' TooManyRequests: type: object properties: error: type: string example: Too Many Requests VerifyResponse: type: object required: - user - expiresAt properties: mfaToken: type: string jwt: $ref: '#/components/schemas/EncodedJwt' user: $ref: '#/components/schemas/SdkUser' minifiedJwt: $ref: '#/components/schemas/EncodedJwt' expiresAt: description: Format is a unix-based timestamp. When set, this will be the expiration timestamp on the JWT sent using either the `jwt` field or a response httpOnly cookie set by the server. type: number example: '1715620310' HealthcheckResponse: type: object required: - status properties: status: $ref: '#/components/schemas/HealthcheckStatus' HardwareWalletProperties: type: object properties: hardwareWallet: $ref: '#/components/schemas/HardwareWalletEnum' SignMessageSuiTransaction: type: object description: Sui BCS serialized transaction as hex string properties: chainId: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' serializedTransaction: $ref: '#/components/schemas/NonEmptyStringWith16384MaxLength' required: - chainId - serializedTransaction TelegramUser: type: object required: - id - hash - authDate properties: id: type: integer firstName: type: string lastName: type: string hash: type: string photoURL: type: string username: type: string authDate: type: string EnvironmentEnum: type: string enum: - sandbox - live CoinbaseOnrampOrderResponse: type: object required: - order properties: order: $ref: '#/components/schemas/CoinbaseOnrampOrder' paymentLink: type: object required: - url - paymentLinkType properties: url: type: string description: The URL to the hosted widget the user should be redirected to. For certain payment link types you can append your own redirect_url query parameter to this URL to ensure the user is redirected back to your app after the widget completes. example: https://pay.coinbase.com/v2/api-onramp/apple-pay?sessionToken=MWYwNWQwODktZTZlYy02OTdlLTgzZTYtMTI3NzcyOWJhNjM3 paymentLinkType: $ref: '#/components/schemas/CoinbaseOnrampOrderPaymentLinkType' BaseUser: type: object required: - id - projectEnvironmentId properties: id: $ref: '#/components/schemas/uuid' projectEnvironmentId: $ref: '#/components/schemas/uuid' verifiedCredentials: type: array items: $ref: '#/components/schemas/JwtVerifiedCredential' lastVerifiedCredentialId: $ref: '#/components/schemas/uuid' sessionId: $ref: '#/components/schemas/uuid' alias: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' country: $ref: '#/components/schemas/CountryCode' email: type: - string - 'null' format: email maxLength: 255 firstName: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' jobTitle: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' lastName: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' phoneNumber: type: - string - 'null' maxLength: 255 policiesConsent: type: - boolean - 'null' tShirtSize: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' team: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' username: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' firstVisit: type: string format: date-time lastVisit: type: string format: date-time newUser: type: boolean metadata: type: object mfaBackupCodeAcknowledgement: $ref: '#/components/schemas/MfaBackupCodeAcknowledgement' btcWallet: type: - string - 'null' kdaWallet: type: - string - 'null' ltcWallet: type: - string - 'null' ckbWallet: type: - string - 'null' kasWallet: type: - string - 'null' dogeWallet: type: - string - 'null' emailNotification: type: - boolean - 'null' discordNotification: type: - boolean - 'null' newsletterNotification: type: - boolean - 'null' lists: type: array description: Access lists evaluated by Dynamic when considering access for the user. items: type: string scope: type: string description: 'A whitespace-separate list of permissions associated with the JWT token issued. This conforms to the JWT standard for scope claims: https://datatracker.ietf.org/doc/html/rfc8693#section-4.2' example: superuser marketing operations missingFields: type: array items: $ref: '#/components/schemas/ProjectSettingsKyc' parameters: activityId: in: path name: activityId required: true description: ID of activity schema: $ref: '#/components/schemas/uuid' walletId: in: path name: walletId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of the wallet relatedOriginRpId: in: query name: relatedOriginRpId required: false description: Related origin rp id schema: type: string walletAddress: in: path name: walletAddress schema: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' required: true description: Public key (address) of the wallet mfaAuthToken: in: header name: x-mfa-auth-token required: true description: MFA authentication token schema: type: string exchangeKey: in: path name: exchangeKey required: true description: Exchange identifier schema: $ref: '#/components/schemas/ExchangeKeyEnum' mfaDeviceId: in: path name: mfaDeviceId required: true description: ID of the MFA Device schema: $ref: '#/components/schemas/uuid' environmentId: in: path name: environmentId required: true description: ID of the environment schema: $ref: '#/components/schemas/uuid' accountId: in: path name: accountId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of an exchange account providerType: in: path name: providerType required: true description: Type of external auth provider schema: $ref: '#/components/schemas/ProviderEnum' globalWalletConnectionId: in: path name: globalWalletConnectionId required: true description: ID of the global wallet connection schema: $ref: '#/components/schemas/uuid' userId: in: path name: userId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of the user oauthAccountId: in: path name: oauthAccountId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of a user oauth account responses: BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequest' NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFound' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Forbidden' TooManyRequests: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' ForbiddenWithErrorAndPayload: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenWithErrorAndPayload' InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerError' UnprocessableEntity: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/UnprocessableEntity' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT