> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get environment settings

> Returns the project settings and configuration for the specified environment.



## OpenAPI

````yaml https://app.dynamic.xyz/api-docs/public-api.yaml get /sdk/{environmentId}/settings
openapi: 3.0.1
info:
  title: Dashboard 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
security: []
tags:
  - name: Analytics
    description: Query usage analytics and event counts for your environment.
  - name: SDK
    description: SDK-facing endpoints consumed by embedded Dynamic clients.
  - name: Organizations
    description: >-
      Manage organizations — the top-level container for all environments and
      projects.
  - name: Projects
    description: Manage projects that group related environments under an organization.
  - name: Environments
    description: >-
      Manage environments (live and sandbox) where your authentication
      configuration lives.
  - name: Users
    description: List, search, and manage authenticated users within an environment.
  - name: Invites
    description: >-
      Manage invitation links that grant specific external users access to your
      environment.
  - name: Tokens
    description: >-
      Create and manage API tokens used to authenticate requests to the Dynamic
      API.
  - name: Origins
    description: >-
      Configure allowed origins (CORS) for SDK and API access to your
      environment.
  - name: Allowlists
    description: >-
      Manage allowlists to control which wallet addresses or email addresses can
      access your environment.
  - name: Wallets
    description: View and manage wallets linked to users in your environment.
  - name: Members
    description: Manage team members and their roles within an organization.
  - name: Sessions
    description: View and revoke active user sessions within an environment.
  - name: Settings
    description: Read and update environment-level configuration settings.
  - name: Exchanges
    description: >-
      Configure exchange integrations (Coinbase, Binance, etc.) for fiat on-ramp
      within your environment.
  - name: Providers
    description: >-
      List, enable, disable, and configure authentication providers (OAuth,
      email, wallet, SMS, etc.) for your environment.
  - name: Captcha
    description: >-
      Configure captcha verification (provider, site key, secret key) for your
      environment.
  - name: Gates
    description: >-
      Define access gates that restrict environment entry to users who meet
      specific criteria.
  - name: Chains
    description: >-
      Manage the blockchain networks available for wallet connection in your
      environment.
  - name: Exports
    description: Export user and wallet data from your environment as downloadable files.
  - name: Events
    description: Browse the event log of actions performed within your environment.
  - name: Webhooks
    description: >-
      Create and manage webhooks to receive real-time events (user.created,
      wallet.linked, etc.) at your endpoint.
  - name: Custom Fields
    description: >-
      Define and manage custom metadata fields collected from users at sign-up
      or login.
  - name: MfaSettings
    description: >-
      Configure multi-factor authentication (MFA) policies for your
      organization.
  - name: Mfa
    description: Manage MFA enrollment and verification for individual users.
  - name: CustomHostnames
    description: >-
      Configure custom hostnames for white-labeling the Dynamic authentication
      experience.
  - name: TestAccount
    description: >-
      Manage test accounts used for automated testing and QA within an
      environment.
  - name: NameServices
    description: >-
      Configure name service integrations (ENS, Unstoppable Domains, etc.) for
      human-readable wallet addresses.
  - name: GlobalWallets
    description: >-
      Manage global wallets shared across multiple environments in an
      organization.
  - name: GlobalWalletConnections
    description: Configure which environments can access and use global wallets.
  - name: GlobalWalletAccessControl
    description: Control which users and roles can access and operate global wallets.
  - name: UserApiTokens
    description: >-
      Create and manage user-scoped API tokens for programmatic access on behalf
      of a user.
  - name: Waas
    description: Wallet-as-a-Service endpoints for creating and managing embedded wallets.
  - name: WalletConnect
    description: Configure WalletConnect integration settings for your environment.
  - name: Checkout
    description: >-
      Accept crypto payments and deposits from any wallet. Settle in any token
      you choose.
  - name: Flow
    description: >-
      Accept crypto payments, deposits, and withdrawals. Amount and destination
      are fixed server-side at create; the post-create lifecycle is driven with
      a capability session token.
  - name: FlowAnalytics
    description: >-
      Query aggregated analytics and paginated transaction lists for the Flow
      product.
  - name: Custom Networks
    description: >-
      Add and manage custom EVM-compatible networks beyond the built-in chain
      list.
  - name: Chainalysis
    description: >-
      Configure Chainalysis integration for blockchain address screening and
      risk assessment.
  - name: Visits
    description: Track and query user visit activity within your environment.
  - name: ExternalJwt
    description: >-
      Configure external JWT providers so existing auth tokens can be used with
      Dynamic.
  - name: SDK Views
    description: >-
      Manage SDK view configurations that customize the appearance of Dynamic
      modals and flows.
  - name: DeeplinkUrls
    description: Configure deep link URLs for mobile app integration with the Dynamic SDK.
  - name: OrganizationSettings
    description: >-
      Read and update organization-level settings such as approval workflow
      configuration.
  - name: AdminActions
    description: >-
      Manage admin action requests that require approval from another
      administrator.
  - name: ClientGrant
    description: |
      OAuth 2.0 Device Authorization Grant flow (RFC 8628) used by first-party
      Dynamic clients (CLI, MCP server, demo apps, IDE plugins) to obtain a
      revocable, 30-day client JWT without ever seeing the user's dashboard
      session token.
  - name: AuthorizedClients
    description: |
      Manage first-party clients (CLI / MCP / demo / IDE plugins) authorized
      to act as a dashboard user. Surfaced under Profile → Authorized Clients.
paths:
  /sdk/{environmentId}/settings:
    get:
      tags:
        - SDK
      summary: Get environment settings
      description: >-
        Returns the project settings and configuration for the specified
        environment.
      operationId: getEnvironmentSettings
      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'
components:
  parameters:
    environmentId:
      in: path
      name: environmentId
      required: true
      description: ID of the environment
      schema:
        $ref: '#/components/schemas/uuid'
  schemas:
    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'
        checkouts:
          type: array
          description: Checkouts for the project environment
          items:
            $ref: '#/components/schemas/Checkout'
      required:
        - chains
        - kyc
        - design
        - general
        - privacy
        - sdk
        - security
    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
    EnvironmentEnum:
      type: string
      enum:
        - sandbox
        - live
    ProjectSettingsChains:
      type: object
      properties:
        name:
          description: Display name of the chain
          type: string
        enabled:
          description: Whether this chain is enabled for the project
          type: boolean
        networks:
          description: List of network configurations for this chain
          type: array
          items:
            $ref: '#/components/schemas/Network'
      required:
        - name
        - enabled
    ProjectSettingsKyc:
      type: object
      properties:
        name:
          description: Internal name identifier of the KYC field
          type: string
        required:
          description: Whether this KYC field is required for user onboarding
          type: boolean
        enabled:
          description: Whether this KYC field is enabled for collection
          type: boolean
        unique:
          description: Whether this KYC field value must be unique across all users
          type: boolean
        verify:
          description: Whether this KYC field requires verification
          type: boolean
        type:
          $ref: '#/components/schemas/KycFieldType'
        validationRules:
          $ref: '#/components/schemas/CustomFieldValidationRules'
        validationType:
          $ref: '#/components/schemas/CustomFieldType'
        label:
          description: Display label for the KYC field shown to users
          type: string
        position:
          description: Display position order of the KYC field in the form
          type: number
      required:
        - name
        - required
        - enabled
        - unique
        - verify
    ProjectSettingsDesign:
      type: object
      properties:
        modal:
          $ref: '#/components/schemas/ProjectSettingsDesignModal'
        button:
          $ref: '#/components/schemas/ProjectSettingsDesignButton'
        widget:
          $ref: '#/components/schemas/ProjectSettingsDesignWidget'
    ProjectSettingsGeneral:
      type: object
      properties:
        displayName:
          $ref: '#/components/schemas/OptionalNonEmptyString'
        supportEmail:
          description: Support email address displayed to users
          type: string
          format: email
          maxLength: 255
          nullable: true
        supportText:
          description: Custom support text displayed to users in the SDK
          type: string
          maxLength: 255
          nullable: true
        appLogo:
          description: URL of the application logo image displayed in the SDK
          type: string
          format: url
          nullable: true
        imageUserNotInAccessList:
          description: URL of the image shown when a user is not on the access list
          type: string
          format: url
          nullable: true
        imageUserInAccessList:
          description: URL of the image shown when a user is on the access list
          type: string
          format: url
          nullable: true
        supportUrls:
          $ref: '#/components/schemas/ProjectSettingsGeneralApps'
        collectUserDataWelcomeHeader:
          description: Header text displayed on the user data collection welcome screen
          type: string
          maxLength: 255
          nullable: true
        collectUserDataWelcomeMessage:
          description: Message text displayed on the user data collection welcome screen
          type: string
          maxLength: 100
          nullable: true
        skipOptionalKYCFieldDuringOnboarding:
          description: Whether to skip optional KYC fields during the onboarding flow
          type: boolean
        emailCompanyName:
          $ref: '#/components/schemas/OptionalNonEmptyString'
    ProjectSettingsPrivacy:
      type: object
      properties:
        collectIp:
          description: Whether to collect and store user IP addresses
          type: boolean
    Provider:
      type: object
      required:
        - provider
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        provider:
          $ref: '#/components/schemas/ProviderEnum'
        enabledAt:
          description: ISO 8601 timestamp of when this provider was enabled
          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: >-
            Provider secret. The OAuth client secret for OAuth-based providers
            (see
            https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/);
            the API key for providers that authenticate by key (e.g.,
            trmWalletScreening, chainalysisAddressScreening).
          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:
          description: >-
            Whether this provider automatically creates new accounts on first
            login
          type: boolean
        enableKernelV3Migration:
          type: boolean
        enableEIP7702:
          type: boolean
        zerodevBundlerProvider:
          $ref: '#/components/schemas/ZerodevBundlerProvider'
        zerodevBundlerRpcUrl:
          type: string
        zerodevPaymasterRpcUrl:
          type: string
        zerodevKernelDelegationAddress:
          type: string
        zerodevProjectVersion:
          type: string
          description: The ZeroDev projects endpoint version (v1 or v2)
        returnUrl:
          type: string
          description: URL to return to after completion
        cancelUrl:
          type: string
          description: URL to return to when cancelled
    Exchange:
      type: object
      required:
        - exchange
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        exchange:
          $ref: '#/components/schemas/ExchangeKeyEnum'
        enabledAt:
          description: ISO 8601 timestamp of when the exchange was enabled
          type: string
          format: date-time
          nullable: true
        socialProvider:
          $ref: '#/components/schemas/ProviderEnum'
        onRampProvider:
          $ref: '#/components/schemas/ProviderEnum'
    ProjectSettingsSdk:
      type: object
      properties:
        nameService:
          $ref: '#/components/schemas/NameServiceSdkSettings'
        featureFlags:
          $ref: '#/components/schemas/FeatureFlags'
        emailSignIn:
          description: Email-based sign-in configuration settings
          type: object
          properties:
            signInProvider:
              $ref: '#/components/schemas/SignInProviderEnum'
        socialSignIn:
          description: Social sign-in provider configuration settings
          type: object
          properties:
            signInProvider:
              $ref: '#/components/schemas/SignInProviderEnum'
            providers:
              type: array
              items:
                $ref: '#/components/schemas/SocialSignInProvider'
        exchangeOptions:
          description: List of configured exchange options for token swaps
          type: array
          items:
            $ref: '#/components/schemas/ExchangeOption'
        multiWallet:
          description: Whether to allow users to connect multiple wallets
          type: boolean
        multiWalletUnlinkDisabled:
          description: >-
            Whether to disable the ability for users to unlink wallets in
            multi-wallet mode
          type: boolean
        mobile:
          $ref: '#/components/schemas/MobileSettings'
        confirmWalletTransfers:
          description: Whether to require confirmation for wallet transfer operations
          type: boolean
          x-security-impact:
            path: sdk.confirmWalletTransfers
            weakenedWhen: when-false
            message: wallet transfer confirmation removed
        onrampFunding:
          description: Whether to enable fiat-to-crypto onramp funding
          type: boolean
        passkeyEmbeddedWalletEnabled:
          type: boolean
          description: >-
            passkeyEmbeddedWalletEnabled is deprecated as of v0.19. Please
            enable embedded wallets using the provider API.
          deprecated: true
        automaticEmbeddedWalletCreation:
          description: Whether to automatically create an embedded wallet for new users
          type: boolean
        passkeyEmbeddedWalletRecoveryEnabled:
          description: Whether to enable passkey-based recovery for embedded wallets
          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:
          description: Embedded wallet configuration settings
          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.
            evmGasSponsorshipEnabled:
              type: boolean
              description: >-
                When true, EVM gas sponsorship is available for this
                environment.
            svmGasSponsorshipEnabled:
              type: boolean
              description: >-
                When true, network fees for Solana embedded wallet transactions
                will be sponsored.
        waas:
          description: Wallet-as-a-Service configuration settings
          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: >
                Webhook URL where Dynamic delivers encrypted key shares for
                share-delivery flows.

                Despite the legacy name, this endpoint carries multiple event
                families:

                `wallet.delegation.*` (delegated access) and
                `wallet.offlineRecovery.created`

                (developer recovery share). Configure once; subscribers
                differentiate by

                `eventName` on the inbound payload. If not provided, neither
                feature can be enabled.
            delegatedAccess:
              $ref: '#/components/schemas/ProjectSettingsSdkWaasDelegatedAccess'
            offlineRecovery:
              $ref: '#/components/schemas/ProjectSettingsSdkWaasOfflineRecovery'
            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.
            fireblocksMigration:
              type: object
              description: >-
                Fireblocks NCW backend configuration the SDK reads when
                migrating a Fireblocks embedded wallet into a Dynamic WaaS
                wallet.
              properties:
                backendBaseUrl:
                  type: string
                  description: >-
                    Base URL of the Fireblocks NCW backend the SDK calls during
                    migration.
                environment:
                  type: string
                  enum:
                    - sandbox
                    - production
                  description: The Fireblocks NCW environment to target.
          required:
            - passcodeRequired
            - onSignUp
            - backupOptions
        walletConnect:
          description: WalletConnect integration configuration settings
          type: object
          properties:
            projectId:
              type: string
            v2Enabled:
              type: boolean
            walletProjectId:
              type: string
        confirmEmailProviderForVerify:
          description: Whether to require email provider confirmation during verification
          type: boolean
          x-security-impact:
            path: sdk.confirmEmailProviderForVerify
            weakenedWhen: when-false
            message: email-provider confirmation during verification removed
        displayDynamicMessaging:
          description: Whether to display Dynamic branding messaging in the SDK
          type: boolean
        hideNetworkInDynamicWidget:
          description: Whether to hide the network selector in the Dynamic widget
          type: boolean
        minApiVersion:
          $ref: '#/components/schemas/MinApiVersionEnum'
        preventOrphanedAccounts:
          description: >-
            Whether to prevent users from removing their last authentication
            method
          type: boolean
          x-security-impact:
            path: sdk.preventOrphanedAccounts
            weakenedWhen: when-false
            message: orphaned-account prevention disabled
        views:
          type: array
          description: Configs used to create the views in the sdk.
          items:
            $ref: '#/components/schemas/SdkView'
        accountAbstraction:
          description: Account abstraction (ERC-4337) configuration settings
          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:
          description: Whether to block email subaddresses (plus addressing) during sign-up
          type: boolean
          x-security-impact:
            path: sdk.blockEmailSubaddresses
            weakenedWhen: when-false
            message: email subaddress block disabled
        enableMultiAsset:
          description: Whether to enable multi-asset support in the wallet
          type: boolean
        showFiat:
          description: Whether to display fiat currency values in the wallet
          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'
    ProjectSettingsSecurity:
      type: object
      properties:
        jwtDuration:
          $ref: '#/components/schemas/Duration'
        hCaptcha:
          $ref: '#/components/schemas/HCaptchaSettings'
        captcha:
          $ref: '#/components/schemas/ProjectSettingsCaptcha'
        mfa:
          $ref: '#/components/schemas/MFASettings'
        auth:
          $ref: '#/components/schemas/AuthSettings'
        externalAuth:
          $ref: '#/components/schemas/ExternalAuth'
        deviceRegistrationRequired:
          type: boolean
          description: >-
            When enabled, users must verify new devices via email before
            accessing the application. Defaults to true when not set.
          x-security-impact:
            path: security.deviceRegistrationRequired
            weakenedWhen: when-false
            message: new-device email verification disabled
        environmentLocked:
          type: boolean
          description: When enabled, all SDK requests to this environment will be blocked.
        notifications:
          $ref: '#/components/schemas/SecurityNotifications'
    NetworkConfigurationResponse:
      type: object
      properties:
        chainName:
          description: Name of the blockchain family (e.g. EVM, Solana)
          type: string
        networks:
          description: List of network configurations for this chain
          type: array
          items:
            $ref: '#/components/schemas/NetworkConfiguration'
    Checkout:
      type: object
      required:
        - id
        - mode
        - settlementConfig
        - enableOrchestration
        - createdAt
        - updatedAt
      properties:
        id:
          $ref: '#/components/schemas/uuid'
        mode:
          $ref: '#/components/schemas/CheckoutModeEnum'
        settlementConfig:
          $ref: '#/components/schemas/SettlementConfigInput'
        destinationConfig:
          $ref: '#/components/schemas/DestinationConfigInput'
        depositConfig:
          $ref: '#/components/schemas/DepositAmountsConfigInput'
        enableOrchestration:
          description: >-
            Whether Dynamic handles quote optimization, fee collection, and fund
            settlement automatically
          type: boolean
          default: true
        createdAt:
          description: ISO 8601 timestamp of when the checkout was created
          type: string
          format: date-time
        updatedAt:
          description: ISO 8601 timestamp of when the checkout was last updated
          type: string
          format: date-time
    InternalServerError:
      type: object
      properties:
        error:
          description: Human-readable error message
          type: string
          example: Internal Server Error
    Network:
      type: object
      properties:
        networkId:
          description: Unique numeric identifier of the network
          type: number
          example: '1'
        chainName:
          description: Display name of the blockchain network
          type: string
          example: Ethereum Mainnet
        enabled:
          description: Whether this network is currently enabled for the project
          type: boolean
        rpcUrl:
          description: RPC endpoint URL used to communicate with the network
          type: string
        iconUrl:
          description: URL of the network icon image
          type: string
        type:
          description: >-
            Whether the network is a custom user-added network or a default
            built-in one
          type: string
          enum:
            - custom
            - default
      required:
        - networkId
        - enabled
        - chainName
    KycFieldType:
      type: string
      enum:
        - standard
        - custom
    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
    CustomFieldType:
      type: string
      enum:
        - text
        - checkbox
        - select
    ProjectSettingsDesignModal:
      type: object
      properties:
        border:
          description: Border style of the modal
          type: string
        brand:
          description: Brand color applied to the modal
          type: string
        primaryColor:
          description: Primary color used throughout the modal UI
          type: string
        radius:
          description: Border radius of the modal in pixels
          type: integer
        theme:
          description: Color theme of the modal (e.g. light, dark, auto)
          type: string
        view:
          description: Default view to display when the modal opens
          type: string
        template:
          description: Template layout style for the modal
          type: string
        displayOrder:
          description: >-
            List defining the display order of authentication methods in the
            modal
          type: array
          items:
            type: string
        emailOnly:
          description: Whether to show only email-based authentication in the modal
          type: boolean
        showWalletsButton:
          description: Whether to show the wallet connection button in the modal
          type: boolean
        emailSubmitButtonInsideInput:
          description: Whether to place the email submit button inside the input field
          type: boolean
        splitEmailAndSocial:
          description: Whether to split email and social login into separate sections
          type: boolean
        socialAboveEmail:
          description: Whether to display social login options above the email input
          type: boolean
    ProjectSettingsDesignButton:
      type: object
      properties:
        background:
          description: Background color of the button
          type: string
        fontColor:
          description: Font color of the button text
          type: string
        paddingHeight:
          description: Vertical padding of the button in pixels
          type: integer
        paddingWidth:
          description: Horizontal padding of the button in pixels
          type: integer
        radius:
          description: Border radius of the button in pixels
          type: integer
    ProjectSettingsDesignWidget:
      type: object
      properties:
        backgroundColor:
          description: Background color of the widget
          type: string
        border:
          description: Border style of the widget
          type: string
        radius:
          description: Border radius of the widget in pixels
          type: integer
        textColor:
          description: Text color used in the widget
          type: string
        theme:
          description: Color theme of the widget (e.g. light, dark, auto)
          type: string
    OptionalNonEmptyString:
      type: string
      pattern: ^$|^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      example: An example name
    ProjectSettingsGeneralApps:
      type: object
      additionalProperties:
        type: string
        format: url
        nullable: true
      example:
        slack: https://dynamic.xyz
        twitter: https://dynamic.xyz
    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
        - moonPay
        - dynamic
        - alchemy
        - zerodev
        - telegram
        - turnkey
        - coinbaseWaas
        - sms
        - spotify
        - tiktok
        - line
        - steam
        - shopify
        - zksync
        - kraken
        - blockaid
        - passkey
        - okta
        - sendgrid
        - resend
        - trmWalletScreening
        - chainalysisAddressScreening
    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
    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:
          description: Email address associated with the provider agreement
          type: string
          format: email
          maxLength: 255
        userId:
          $ref: '#/components/schemas/uuid'
        createdAt:
          description: ISO 8601 timestamp of when the agreement was created
          type: string
          format: date-time
    SmsCountryCode:
      type: object
      required:
        - isoCountryCode
        - phoneCountryCode
      properties:
        isoCountryCode:
          $ref: '#/components/schemas/NonEmptyIsoCountryCode'
        phoneCountryCode:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
    ProviderEntryPointVersionEnum:
      type: string
      enum:
        - v6
        - v7
    ProviderKernelVersionEnum:
      type: string
      enum:
        - v2_4
        - v3_0
        - v3_1
        - v3_2
        - v3_3
    ecdsaValidatorOptions:
      type: string
      enum:
        - zerodev_signer_to_ecdsa
        - zerodev_multi_chain
    ZerodevBundlerProvider:
      type: string
      enum:
        - STACKUP
        - PIMLICO
        - ALCHEMY
        - GELATO
        - ULTRA_RELAY
    ExchangeKeyEnum:
      type: string
      description: Source exchange identifier
      enum:
        - coinbase
        - kraken
    NameServiceSdkSettings:
      type: object
      required:
        - evm
      properties:
        evm:
          description: EVM-specific name service settings
          type: object
          properties:
            domain:
              type: string
              description: >-
                Top-level ENS domain for the environment for EVM embedded
                wallets in this environment
    FeatureFlags:
      type: object
      required:
        - connectOnlyMultiAsset
        - enableExchanges
      properties:
        connectOnlyMultiAsset:
          description: Whether multi-asset support is enabled in connect-only mode
          type: boolean
        enableExchanges:
          description: Whether exchange integrations are enabled
          type: boolean
    SignInProviderEnum:
      type: string
      description: >-
        The 'turnkey' value is deprecated and will be removed in a future
        version.
      enum:
        - dynamic
        - magicLink
        - blocto
        - turnkey
        - coinbaseWaas
    SocialSignInProvider:
      type: object
      required:
        - provider
      properties:
        provider:
          $ref: '#/components/schemas/SocialSignInProviderEnum'
        enabled:
          description: Whether this social sign-in provider is enabled
          type: boolean
    ExchangeOption:
      type: object
      required:
        - exchange
      properties:
        exchange:
          $ref: '#/components/schemas/ExchangeKeyEnum'
        socialProvider:
          $ref: '#/components/schemas/ProviderEnum'
        onRampProvider:
          $ref: '#/components/schemas/ProviderEnum'
    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.
          x-security-impact:
            path: sdk.mobile.deeplinkUrlsEnabled
            weakenedWhen: when-false
            message: mobile deeplink URL whitelist disabled
    EmbeddedWalletSecurityMethod:
      type: string
      enum:
        - passkey
        - passphrase
    Duration:
      type: object
      required:
        - amount
        - unit
      properties:
        amount:
          description: Numeric value of the duration
          type: integer
        unit:
          $ref: '#/components/schemas/TimeUnitEnum'
    SupportedSecurityMethods:
      type: object
      properties:
        passkey:
          $ref: '#/components/schemas/SupportedSecurityMethod'
        email:
          $ref: '#/components/schemas/SupportedSecurityMethod'
        password:
          $ref: '#/components/schemas/SupportedSecurityMethod'
    ChainConfigurations:
      type: array
      description: Chain specific configuration for dynamic embedded wallets
      items:
        $ref: '#/components/schemas/ChainConfiguration'
    EmbeddedWalletVersionEnum:
      type: string
      enum:
        - V1
        - V2
        - V3
    WaasBackupOptionsEnum:
      type: string
      enum:
        - googleDrive
        - iCloud
        - dynamic
        - external
        - delegated
    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.
    ProjectSettingsSdkWaasOfflineRecovery:
      type: object
      properties:
        enabled:
          type: boolean
          description: >-
            Whether offline recovery share delivery is enabled for the
            environment. When enabled, encrypted recovery shares are delivered
            to the configured share-delivery webhook so the developer can help
            users reconstruct their wallet offline. Recovery shares cannot be
            used to sign.
    MinApiVersionEnum:
      type: string
      description: Minimum API version required for the environment
      enum:
        - 20260101
        - 20260401
      x-enum-varnames:
        - Api20260101
        - Api20260401
    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'
    WalletConnectorKey:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-']+(?<=\S)$
      minLength: 2
      maxLength: 50
      example: metamask
    Funding:
      type: object
      properties:
        onramps:
          description: List of enabled onramp providers for fiat-to-crypto purchases
          type: array
          items:
            $ref: '#/components/schemas/OnrampProviders'
        externalWallets:
          description: Configuration for external wallet funding
          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
    HCaptchaSettings:
      type: object
      deprecated: true
      description: >-
        Deprecated — use `security.captcha` instead. Only populated when the
        environment's configured captcha provider is hCaptcha.
      properties:
        enabled:
          description: Whether hCaptcha verification is enabled
          type: boolean
          x-security-impact:
            path: security.hCaptcha.enabled
            weakenedWhen: when-false
            message: hCaptcha verification disabled
        secretKey:
          description: >-
            Secret key used to validate captcha response. This will never be
            surfaced in a GET response.
          type: string
        siteKey:
          description: Public site key used to render the hCaptcha widget
          type: string
    ProjectSettingsCaptcha:
      type: object
      description: >-
        Active captcha configuration for the environment, regardless of
        provider. The SDK uses the provider and public site key to render the
        captcha widget. Replaces the deprecated `security.hCaptcha`.
      properties:
        enabled:
          description: Whether captcha verification is enabled
          type: boolean
          x-security-impact:
            path: security.captcha.enabled
            weakenedWhen: when-false
            message: captcha verification disabled
        provider:
          $ref: '#/components/schemas/CaptchaProviderEnum'
        siteKey:
          description: Public site key used to render the captcha widget
          type: string
    MFASettings:
      type: object
      properties:
        enabled:
          description: >-
            Whether multi-factor authentication is enforced at the session level
            (prompted at login).
          type: boolean
          x-security-impact:
            path: security.mfa.enabled
            weakenedWhen: when-false
            message: multi-factor authentication disabled
        required:
          description: >
            Whether MFA enrollment is required. Derived from `enrollment` — true
            when enrollment is `signup` or `action`. Kept for backwards
            compatibility; new clients should read `enrollment` directly.
          type: boolean
          x-security-impact:
            path: security.mfa.required
            weakenedWhen: when-false
            message: MFA no longer required for all users
        enrollment:
          $ref: '#/components/schemas/MfaEnrollment'
        availableMethods:
          description: List of MFA device types available for enrollment
          type: array
          items:
            $ref: '#/components/schemas/MFADeviceType'
        methods:
          description: List of MFA methods with their enabled status
          type: array
          items:
            type: object
            required:
              - type
              - enabled
            properties:
              type:
                $ref: '#/components/schemas/MFADeviceType'
              enabled:
                description: Whether this MFA method is enabled
                type: boolean
              allowBackupCodes:
                type: boolean
                nullable: true
        actions:
          description: List of actions that require MFA verification
          type: array
          items:
            type: object
            required:
              - action
              - required
            properties:
              action:
                $ref: '#/components/schemas/MFAAction'
              required:
                description: Whether MFA is required for this action
                type: boolean
              tokenBehavior:
                type: string
                enum:
                  - single_use
                  - time_bound
                description: >
                  Whether the elevated access token is consumed after one use
                  (single_use) or remains valid until expiry (time_bound).
                  Defaults to single_use for wallet scopes, time_bound for
                  others.
              tokenExpirySeconds:
                type: integer
                minimum: 60
                maximum: 600
                description: >
                  Custom TTL in seconds for the elevated access token. Defaults
                  to 300 (5 min) for single_use, 600 (10 min) for time_bound.
    AuthSettings:
      type: object
      required:
        - storage
      properties:
        allowMultipleCredentialsForSignIn:
          type: boolean
          description: >-
            When false, only the first verified credential (wallet, email,
            social, phone, passkey, Farcaster) linked by a user will be sign-in
            enabled. Additional credentials will be linked but marked as
            signInEnabled false and cannot be used for authentication. Defaults
            to false.
        storage:
          description: >-
            List of browser storage mechanisms where the JWT token may be
            persisted
          type: array
          items:
            $ref: '#/components/schemas/AuthStorageEnum'
    ExternalAuth:
      type: object
      properties:
        enabled:
          description: Whether external JWT authentication is enabled
          type: boolean
        iss:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        aud:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        jwksUrl:
          $ref: '#/components/schemas/OptionalNonEmptyUrl'
        cookieName:
          $ref: '#/components/schemas/OptionalNullableNonEmptyStringWith255MaxLength'
        assumeEmailVerified:
          description: >-
            When enabled, the backend treats a missing `emailVerified` claim on
            the external JWT as `true` during signin, so customers don't have to
            add the claim explicitly. An explicit `false` value is always
            respected. Defaults to false.
          type: boolean
    SecurityNotifications:
      type: object
      properties:
        verifiedCredentialLinked:
          type: boolean
          description: >-
            Send email notification when a verified credential is linked to a
            user account. Defaults to true.
        verifiedCredentialUnlinked:
          type: boolean
          description: >-
            Send email notification when a verified credential is unlinked from
            a user account. Defaults to true.
        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.
    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:
          description: Unique key identifier for the network configuration
          type: string
          example: ethereum
        name:
          description: Full display name of the network
          type: string
          example: Ethereum Mainnet
        shortName:
          description: Abbreviated name of the network
          type: string
          example: ETH
        isTestnet:
          description: Whether this network is a test network
          type: boolean
          example: false
        chain:
          description: Chain identifier code
          type: string
          example: ETH
        chainId:
          description: Unique chain identifier (e.g. EIP-155 chain ID for EVM networks)
          type: string
          example: '1'
        nameService:
          $ref: '#/components/schemas/NameService'
        networkId:
          description: Network identifier used for routing and lookups
          type: string
          example: '1'
        iconUrls:
          description: List of URLs for the network icon images
          type: array
          items:
            type: string
        nativeCurrency:
          $ref: '#/components/schemas/NativeCurrency'
        rpcUrls:
          description: List of public RPC endpoint URLs for the network
          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:
          description: List of block explorer URLs for viewing transactions on this network
          type: array
          items:
            type: string
            example: https://etherscan.io/
        vanityName:
          description: Simplified display name for the network used in the UI
          type: string
          example: Ethereum
        bech32Prefix:
          description: Bech32 address prefix for Cosmos-based chains
          type: string
          example: cosmos
        genesisHash:
          description: Genesis hash of the network, used for Solana clusters
          type: string
          example: 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
        cluster:
          description: Cluster name for Solana-based networks
          type: string
          example: mainnet, devnet, etc
        hasNativeToken:
          type: boolean
          default: true
          description: >-
            Whether this network has a native token. Defaults to true if not
            specified.
          example: true
        supportsFeeTokenSelection:
          type: boolean
          default: false
          description: >-
            Whether this network supports selecting a fee token for
            transactions. Defaults to false if not specified.
          example: false
      required:
        - name
        - shortName
        - chain
        - chainId
        - networkId
        - iconUrls
        - nativeCurrency
        - rpcUrls
        - blockExplorerUrls
    CheckoutModeEnum:
      type: string
      enum:
        - payment
        - deposit
    SettlementConfigInput:
      type: object
      required:
        - strategy
        - settlements
      properties:
        strategy:
          $ref: '#/components/schemas/SettlementStrategyEnum'
        settlements:
          description: List of settlement strategy configurations
          type: array
          items:
            $ref: '#/components/schemas/ChainSettlementConfig'
    DestinationConfigInput:
      type: object
      required:
        - destinations
      properties:
        destinations:
          description: List of chain-specific destination wallet configurations
          type: array
          items:
            $ref: '#/components/schemas/ChainDestinationConfig'
    DepositAmountsConfigInput:
      type: object
      properties:
        minimum:
          description: Minimum deposit amount allowed
          type: string
        presets:
          description: List of preset deposit amount options shown to the user
          type: array
          items:
            type: string
    CustomFieldValidValue:
      type: object
      required:
        - label
      properties:
        label:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars'
        key:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars'
    NonEmptyIsoCountryCode:
      type: string
      pattern: ^[a-zA-Z]{2,4}\d?$
      maxLength: 4
      example: US
    NonEmptyStringWith255MaxLength:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      maxLength: 255
      example: An example name
    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
    TimeUnitEnum:
      type: string
      enum:
        - days
        - hours
        - minutes
    SupportedSecurityMethod:
      type: object
      required:
        - isDefault
        - isEnabled
        - isPermanentAuthenticator
        - listPosition
      properties:
        isDefault:
          description: Whether this security method is selected by default
          type: boolean
        isEnabled:
          description: Whether this security method is currently enabled
          type: boolean
        isPermanentAuthenticator:
          description: >-
            Whether this security method serves as a permanent authenticator
            that cannot be removed
          type: boolean
        listPosition:
          description: Display position order of this security method in the list
          type: number
    ChainConfiguration:
      type: object
      required:
        - name
        - enabled
        - primary
      properties:
        name:
          description: Name of the blockchain network
          type: string
        enabled:
          description: Whether this chain is enabled for embedded wallets
          type: boolean
        primary:
          description: Whether this is the primary chain for the environment
          type: boolean
    SdkViewType:
      type: string
      enum:
        - login
    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'
    OnrampProviders:
      type: string
      enum:
        - banxa
        - coinbaseOnramp
        - cryptoDotCom
        - moonPay
    ExternalWalletFundingDefaultSettings:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/ChainEnum'
        token:
          description: Token configuration for external wallet funding
          type: object
          properties:
            value:
              type: string
            rule:
              $ref: '#/components/schemas/ExternalWalletFundingTokenRule'
    CaptchaProviderEnum:
      type: string
      description: Captcha provider used for verification
      enum:
        - hcaptcha
        - cloudflareTurnstile
    MfaEnrollment:
      type: string
      description: |
        When users are required to enroll an MFA method.
          - `none`: enrollment is not required.
          - `signup`: enrollment is forced at signup; users must register a TOTP device
            or passkey during onboarding.
          - `action`: enrollment is deferred until the user attempts a protected action
            that requires step-up verification.
      enum:
        - none
        - signup
        - action
    MFADeviceType:
      type: string
      enum:
        - totp
        - passkey
        - email
    MFAAction:
      type: string
      enum:
        - wallet.waas.sign
        - wallet.waas.export
        - wallet.waas.reshare
        - wallet.waas.refresh
        - user.update
    AuthStorageEnum:
      type: string
      description: >-
        Location in the browser where Dynamic will attempt to store the JWT
        token.
      enum:
        - localstorage
        - cookie
    OptionalNullableNonEmptyStringWith255MaxLength:
      type: string
      pattern: ^$|^(?=\S)[\p{L}\p{N} _.,:!?&%@\/+-]+(?<=\S)$
      example: An example name
      nullable: true
      maxLength: 255
    OptionalNonEmptyUrl:
      type: string
      pattern: >-
        ^$|^(https?:\/\/)?[a-z0-9]+([-.]+[a-z0-9]+)*\.[a-z]{2,10}([0-9]{1,5})?(\/.*)?$
      example: https://website-sample.com
    NameService:
      type: object
      properties:
        registry:
          description: Contract address of the name service registry
          type: string
          example: '0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e'
    NativeCurrency:
      type: object
      properties:
        decimals:
          description: Number of decimal places the native currency supports
          type: number
          example: '18'
        name:
          description: Display name of the native currency
          type: string
          example: Ether
        symbol:
          description: Ticker symbol of the native currency
          type: string
          example: ETH
        denom:
          description: Denomination identifier used on Cosmos-based chains
          type: string
          example: uatom
        iconUrl:
          description: URL of the native currency icon image
          type: string
        pricingProviderTokenId:
          description: Token identifier used by the pricing provider for price lookups
          type: string
      required:
        - decimals
        - name
        - symbol
    SettlementStrategyEnum:
      type: string
      enum:
        - cheapest
        - fastest
        - preferred_order
    ChainSettlementConfig:
      type: object
      required:
        - chainName
        - tokenAddress
        - chainId
        - symbol
        - tokenDecimals
      properties:
        chainName:
          $ref: '#/components/schemas/ChainEnum'
        tokenAddress:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
        chainId:
          $ref: '#/components/schemas/NonEmptyStringWith50MaxLength'
        symbol:
          $ref: '#/components/schemas/NonEmptyStringWith50MaxLength'
        tokenDecimals:
          type: integer
          description: The number of decimals for the token
          example: 18
        isNative:
          type: boolean
          description: Whether the token is the native token for the chain
          example: true
          default: false
    ChainDestinationConfig:
      type: object
      required:
        - chainName
        - type
        - identifier
      properties:
        chainName:
          $ref: '#/components/schemas/ChainEnum'
        type:
          $ref: '#/components/schemas/DestinationTypeEnum'
        identifier:
          $ref: '#/components/schemas/NonEmptyStringWith255MaxLength'
    NonEmptyStringWith255MaxLengthAndSpecialChars:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'()\[\]*]+(?<=\S)$
      maxLength: 255
      example: An example name
    SdkViewSectionType:
      type: string
      enum:
        - email
        - emailAndPhone
        - phone
        - separator
        - social
        - text
        - wallet
        - passkey
    SdkViewSectionAlignment:
      type: string
      enum:
        - center
        - left
        - right
    ChainEnum:
      type: string
      enum:
        - ETH
        - EVM
        - FLOW
        - SOL
        - ALGO
        - STARK
        - COSMOS
        - BTC
        - ECLIPSE
        - SUI
        - SPARK
        - TRON
        - APTOS
        - TON
        - STELLAR
        - ALEO
        - TEMPO
        - MIDNIGHT
    ExternalWalletFundingTokenRule:
      type: string
      enum:
        - recommended
        - exact
    NonEmptyStringWith50MaxLength:
      type: string
      pattern: ^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$
      example: An example name
      maxLength: 50
    DestinationTypeEnum:
      type: string
      enum:
        - address
  responses:
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'

````