openapi: 3.0.1 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' /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 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/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' /sdk/{environmentId}/refresh: post: operationId: refreshAuth summary: Endpoint to refresh the JWT auth token using the current valid JWT auth token in the authorization header 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. This will return a string that the SDK can manipulate before redirecting the browser to. 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 description: 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 description: 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 description: 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 description: 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 description: 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 description: 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 description: 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 description: 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 description: 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 description: 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 description: Registers a session key for an embedded wallet 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 description: Requests an export of an embedded wallet 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' /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 description: Create a new waas account 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 actual backup 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 backup 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 Coinbase account 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 given dynamic user 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: SdkViewSectionType: type: string enum: - email - emailAndPhone - phone - separator - social - text - wallet - passkey CoinbaseOnrampGetBuyUrlResponse: type: object required: - url properties: url: type: string description: The URL to the hosted widget the user should be redirected to. EmailVerificationCreateRequest: required: - email type: object properties: email: type: string format: email maxLength: 255 captchaToken: $ref: '#/components/schemas/captchaToken' 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 SignInProviderEnum: type: string description: The 'turnkey' value is deprecated and will be removed in a future version. enum: - dynamic - magicLink - blocto - turnkey - coinbaseWaas UserFieldsCheckParams: type: object required: - field - value properties: field: $ref: '#/components/schemas/UserFieldsCheckEnum' value: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' UserFieldsCheckEnum: type: string enum: - email - username - name-service-subdomain-handle 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 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' NonEmptyStringWith4096MaxLength: type: string maxLength: 4096 description: A string with a max length of 4096 characters 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 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) 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' 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 BackupKeySharesToLocationRequest: type: object required: - location properties: location: $ref: '#/components/schemas/WaasBackupOptionsEnum' CoinbaseOnrampFeeType: type: string description: The type of fee. enum: - FEE_TYPE_NETWORK - FEE_TYPE_EXCHANGE RoomTypeEnum: type: string enum: - threshold - full 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' EnvironmentEnum: type: string enum: - sandbox - live RecoverMultipleClientKeySharesResponse: type: object required: - keyShares properties: keyShares: type: array items: $ref: '#/components/schemas/WalletKeyShareInfoWithEncryptedAccountCredential' 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 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' SupportedSecurityMethods: type: object properties: passkey: $ref: '#/components/schemas/SupportedSecurityMethod' email: $ref: '#/components/schemas/SupportedSecurityMethod' password: $ref: '#/components/schemas/SupportedSecurityMethod' 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 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 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 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 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' 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 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) SdkViewSectionAlignment: type: string enum: - center - left - right AssetTransfer: type: object properties: rawValue: type: string summary: type: string usdPrice: type: string value: type: string MergeUserConflictResolutions: type: object description: Contains the resolutions for merging two users properties: mergeUserResolutions: type: array items: $ref: '#/components/schemas/MergeUserConflictResolution' ZerodevBundlerProvider: type: string enum: - STACKUP - PIMLICO - ALCHEMY - GELATO DeleteUserPasskeyRequest: type: object required: - passkeyId properties: passkeyId: $ref: '#/components/schemas/uuid' 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' PriceData: type: object properties: nativeTokenUsdPrice: type: number 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 WalletProperties: anyOf: - $ref: '#/components/schemas/TurnkeyWalletProperties' - $ref: '#/components/schemas/HardwareWalletProperties' - $ref: '#/components/schemas/CoinbaseMpcWalletProperties' - $ref: '#/components/schemas/SmartWalletProperties' - $ref: '#/components/schemas/WaasWalletProperties' 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' 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' 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' 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 ChainConfigurations: type: array description: Chain specific configuration for dynamic embedded wallets items: $ref: '#/components/schemas/ChainConfiguration' InitEmailAuthRequest: required: - walletId - turnkeyEmailAuthTargetPublicKey type: object properties: walletId: $ref: '#/components/schemas/uuid' turnkeyEmailAuthTargetPublicKey: $ref: '#/components/schemas/NonEmptyString' CoinbaseMpcWalletProperties: type: object properties: claimed: type: boolean description: Dynamic pregenerated this wallet and stored the passcode source: $ref: '#/components/schemas/PasswordSourceTypeEnum' ProjectSettingsDesignButton: type: object properties: background: type: string fontColor: type: string paddingHeight: type: integer paddingWidth: type: integer radius: type: integer TurnkeySignedRequest: deprecated: true required: - body - stamp - url type: object properties: body: type: string stamp: $ref: '#/components/schemas/TurnkeyStamp' url: $ref: '#/components/schemas/NonEmptyString' InitEmailAuthResponse: required: - turnkeyUserId - turnkeyApiKeyId type: object properties: turnkeyUserId: $ref: '#/components/schemas/uuid' turnkeyApiKeyId: $ref: '#/components/schemas/uuid' ProjectSettingsDesignWidget: type: object properties: backgroundColor: type: string border: type: string radius: type: integer textColor: type: string theme: type: string ckbWalletString: type: string description: CKB wallet address pattern: ^(ckb1q|ckt1q)[0-9a-z]{25,111}$ example: ckt1q9876543210abcdefghijklmnopqrstuvwxyz nullable: true CreateRoomsWithoutWalletIdResponse: type: object required: - roomIds properties: roomIds: type: array items: type: string Unauthorized: type: object properties: error: type: string example: No jwt provided! dogeWalletString: type: string description: DOGE wallet address pattern: ^D[a-zA-Z0-9_.-]{33}$ example: DPcy35vmuk8GXcfu1vgFFEeij3BuYYJQKB nullable: true Eip712Types: type: object additionalProperties: type: array items: $ref: '#/components/schemas/Eip712TypeMember' UpdateWaasWalletSettingsResponse: type: object required: - walletId - settings properties: walletId: $ref: '#/components/schemas/uuid' settings: $ref: '#/components/schemas/WaasWalletSettings' CreateRoomsWithoutWalletIdRequest: type: object required: - roomType - thresholdSignatureScheme properties: roomType: $ref: '#/components/schemas/RoomTypeEnum' thresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' roomCount: $ref: '#/components/schemas/RoomCount' NonEmptyBase58StringWith100MaxLength: type: string pattern: ^[1-9A-HJ-NP-Za-km-z]+$ maxLength: 100 description: A base58 string with a max length of 100 characters AccountList: type: array items: $ref: '#/components/schemas/Account' ChainEnum: type: string enum: - ETH - EVM - FLOW - SOL - ALGO - STARK - COSMOS - BTC - ECLIPSE - SUI - SPARK - TRON - APTOS - TON - STELLAR FrameworkSettings: type: object properties: react: $ref: '#/components/schemas/ReactSettings' nextjs: $ref: '#/components/schemas/NextJsSettings' ForbiddenErrorPayload: type: object properties: walletPublicKey: $ref: '#/components/schemas/WalletPublicKey' email: type: string format: email HealthcheckStatus: type: string enum: - healthy - unhealthy PasswordSourceTypeEnum: type: string enum: - dynamic - user WalletAdditionalAddress: type: object description: An additional address associated with a wallet. required: - address - type properties: address: type: string description: An address associated with a wallet. publicKey: type: string description: The public key associated with the address. type: $ref: '#/components/schemas/WalletAddressType' 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 AuthStorageEnum: type: string description: Location in the browser where Dynamic will attempt to store the JWT token. enum: - localstorage - cookie HardwareWalletEnum: type: string enum: - ledger 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 SdkUser: allOf: - $ref: '#/components/schemas/BaseUser' - type: object required: - verifiedCredentials MFADeviceType: type: string enum: - totp - passkey - email TurnkeyWalletProperties: deprecated: true type: object properties: turnkeySubOrganizationId: allOf: - $ref: '#/components/schemas/uuid' deprecated: true turnkeyPrivateKeyId: allOf: - $ref: '#/components/schemas/uuid' deprecated: true turnkeyHDWalletId: allOf: - $ref: '#/components/schemas/uuid' deprecated: true isAuthenticatorAttached: type: boolean description: Whether or not the wallet has an authenticator (passkey, api key, etc) attached to it. turnkeyUserId: allOf: - $ref: '#/components/schemas/uuid' deprecated: true isSessionKeyCompatible: type: boolean version: $ref: '#/components/schemas/EmbeddedWalletVersionEnum' ecdsaProviderType: $ref: '#/components/schemas/ecdsaValidatorOptions' entryPointVersion: $ref: '#/components/schemas/ProviderEntryPointVersionEnum' kernelVersion: $ref: '#/components/schemas/ProviderKernelVersionEnum' EmailVerificationMfaRequest: required: - verificationUUID - verificationToken type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' verificationToken: $ref: '#/components/schemas/sixDigitsVerificationToken' createMfaToken: $ref: '#/components/schemas/CreateMfaToken' 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' GlobalWalletConnectionCreateRequest: type: object required: - expiresAt properties: expiresAt: type: string format: date-time 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' 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 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' 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 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' 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' 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 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' WalletProviderEnum: type: string enum: - browserExtension - custodialService - walletConnect - qrCode - deepLink - embeddedWallet - smartContractWallet ProjectSettingsChains: type: object properties: name: type: string enabled: type: boolean networks: type: array items: $ref: '#/components/schemas/Network' required: - name - enabled SmsCountryCode: type: object required: - isoCountryCode - phoneCountryCode properties: isoCountryCode: $ref: '#/components/schemas/NonEmptyIsoCountryCode' phoneCountryCode: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' 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 format: email nullable: true maxLength: 255 firstName: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' jobTitle: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' lastName: $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength' phoneNumber: type: string nullable: true maxLength: 255 policiesConsent: type: boolean nullable: true 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 nullable: true kdaWallet: type: string nullable: true ltcWallet: type: string nullable: true ckbWallet: type: string nullable: true kasWallet: type: string nullable: true dogeWallet: type: string nullable: true emailNotification: type: boolean nullable: true discordNotification: type: boolean nullable: true newsletterNotification: type: boolean nullable: true 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' 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 sixDigitsVerificationToken: type: string pattern: ^[0-9]{6}$ example: '123456' description: A 6-digit number 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 ProviderEntryPointVersionEnum: type: string enum: - v6 - v7 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' CustomFieldType: type: string enum: - text - checkbox - select NonEmptyString: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name 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' 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 OAuthCode: type: string pattern: ^[a-zA-Z0-9_\.\-\/\\%*!+=]{5,1500}$ description: Valid oauth code example: 4/0AVHEtk436ug4uWwZN9i2PDpxGTVnLr63IqTNFzTInHce1q2JHQyOCJut9IK2SCZh4JaoSA AuthenticationExtensionsClientInputs: type: object properties: appid: type: string credProps: type: boolean hmacCreateSecret: type: boolean 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 nullable: true actions: type: array items: type: object required: - action - required properties: action: $ref: '#/components/schemas/MFAAction' required: type: boolean NonEmptyStringWith255MaxLength: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ maxLength: 255 example: An example name Exchange: type: object required: - exchange properties: id: $ref: '#/components/schemas/uuid' exchange: $ref: '#/components/schemas/ExchangeKeyEnum' enabledAt: type: string format: date-time nullable: true socialProvider: $ref: '#/components/schemas/ProviderEnum' onRampProvider: $ref: '#/components/schemas/ProviderEnum' WalletAddressType: type: string enum: - ordinals - payment - cosmos - evm - ton 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 HardwareWalletProperties: type: object properties: hardwareWallet: $ref: '#/components/schemas/HardwareWalletEnum' EmbeddedWalletPasscodeClaimRequest: type: object required: - walletId properties: walletId: $ref: '#/components/schemas/uuid' 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 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 NonEmptyAmountString: type: string pattern: ^(\d+(\.\d+)?|\.\d+)$ description: Digits with optional decimal part example: '100.00' 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. UserFieldsCheckResponse: type: object required: - field - value - available properties: field: type: string value: type: string available: type: boolean PasskeyTransport: type: string enum: - usb - nfc - ble - internal - hybrid ProjectSettingsGeneral: type: object properties: displayName: $ref: '#/components/schemas/OptionalNonEmptyString' supportEmail: type: string format: email maxLength: 255 nullable: true supportText: type: string maxLength: 255 nullable: true appLogo: type: string format: url nullable: true imageUserNotInAccessList: type: string format: url nullable: true imageUserInAccessList: type: string format: url nullable: true supportUrls: $ref: '#/components/schemas/ProjectSettingsGeneralApps' collectUserDataWelcomeHeader: type: string maxLength: 255 nullable: true collectUserDataWelcomeMessage: type: string maxLength: 100 nullable: true skipOptionalKYCFieldDuringOnboarding: type: boolean emailCompanyName: $ref: '#/components/schemas/OptionalNonEmptyString' TurnkeyStamp: deprecated: true required: - stampHeaderName - stampHeaderValue type: object properties: stampHeaderName: $ref: '#/components/schemas/NonEmptyString' stampHeaderValue: type: string WaasWalletSettings: type: object properties: hasDeniedDelegatedAccess: type: boolean shouldRefreshOnNextSignOn: type: boolean reshareOnNextSignOn: $ref: '#/components/schemas/ThresholdSignatureScheme' revokeOnNextSignOn: type: boolean 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 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 SupportedOfframpsResponse: type: object properties: offramps: type: array items: $ref: '#/components/schemas/RampConfiguration' CreateWalletAccountRequest: required: - turnkeySignedRequest type: object properties: turnkeySignedRequest: $ref: '#/components/schemas/TurnkeySignedRequest' MFAUpdateDeviceRequest: type: object required: - default properties: default: type: boolean description: Whether or not this is the default MFA device for the user 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' AuthenticatorAttachment: type: string enum: - cross-platform - platform CoinbaseOnrampOrderPaymentLinkType: type: string description: The type of payment link. enum: - PAYMENT_LINK_TYPE_APPLE_PAY_BUTTON OpenRoomResponseWithServerKeygenIds: allOf: - $ref: '#/components/schemas/OpenRoomResponse' - type: object required: - serverKeygenIds MFARegisterPasskeyDevicePostRequest: type: object required: - id - attestation properties: id: $ref: '#/components/schemas/uuid' attestation: $ref: '#/components/schemas/PasskeyRegisterVerifyRequest' JwtVerifiedCredentialFormatEnum: type: string enum: - blockchain - email - oauth - passkey - phoneNumber - externalUser 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 NameService: type: object properties: registry: type: string example: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e' 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 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' ForbiddenWithErrorAndPayload: type: object properties: error: $ref: '#/components/schemas/ErrorMessageWithCode' payload: $ref: '#/components/schemas/ForbiddenErrorPayload' PublicKeyCredentialRpEntity: required: - name type: object properties: id: $ref: '#/components/schemas/NonEmptyString' name: $ref: '#/components/schemas/NonEmptyString' CoinbaseOnrampBuyUrlExperience: type: string description: Default visual experience. Either transfer funds from Coinbase (send) or buy assets (buy) enum: - buy - send 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. EmailVerificationCreateResponse: type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' email: type: string format: email required: - verificationUUID - email CoinbaseOnrampFee: type: object required: - type - amount - currency properties: type: $ref: '#/components/schemas/CoinbaseOnrampFeeType' amount: $ref: '#/components/schemas/NonEmptyAmountString' currency: $ref: '#/components/schemas/NonEmptyStringWith50MaxLength' EmbeddedWalletChainEnum: type: string enum: - EVM - SOL - SUI - BTC - TON 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 OptionalNonEmptyString: type: string pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name 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 WaasChainEnum: type: string enum: - EVM - SVM - SUI - BTC - TON RegisterEmbeddedWalletSessionKeyResponse: required: - publicKey - expiresAt type: object properties: publicKey: type: string expiresAt: type: number 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. PublicKeyCredentialType: type: string enum: - public-key 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 TransferDestination: type: object required: - address properties: address: $ref: '#/components/schemas/WalletPublicKey' tokens: type: array items: 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' 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' MFADevice: type: object properties: type: $ref: '#/components/schemas/MFADeviceType' verified: type: boolean description: Whether or not the user has a verified this MFA Device id: $ref: '#/components/schemas/uuid' createdAt: type: string format: date-time description: The date and time the MFA device was created verifiedAt: type: string format: date-time description: The date and time the MFA device was verified nullable: true default: type: boolean description: Whether or not this is the default MFA device for the user alias: type: string description: The optional alias for the MFA device GeneratedTokenResponse: type: object required: - token properties: token: type: string description: The short-lived JWT token NonEmptyStringWith255MaxLengthAndSpecialChars: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'()\[\]*]+(?<=\S)$ maxLength: 255 example: An example name ExchangeRatesResponse: type: array items: $ref: '#/components/schemas/Currency' CountryCode: type: string nullable: true description: Standard ISO 3166-1 alpha-2 two-letter country code pattern: ^[A-Z]{2}$ example: US maxLength: 255 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 description: If global wallet connection status is connected, then this timestamp will be present. format: date-time nullable: true createdAt: type: string format: date-time updatedAt: type: string format: date-time NonEmptyUrl: type: string pattern: ^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$ example: https://website-sample.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 SmartWalletProperties: type: object properties: entryPointVersion: $ref: '#/components/schemas/ProviderEntryPointVersionEnum' kernelVersion: $ref: '#/components/schemas/ProviderKernelVersionEnum' ecdsaProviderType: $ref: '#/components/schemas/ecdsaValidatorOptions' AuthModeEnum: type: string enum: - connect-only - connect-and-sign ExchangeOption: type: object required: - exchange properties: exchange: $ref: '#/components/schemas/ExchangeKeyEnum' socialProvider: $ref: '#/components/schemas/ProviderEnum' onRampProvider: $ref: '#/components/schemas/ProviderEnum' ExportWaasWalletPrivateKeyRequest: type: object required: - exportId properties: exportId: type: string addressType: type: string OAuthError: type: string pattern: ^[a-zA-Z_\-]{5,100}$ description: Valid oauth error example: access_denied 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 UpgradeEmbeddedWalletToV2Request: type: object properties: sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' TransferDestinationList: type: array items: $ref: '#/components/schemas/TransferDestination' CreateEmbeddedWalletSpecificOpts: oneOf: - $ref: '#/components/schemas/CreateTurnkeyEmbeddedWalletSpecificOpts' 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' 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' ValidStringQueryParam: type: string pattern: ^[a-zA-Z0-9 _.,:!?&%@\/'-]*$ maxLength: 255 description: '' WalletConnectorKey: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-']+(?<=\S)$ minLength: 2 maxLength: 50 example: metamask Provider: type: object required: - provider properties: id: $ref: '#/components/schemas/uuid' provider: $ref: '#/components/schemas/ProviderEnum' enabledAt: type: string format: date-time nullable: true 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 VerifyUnlinkRequest: type: object properties: walletId: $ref: '#/components/schemas/uuid' verifiedCrentialId: $ref: '#/components/schemas/uuid' verifiedCredentialId: $ref: '#/components/schemas/uuid' primaryWalletId: $ref: '#/components/schemas/uuid' 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' ExternalAuthSigninRequest: type: object properties: jwt: $ref: '#/components/schemas/EncodedJwt' sessionPublicKey: $ref: '#/components/schemas/NonEmptyString' kasWalletString: type: string description: KAS wallet address pattern: ^kaspa:[1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]{56,}$ example: kaspa:qrelgny7sr3vahq69yykxx36m65gvmhryxrlwngfzgu8xkdslum2yxjp3ap8m nullable: true UpdateWaasWalletSettingsRequest: type: object required: - hasDeniedDelegatedAccess properties: hasDeniedDelegatedAccess: type: boolean description: Whether the user has denied delegated access 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 Duration: type: object required: - amount - unit properties: amount: type: integer unit: $ref: '#/components/schemas/TimeUnitEnum' WaasBackupOptionsEnum: type: string enum: - googleDrive - iCloud - dynamic - external - delegated CurrencyType: type: string enum: - fiat - crypto 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' ProjectSettingsPrivacy: type: object properties: collectIp: type: boolean 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' 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 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 JwksResponse: type: object required: - keys properties: keys: type: array items: $ref: '#/components/schemas/JwksKey' SupportedOnrampsResponse: type: object properties: onramps: type: array items: $ref: '#/components/schemas/RampConfiguration' AuthenticationExtensionsClientOutputs: type: object properties: appid: type: boolean credProps: type: object hmacCreateSecret: type: boolean EmailProviderResponse: type: object required: - emailProvider properties: emailProvider: $ref: '#/components/schemas/ProviderEnum' 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' 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' ExternalWalletFundingDefaultSettings: type: object properties: chain: $ref: '#/components/schemas/ChainEnum' token: type: object properties: value: type: string rule: $ref: '#/components/schemas/ExternalWalletFundingTokenRule' OptionalNonEmptyStringWith255MaxLength: type: string pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name maxLength: 255 PasskeyStorage: type: object required: - name - icon properties: name: type: string icon: type: string updatedAt: type: string format: date-time 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' NonceResponse: type: object properties: nonce: type: string UserOauthAccessTokenResponse: type: object required: - accessToken properties: accessToken: type: string TransactionList: type: array items: $ref: '#/components/schemas/ExchangeTransaction' ScanWebsiteUrlRequest: type: object required: - url properties: url: $ref: '#/components/schemas/NonEmptyUrlWith255MaxLength' WalletBitcoinConfig: type: object properties: addressType: type: string network: type: string ExportEmbeddedWalletResponse: required: - exportBundle type: object properties: exportBundle: type: string 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 ThresholdSignatureScheme: type: string enum: - TWO_OF_TWO - TWO_OF_THREE - THREE_OF_FIVE OauthRedirectUri: type: string pattern: ^(https?:\/\/[a-zA-Z0-9 _.,:?&%\/-]+)*$ OptionalNullableNonEmptyStringWith255MaxLength: type: string pattern: ^$|^(?=\S)[\p{L}\p{N} _.,:!?&%@\/+-]+(?<=\S)$ example: An example name nullable: true maxLength: 255 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 ChainConfiguration: type: object required: - name - enabled - primary properties: name: type: string enabled: type: boolean primary: type: boolean 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 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 EmbeddedWalletAuthToken: type: object required: - token properties: token: type: string 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 OptionalNonEmptyStringWith50MaxLength: type: string pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name maxLength: 50 NonEmptyIsoCountryCode: type: string pattern: ^[a-zA-Z]{2,4}\d?$ maxLength: 4 example: US 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' ResidentKeyRequirement: type: string enum: - discouraged - preferred - required 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 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' 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' 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 WalletKeyShareInfo: type: object required: - id - backupLocation - passwordEncrypted properties: id: $ref: '#/components/schemas/uuid' backupLocation: type: string passwordEncrypted: type: boolean externalKeyShareId: $ref: '#/components/schemas/uuid' 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' ecdsaValidatorOptions: type: string enum: - zerodev_signer_to_ecdsa - zerodev_multi_chain EmbeddedWalletProviderEnum: type: string description: Values 'turnkey' and 'turnkeyhd' are deprecated and will be removed in a future version. enum: - turnkey - turnkeyhd - dynamicWaas 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' 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 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. 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 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 description: If global wallet is enabled, then this timestamp will be present. format: date-time nullable: true SsoProviderCheckRequest: type: object required: - email properties: email: type: string format: email description: Email address to check for SSO provider 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 GlobalWalletConnectionStatusEnum: type: string enum: - connected - disconnected InternalServerError: type: object properties: error: type: string example: Internal Server Error PasskeyAllowCredential: type: object required: - id properties: id: type: string description: Base64URL encoded credential ID transports: type: array items: $ref: '#/components/schemas/PasskeyTransport' 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 btcWalletString: type: string description: BTC wallet address pattern: ^(bc1|[13])[a-zA-HJ-NP-Z0-9]{25,59}$ example: 3FZbgi29cpjq2GjdwV8eyHuJJnkLtktZc5 nullable: true MfaBackupCodeAcknowledgement: type: string nullable: true enum: - pending - complete InitPasskeyRecoveryResponse: required: - turnkeyRecoveryUserId type: object properties: turnkeyRecoveryUserId: $ref: '#/components/schemas/uuid' ltcWalletString: type: string description: LTC wallet address pattern: ^[LM3][a-km-zA-HJ-NP-Z1-9]{26,53}$ example: LUttH43tQ4x4qniCKr1Rqo8ESeXFPdv9ax nullable: true PublicKeyCredentialUserEntity: required: - id - name - displayName type: object properties: id: $ref: '#/components/schemas/NonEmptyString' name: $ref: '#/components/schemas/NonEmptyString' displayName: $ref: '#/components/schemas/NonEmptyString' BackupMultipleClientKeySharesRequest: type: object required: - encryptedAccountCredentials - passwordEncrypted properties: encryptedAccountCredentials: type: array items: $ref: '#/components/schemas/NonEmptyStringWith4096MaxLength' passwordEncrypted: type: boolean 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' DeleteEmbeddedWalletsRequest: required: - turnkeySignedRequest type: object properties: turnkeySignedRequest: $ref: '#/components/schemas/TurnkeySignedRequest' EmbeddedWalletSecret: type: object required: - walletId - secret properties: walletId: $ref: '#/components/schemas/uuid' secret: type: string source: $ref: '#/components/schemas/PasswordSourceTypeEnum' CreateRoomsRequest: type: object required: - roomType properties: roomType: $ref: '#/components/schemas/RoomTypeEnum' roomCount: $ref: '#/components/schemas/RoomCount' SdkViewType: type: string enum: - login 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 BackupKeySharesToLocationResponse: type: object required: - message - walletId - location properties: message: type: string walletId: $ref: '#/components/schemas/uuid' location: $ref: '#/components/schemas/WaasBackupOptionsEnum' RegisterSessionKeyRequest: required: - publicKey type: object properties: publicKey: $ref: '#/components/schemas/NonEmptyString' prevSessionKeySignature: $ref: '#/components/schemas/NonEmptyString' walletId: $ref: '#/components/schemas/uuid' 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' 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 UpdateRecoveryEmailRequest: required: - turnkeySignedRequest type: object properties: turnkeySignedRequest: allOf: - $ref: '#/components/schemas/TurnkeySignedRequest' deprecated: true BackupMultipleClientKeySharesResponse: type: object required: - keyShares properties: keyShares: type: array items: $ref: '#/components/schemas/WalletKeyShareInfo' 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' 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 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' Eip712Domain: type: object properties: name: type: string version: type: string chainId: type: number verifyingContract: $ref: '#/components/schemas/WalletPublicKey' 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 EmbeddedWalletVersionEnum: type: string enum: - V1 - V2 - V3 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' Username: type: string nullable: true description: Alphanumeric with slugs and underscores username pattern: ^$|^[\p{L}\p{N}_-]{3,20}$ example: johndoe maxLength: 255 SdkSettingsRequest: type: object properties: dynamicContextProps: type: object dynamicWagmiSettings: type: object frameworkSettings: $ref: '#/components/schemas/FrameworkSettings' TimeUnitEnum: type: string enum: - days - hours - minutes 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 AuthenticatorTransportProtocol: type: string enum: - AUTHENTICATOR_TRANSPORT_INTERNAL - AUTHENTICATOR_TRANSPORT_USB - AUTHENTICATOR_TRANSPORT_NFC - AUTHENTICATOR_TRANSPORT_BLE - AUTHENTICATOR_TRANSPORT_HYBRID 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 SocialSignInProvider: type: object required: - provider properties: provider: $ref: '#/components/schemas/SocialSignInProviderEnum' enabled: type: boolean OauthProviderLoginUrl: type: object required: - url properties: url: type: string format: url SolanaTransactionOptimizationRequest: type: object required: - transaction - address properties: transaction: type: string address: $ref: '#/components/schemas/SolanaPublicKey' NextViewEnum: type: string enum: - done - verify-email - verified-and-transferred - verify-sms ExchangeKeyEnum: type: string description: Source exchange identifier enum: - coinbase - kraken 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 HealthcheckResponse: type: object required: - status properties: status: $ref: '#/components/schemas/HealthcheckStatus' 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' 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 nullable: true oauth_account_id: type: string nullable: true 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 nullable: true 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. 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 RoomCount: type: integer description: Number of rooms to create default: 5 minimum: 1 maximum: 20 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 RecoverMultipleClientKeySharesRequest: type: object properties: keyShareIds: type: array items: $ref: '#/components/schemas/uuid' 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 NetworkConfigurationResponse: type: object properties: chainName: type: string networks: type: array items: $ref: '#/components/schemas/NetworkConfiguration' PrefetchRequest: required: - chain - publicWalletAddress type: object properties: chain: $ref: '#/components/schemas/ChainEnum' publicWalletAddress: $ref: '#/components/schemas/WalletPublicKey' TelegramPostRequest: type: object required: - state - telegramUser properties: state: $ref: '#/components/schemas/ValidStringQueryParam' telegramUser: $ref: '#/components/schemas/TelegramUser' 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' 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' EmbeddedWalletSecurityMethod: type: string enum: - passkey - passphrase OpenRoomResponseForReshare: allOf: - $ref: '#/components/schemas/OpenRoomResponse' - type: object required: - roomId - serverKeygenIds - newServerKeygenIds ErrorMessageWithCode: type: object properties: code: type: string message: type: string PasskeyCredentialType: type: string enum: - public-key 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' NonEmptyStringWith50MaxLength: type: string pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$ example: An example name maxLength: 50 NextJsSettings: type: object properties: version: type: string 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 TooManyRequests: type: object properties: error: type: string example: Too Many Requests ProjectSettingsGeneralApps: type: object additionalProperties: type: string format: url nullable: true example: slack: https://dynamic.xyz twitter: https://dynamic.xyz BadRequest: type: object properties: error: 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 CreateRoomsResponse: type: object required: - roomIds properties: roomIds: type: array items: type: string EmbeddedWalletAuthType: type: string enum: - mpc UpdateUserPasskeyRequest: type: object required: - id properties: id: $ref: '#/components/schemas/uuid' alias: $ref: '#/components/schemas/NonEmptyString' 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' ProjectSettingsDesign: type: object properties: modal: $ref: '#/components/schemas/ProjectSettingsDesignModal' button: $ref: '#/components/schemas/ProjectSettingsDesignButton' widget: $ref: '#/components/schemas/ProjectSettingsDesignWidget' 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 OauthResultStatus: type: string enum: - pending - completed NotFound: type: object required: - error - code properties: error: type: string example: Not Found code: type: string example: not_found MFARegisterTotpDevicePostRequest: type: object required: - type - code properties: type: $ref: '#/components/schemas/MFADeviceType' code: type: string description: The TOTP code generated by the user MFAAuthRecoveryDevicePostRequest: type: object required: - code properties: createMfaToken: $ref: '#/components/schemas/CreateMfaToken' code: type: string description: A one time use recovery code Eip712TypeMember: type: object required: - name - type properties: name: type: string type: type: string CreateMfaToken: type: object required: - singleUse properties: singleUse: type: boolean description: Whether or not the token is single use 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' WalletKeyShareInfoWithEncryptedAccountCredential: type: object allOf: - $ref: '#/components/schemas/WalletKeyShareInfo' - type: object properties: encryptedAccountCredential: $ref: '#/components/schemas/NonEmptyStringWith4096MaxLength' 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 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 OauthRedirectRequestIdToken: type: string pattern: ^([a-zA-Z0-9_-]+)\.([a-zA-Z0-9_-]+)\.([a-zA-Z0-9_-]+)$ 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 WalletTransactionType: type: string enum: - sent - receive - swap OauthProviderRequest: type: object properties: provider: $ref: '#/components/schemas/ProviderEnum' accessToken: type: string didToken: type: string AuthenticatorSelectionCriteria: type: object properties: authenticatorAttachment: $ref: '#/components/schemas/AuthenticatorAttachment' requireResidentKey: type: boolean residentKey: $ref: '#/components/schemas/ResidentKeyRequirement' userVerification: $ref: '#/components/schemas/UserVerificationRequirement' 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 OptionalNonEmptyUrl: type: string pattern: ^$|^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$ example: https://website-sample.com 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 KycFieldType: type: string enum: - standard - custom NameServiceData: type: object properties: avatar: type: string name: type: string FeatureFlags: type: object required: - connectOnlyMultiAsset - enableExchanges properties: connectOnlyMultiAsset: type: boolean enableExchanges: type: boolean 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' 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' 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' 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' PasskeyCredentialHint: type: string enum: - hybrid - security-key - client-device PublicKeyCredentialParameters: required: - alg - type type: object properties: alg: type: number type: $ref: '#/components/schemas/PublicKeyCredentialType' PublicKeyCredentialDescriptor: required: - id - type type: object properties: id: type: string type: $ref: '#/components/schemas/PublicKeyCredentialType' 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 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' 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 SponsorSVMTransactionResponse: type: object description: Response containing the sponsored Solana transaction properties: transaction: type: string description: Base64 encoded transaction with Grid as the fee payer CreateTurnkeyEmbeddedWalletSpecificOpts: deprecated: true type: object required: - attestation - challenge properties: attestation: $ref: '#/components/schemas/PasskeyRegistrationCredential' challenge: $ref: '#/components/schemas/NonEmptyString' 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 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' TurnkeyCreateWalletAccountsRequestBodyParameters: deprecated: true required: - walletId - accounts type: object properties: walletId: $ref: '#/components/schemas/uuid' accounts: type: array items: $ref: '#/components/schemas/TurnkeyWalletAccount' AttestationConveyancePreference: type: string enum: - direct - enterprise - indirect - none NonEmptyStringWith16384MaxLength: type: string maxLength: 16384 description: A string with a max length of 16384 characters ExternalWalletFundingTokenRule: type: string enum: - recommended - exact TurnkeyDeleteEmbeddedWalletsRequestBodyParameters: deprecated: true required: - walletIds type: object properties: walletIds: type: array items: $ref: '#/components/schemas/uuid' deleteWithoutExport: type: boolean 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' InitPasskeyRecoveryRequest: required: - walletId - turnkeyRecoveryTargetPublicKey type: object properties: walletId: $ref: '#/components/schemas/uuid' turnkeyRecoveryTargetPublicKey: allOf: - $ref: '#/components/schemas/NonEmptyString' deprecated: true SupportedSecurityMethod: type: object required: - isDefault - isEnabled - isPermanentAuthenticator - listPosition properties: isDefault: type: boolean isEnabled: type: boolean isPermanentAuthenticator: type: boolean listPosition: type: number CoinbaseOnrampOrderPaymentMethod: type: string description: The type of payment method to be used to complete an onramp order. enum: - GUEST_CHECKOUT_APPLE_PAY UserVerificationRequirement: type: string enum: - discouraged - preferred - required 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 SolanaTransactionOptimizationResponse: type: object required: - transaction properties: transaction: type: string AuthSettings: type: object required: - storage properties: storage: type: array items: $ref: '#/components/schemas/AuthStorageEnum' 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 Forbidden: type: object properties: error: type: string example: Access Forbidden 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 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 EmailVerificationRetryRequest: required: - verificationUUID - email type: object properties: verificationUUID: $ref: '#/components/schemas/uuid' email: type: string format: email maxLength: 255 captchaToken: $ref: '#/components/schemas/captchaToken' WaasWalletProperties: type: object properties: keyShares: type: array items: $ref: '#/components/schemas/WalletKeyShareInfo' thresholdSignatureScheme: $ref: '#/components/schemas/ThresholdSignatureScheme' derivationPath: type: string description: The derivation path for the wallet settings: $ref: '#/components/schemas/WaasWalletSettings' version: $ref: '#/components/schemas/EmbeddedWalletVersionEnum' UnprocessableEntityErrorCode: type: string enum: - email_cannot_be_null - exchange_cannot_be_enabled - transfer_amount_too_small - transfer_address_not_whitelisted - invalid_scopes - unknown_transfer_error - transfer_mfa_required - transfer_mfa_failed - invalid_transfer_funds - invalid_transfer_currency - invalid_exchange_provider - invalid_transfer_network - invalid_email - email_already_exists - allowlist_already_exists - allowlist_entry_already_exists - reassign_wallet_error - reassign_wallet_confirm - members_cannot_delete_themself - username_already_exists - wrong_email_verification_token - wrong_sms_verification_token - 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 ReactSettings: type: object properties: version: type: string 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 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 CompletePasskeyRecoveryRequest: required: - walletId - attestation - challenge type: object properties: walletId: $ref: '#/components/schemas/uuid' attestation: $ref: '#/components/schemas/PasskeyRegistrationCredential' challenge: $ref: '#/components/schemas/NonEmptyString' 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 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 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 MFAAction: type: string enum: - wallet.waas.sign - wallet.waas.export - wallet.waas.reshare - wallet.waas.refresh - user.update kdaWalletString: type: string description: KDA wallet address pattern: ^k:[0-9a-fA-F]{64}$ example: k:0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF nullable: true 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. 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 CustomFieldValidValue: type: object required: - label properties: label: $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars' key: $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars' 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 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' ScanWebsiteUrlResponse: type: object properties: isMalicious: type: boolean description: Indicates whether the scanned URL is potentially malicious. Returns null if scan is inconclusive. nullable: true OnrampProviders: type: string enum: - banxa - coinbaseOnramp - cryptoDotCom 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' parameters: exchangeKey: in: path name: exchangeKey required: true description: Exchange identifier schema: $ref: '#/components/schemas/ExchangeKeyEnum' relatedOriginRpId: in: query name: relatedOriginRpId required: false description: Related origin rp id schema: type: string accountId: in: path name: accountId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of an exchange account globalWalletConnectionId: in: path name: globalWalletConnectionId required: true description: ID of the global wallet connection schema: $ref: '#/components/schemas/uuid' walletId: in: path name: walletId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of the wallet mfaDeviceId: in: path name: mfaDeviceId required: true description: ID of the MFA Device schema: $ref: '#/components/schemas/uuid' activityId: in: path name: activityId required: true description: ID of activity schema: $ref: '#/components/schemas/uuid' mfaAuthToken: in: header name: x-mfa-auth-token required: true description: MFA authentication token schema: type: string oauthAccountId: in: path name: oauthAccountId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of a user oauth account providerType: in: path name: providerType required: true description: Type of external auth provider schema: $ref: '#/components/schemas/ProviderEnum' walletAddress: in: path name: walletAddress schema: $ref: '#/components/schemas/NonEmptyStringWith255MaxLength' required: true description: Public key (address) of the wallet environmentId: in: path name: environmentId required: true description: ID of the environment schema: $ref: '#/components/schemas/uuid' userId: in: path name: userId schema: $ref: '#/components/schemas/uuid' required: true description: UUID of the user responses: Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' UnprocessableEntity: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/UnprocessableEntity' TooManyRequests: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' ForbiddenWithErrorAndPayload: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ForbiddenWithErrorAndPayload' BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/BadRequest' InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/InternalServerError' NotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/NotFound' Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Forbidden' securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT