# Create a new entry for an allowlist Source: https://www.dynamic.xyz/docs/api-reference/allowlists/create-a-new-entry-for-an-allowlist openapi.yaml post /allowlists/{allowlistId}/entries # Create new allowlist for a environment Source: https://www.dynamic.xyz/docs/api-reference/allowlists/create-new-allowlist-for-a-environment openapi.yaml post /environments/{environmentId}/allowlists # Delete an allowlist Source: https://www.dynamic.xyz/docs/api-reference/allowlists/delete-an-allowlist openapi.yaml delete /allowlists/{allowlistId} # Delete an allowlist entry Source: https://www.dynamic.xyz/docs/api-reference/allowlists/delete-an-allowlist-entry openapi.yaml delete /allowlistEntries/{allowlistEntryId} # Disable the allow list Source: https://www.dynamic.xyz/docs/api-reference/allowlists/disable-the-allow-list openapi.yaml put /allowlists/{allowlistId}/disable # Enable the allowlist Source: https://www.dynamic.xyz/docs/api-reference/allowlists/enable-the-allowlist openapi.yaml put /allowlists/{allowlistId}/enable # Get all allowlists for a environment Source: https://www.dynamic.xyz/docs/api-reference/allowlists/get-all-allowlists-for-a-environment openapi.yaml get /environments/{environmentId}/allowlists # Get all entries for an allowlist Source: https://www.dynamic.xyz/docs/api-reference/allowlists/get-all-entries-for-an-allowlist openapi.yaml get /allowlists/{allowlistId}/entries # Get allowlist by id Source: https://www.dynamic.xyz/docs/api-reference/allowlists/get-allowlist-by-id openapi.yaml get /allowlists/{allowlistId} # Update the outcome, scope, or name of an allowlist entry by ID Source: https://www.dynamic.xyz/docs/api-reference/allowlists/update-the-outcome-scope-or-name-of-an-allowlist-entry-by-id openapi.yaml put /allowlists/{allowlistId} # Get analytics engagement data Source: https://www.dynamic.xyz/docs/api-reference/analytics/get-analytics-engagement-data openapi.yaml get /environments/{environmentId}/analytics/engagement # Get analytics overview data Source: https://www.dynamic.xyz/docs/api-reference/analytics/get-analytics-overview-data openapi.yaml get /environments/{environmentId}/analytics/overview # Get analytics topline data Source: https://www.dynamic.xyz/docs/api-reference/analytics/get-analytics-topline-data openapi.yaml get /environments/{environmentId}/analytics/topline # Get analytics wallets breakdown data Source: https://www.dynamic.xyz/docs/api-reference/analytics/get-analytics-wallets-breakdown-data openapi.yaml get /environments/{environmentId}/analytics/walletsBreakdown # Get environments analyticsvisits Source: https://www.dynamic.xyz/docs/api-reference/analytics/get-environments-analyticsvisits openapi.yaml get /environments/{environmentId}/analytics/visits Fetch visit analytics # Get environments analyticswallets Source: https://www.dynamic.xyz/docs/api-reference/analytics/get-environments-analyticswallets openapi.yaml get /environments/{environmentId}/analytics/wallets Fetch wallets breakdown # Disables the Sanctions API Source: https://www.dynamic.xyz/docs/api-reference/chainalysis/disables-the-sanctions-api openapi.yaml put /environments/{environmentId}/integrations/chainalysis/sanctions/disable # Enable the Sanctions API Source: https://www.dynamic.xyz/docs/api-reference/chainalysis/enable-the-sanctions-api openapi.yaml put /environments/{environmentId}/integrations/chainalysis/sanctions/enable # Find the Chainalysis configuration for an environment. Source: https://www.dynamic.xyz/docs/api-reference/chainalysis/find-the-chainalysis-configuration-for-an-environment openapi.yaml get /environments/{environmentId}/integrations/chainalysis # Get tokens for passed chainName. Source: https://www.dynamic.xyz/docs/api-reference/chains/get-tokens-for-passed-chainname openapi.yaml get /chains/{chainName}/tokens # Create a new custom field for an environment Source: https://www.dynamic.xyz/docs/api-reference/custom-fields/create-a-new-custom-field-for-an-environment openapi.yaml post /environments/{environmentId}/custom/fields # Delete a specific custom field by its ID Source: https://www.dynamic.xyz/docs/api-reference/custom-fields/delete-a-specific-custom-field-by-its-id openapi.yaml delete /custom/fields/{customFieldId} # Get the custom fields for an environment Source: https://www.dynamic.xyz/docs/api-reference/custom-fields/get-the-custom-fields-for-an-environment openapi.yaml get /environments/{environmentId}/custom/fields # Retrieve a specific custom field by its ID Source: https://www.dynamic.xyz/docs/api-reference/custom-fields/retrieve-a-specific-custom-field-by-its-id openapi.yaml get /custom/fields/{customFieldId} # Update an existing custom field by its ID Source: https://www.dynamic.xyz/docs/api-reference/custom-fields/update-an-existing-custom-field-by-its-id openapi.yaml put /custom/fields/{customFieldId} # Create a custom network for an organization Source: https://www.dynamic.xyz/docs/api-reference/custom-networks/create-a-custom-network-for-an-organization openapi.yaml post /organizations/{organizationId}/customNetworks # Delete a custom network Source: https://www.dynamic.xyz/docs/api-reference/custom-networks/delete-a-custom-network openapi.yaml delete /organizations/{organizationId}/customNetworks/{networkId} # Get a specific custom network Source: https://www.dynamic.xyz/docs/api-reference/custom-networks/get-a-specific-custom-network openapi.yaml get /organizations/{organizationId}/customNetworks/{networkId} # Get all custom networks for an organization Source: https://www.dynamic.xyz/docs/api-reference/custom-networks/get-all-custom-networks-for-an-organization openapi.yaml get /organizations/{organizationId}/customNetworks # Update a custom network Source: https://www.dynamic.xyz/docs/api-reference/custom-networks/update-a-custom-network openapi.yaml put /organizations/{organizationId}/customNetworks/{networkId} # Create a new custom hostname for this environment Source: https://www.dynamic.xyz/docs/api-reference/customhostnames/create-a-new-custom-hostname-for-this-environment openapi.yaml post /environments/{environmentId}/custom/hostnames # Delete the custom hostname Source: https://www.dynamic.xyz/docs/api-reference/customhostnames/delete-the-custom-hostname openapi.yaml delete /environments/{environmentId}/custom/hostnames/{customHostnameId} # Get the custom hostnames for this environemnt Source: https://www.dynamic.xyz/docs/api-reference/customhostnames/get-the-custom-hostnames-for-this-environemnt openapi.yaml get /environments/{environmentId}/custom/hostnames # Delete a mobile deeplink URL by id Source: https://www.dynamic.xyz/docs/api-reference/deeplinkurls/delete-a-mobile-deeplink-url-by-id openapi.yaml delete /deeplinkUrls/{deeplinkUrlId} # Get all the whitelisted mobile deeplink URLs for a project environment Source: https://www.dynamic.xyz/docs/api-reference/deeplinkurls/get-all-the-whitelisted-mobile-deeplink-urls-for-a-project-environment openapi.yaml get /environments/{environmentId}/deeplinkUrls # Whitelists a mobile deeplink URL for this project environment Source: https://www.dynamic.xyz/docs/api-reference/deeplinkurls/whitelists-a-mobile-deeplink-url-for-this-project-environment openapi.yaml post /environments/{environmentId}/deeplinkUrls # Find an environment by ID Source: https://www.dynamic.xyz/docs/api-reference/environments/find-an-environment-by-id openapi.yaml get /environments/{environmentId} # Get keys for an environment given environmentId Source: https://www.dynamic.xyz/docs/api-reference/environments/get-keys-for-an-environment-given-environmentid openapi.yaml get /environments/{environmentId}/keys # Get Live and Sandbox environments by projectId Source: https://www.dynamic.xyz/docs/api-reference/environments/get-live-and-sandbox-environments-by-projectid openapi.yaml get /projects/{projectId}/environments # Get the unique number of visitors for an environment by environment ID Source: https://www.dynamic.xyz/docs/api-reference/environments/get-the-unique-number-of-visitors-for-an-environment-by-environment-id openapi.yaml get /environments/{environmentId}/statistics/visitors # Updates the environment settings Source: https://www.dynamic.xyz/docs/api-reference/environments/updates-the-environment-settings openapi.yaml put /environments/{environmentId} # Get environment event by id Source: https://www.dynamic.xyz/docs/api-reference/events/get-environment-event-by-id openapi.yaml get /environments/{environmentId}/events/{eventId} # Get environment events Source: https://www.dynamic.xyz/docs/api-reference/events/get-environment-events openapi.yaml get /environments/{environmentId}/events # Get event types Source: https://www.dynamic.xyz/docs/api-reference/events/get-event-types openapi.yaml get /eventTypes # Create a new export request for the project environment Source: https://www.dynamic.xyz/docs/api-reference/exports/create-a-new-export-request-for-the-project-environment openapi.yaml post /environments/{environmentId}/exports # Download an export by ID Source: https://www.dynamic.xyz/docs/api-reference/exports/download-an-export-by-id openapi.yaml get /environments/{environmentId}/exports/{exportId}/download # Get an export using the ID Source: https://www.dynamic.xyz/docs/api-reference/exports/get-an-export-using-the-id openapi.yaml get /environments/{environmentId}/exports/{exportId} # Get the exports for an environment Source: https://www.dynamic.xyz/docs/api-reference/exports/get-the-exports-for-an-environment openapi.yaml get /environments/{environmentId}/exports # Check if the external provided JWT is valid for the specified environment Source: https://www.dynamic.xyz/docs/api-reference/externaljwt/check-if-the-external-provided-jwt-is-valid-for-the-specified-environment openapi.yaml post /environments/{environmentId}/externalJwt/check # Creates a new gate for the project environment Source: https://www.dynamic.xyz/docs/api-reference/gates/creates-a-new-gate-for-the-project-environment openapi.yaml post /environments/{environmentId}/gates # Delete a gate Source: https://www.dynamic.xyz/docs/api-reference/gates/delete-a-gate openapi.yaml delete /environments/{environmentId}/gates/{gateId} # Disable the gate for the environment Source: https://www.dynamic.xyz/docs/api-reference/gates/disable-the-gate-for-the-environment openapi.yaml put /environments/{environmentId}/gates/{gateId}/disable # Enable the gate for the environment Source: https://www.dynamic.xyz/docs/api-reference/gates/enable-the-gate-for-the-environment openapi.yaml put /environments/{environmentId}/gates/{gateId}/enable # Get the gates for an environment Source: https://www.dynamic.xyz/docs/api-reference/gates/get-the-gates-for-an-environment openapi.yaml get /environments/{environmentId}/gates # Gets a gate Source: https://www.dynamic.xyz/docs/api-reference/gates/gets-a-gate openapi.yaml get /environments/{environmentId}/gates/{gateId} # Updates a gate Source: https://www.dynamic.xyz/docs/api-reference/gates/updates-a-gate openapi.yaml put /environments/{environmentId}/gates/{gateId} # Adds a domain to be allowed or blocked for global wallet access for this project environment Source: https://www.dynamic.xyz/docs/api-reference/globalwalletaccesscontrol/adds-a-domain-to-be-allowed-or-blocked-for-global-wallet-access-for-this-project-environment openapi.yaml post /environments/{environmentId}/globalWallet/accessControl/domains # Creates a global wallet access control for this project environment Source: https://www.dynamic.xyz/docs/api-reference/globalwalletaccesscontrol/creates-a-global-wallet-access-control-for-this-project-environment openapi.yaml post /environments/{environmentId}/globalWallet/accessControl # Delete a global wallet access control domain by id Source: https://www.dynamic.xyz/docs/api-reference/globalwalletaccesscontrol/delete-a-global-wallet-access-control-domain-by-id openapi.yaml delete /environments/{environmentId}/globalWallet/accessControl/domains/{globalWalletAccessControlDomainId} # Disabled global wallet access control for this environment Source: https://www.dynamic.xyz/docs/api-reference/globalwalletaccesscontrol/disabled-global-wallet-access-control-for-this-environment openapi.yaml put /environments/{environmentId}/globalWallet/accessControl/disable # Enable global wallet access control for this environment Source: https://www.dynamic.xyz/docs/api-reference/globalwalletaccesscontrol/enable-global-wallet-access-control-for-this-environment openapi.yaml put /environments/{environmentId}/globalWallet/accessControl/enable # Get all the global wallet access control domains for a project environment Source: https://www.dynamic.xyz/docs/api-reference/globalwalletaccesscontrol/get-all-the-global-wallet-access-control-domains-for-a-project-environment openapi.yaml get /environments/{environmentId}/globalWallet/accessControl # Updates a global wallet access control for this project environment Source: https://www.dynamic.xyz/docs/api-reference/globalwalletaccesscontrol/updates-a-global-wallet-access-control-for-this-project-environment openapi.yaml put /environments/{environmentId}/globalWallet/accessControl # Get the global wallet connections for this environment Source: https://www.dynamic.xyz/docs/api-reference/globalwalletconnections/get-the-global-wallet-connections-for-this-environment openapi.yaml get /environments/{environmentId}/globalWallet/connections # Creates the global wallet settings for the environment Source: https://www.dynamic.xyz/docs/api-reference/globalwallets/creates-the-global-wallet-settings-for-the-environment openapi.yaml post /environments/{environmentId}/globalWallet/settings # Disabled global wallet for this environment Source: https://www.dynamic.xyz/docs/api-reference/globalwallets/disabled-global-wallet-for-this-environment openapi.yaml put /environments/{environmentId}/globalWallet/disable # Enable global wallet for this environment Source: https://www.dynamic.xyz/docs/api-reference/globalwallets/enable-global-wallet-for-this-environment openapi.yaml put /environments/{environmentId}/globalWallet/enable # Get the global wallet settings for environment Source: https://www.dynamic.xyz/docs/api-reference/globalwallets/get-the-global-wallet-settings-for-environment openapi.yaml get /environments/{environmentId}/globalWallet/settings # Updates the global wallet settings for the environment Source: https://www.dynamic.xyz/docs/api-reference/globalwallets/updates-the-global-wallet-settings-for-the-environment openapi.yaml put /environments/{environmentId}/globalWallet/settings # Creates an invite to the organization Source: https://www.dynamic.xyz/docs/api-reference/invites/creates-an-invite-to-the-organization openapi.yaml post /organizations/{organizationId}/invites # Delete invite for user Source: https://www.dynamic.xyz/docs/api-reference/invites/delete-invite-for-user openapi.yaml delete /invites/{inviteId} # Fetches all the Invites the belong to the organization Source: https://www.dynamic.xyz/docs/api-reference/invites/fetches-all-the-invites-the-belong-to-the-organization openapi.yaml get /organizations/{organizationId}/invites # Get all the user invites Source: https://www.dynamic.xyz/docs/api-reference/invites/get-all-the-user-invites openapi.yaml get /invites # Update invite for user (accept/reject) Source: https://www.dynamic.xyz/docs/api-reference/invites/update-invite-for-user-acceptreject openapi.yaml put /invites/{inviteId} # Delegate ownership of an organization to another admin. If successful, the previous owner becomes an admin. Source: https://www.dynamic.xyz/docs/api-reference/members/delegate-ownership-of-an-organization-to-another-admin-if-successful-the-previous-owner-becomes-an-admin openapi.yaml put /members/{memberId}/delegateOwnership # Delete user membership from being an admin of an organization Source: https://www.dynamic.xyz/docs/api-reference/members/delete-user-membership-from-being-an-admin-of-an-organization openapi.yaml delete /members/{memberId} # Get all users that are admins for an organization Source: https://www.dynamic.xyz/docs/api-reference/members/get-all-users-that-are-admins-for-an-organization openapi.yaml get /organizations/{organizationId}/members # Get Membership Environment IDs Source: https://www.dynamic.xyz/docs/api-reference/members/get-membership-environment-ids openapi.yaml get /membershipEnvironmentIds Retrieve the list of project environments that the user is a member of. # Update a given members role Source: https://www.dynamic.xyz/docs/api-reference/members/update-a-given-members-role openapi.yaml put /members/{memberId} # Delete all MFA Devices for the user Source: https://www.dynamic.xyz/docs/api-reference/mfa/delete-all-mfa-devices-for-the-user openapi.yaml delete /users/{userId}/mfa # Reset the user's MFA methods Source: https://www.dynamic.xyz/docs/api-reference/mfa/reset-the-users-mfa-methods openapi.yaml post /users/{userId}/mfa/reset # Disable the given mfa device for the organization Source: https://www.dynamic.xyz/docs/api-reference/mfasettings/disable-the-given-mfa-device-for-the-organization openapi.yaml put /organizations/{organizationId}/mfaSettings/{mfaDeviceType}/disable # Enable the given mfa device for the organization Source: https://www.dynamic.xyz/docs/api-reference/mfasettings/enable-the-given-mfa-device-for-the-organization openapi.yaml put /organizations/{organizationId}/mfaSettings/{mfaDeviceType}/enable # Get all mfa settings for an organization Source: https://www.dynamic.xyz/docs/api-reference/mfasettings/get-all-mfa-settings-for-an-organization openapi.yaml get /organizations/{organizationId}/mfaSettings # Create a new name service for the environment and chain Source: https://www.dynamic.xyz/docs/api-reference/nameservices/create-a-new-name-service-for-the-environment-and-chain openapi.yaml post /environments/{environmentId}/nameService/{chainName} # delete the name service for the environment and chain Source: https://www.dynamic.xyz/docs/api-reference/nameservices/delete-the-name-service-for-the-environment-and-chain openapi.yaml delete /environments/{environmentId}/nameService/{chainName} # Disabled name service for this environment and chain Source: https://www.dynamic.xyz/docs/api-reference/nameservices/disabled-name-service-for-this-environment-and-chain openapi.yaml put /environments/{environmentId}/nameService/{chainName}/disable # Enable name service for this environment and chain Source: https://www.dynamic.xyz/docs/api-reference/nameservices/enable-name-service-for-this-environment-and-chain openapi.yaml put /environments/{environmentId}/nameService/{chainName}/enable # Get the name service for the environment and chain Source: https://www.dynamic.xyz/docs/api-reference/nameservices/get-the-name-service-for-the-environment-and-chain openapi.yaml get /environments/{environmentId}/nameService/{chainName} # Get the unsigned chain-specific message needed to be signed by the wallet owner using the wallet private key Source: https://www.dynamic.xyz/docs/api-reference/nameservices/get-the-unsigned-chain-specific-message-needed-to-be-signed-by-the-wallet-owner-using-the-wallet-private-key openapi.yaml post /environments/{environmentId}/nameService/{chainName}/signingMessage # Add coupon to subscription Source: https://www.dynamic.xyz/docs/api-reference/organizations/add-coupon-to-subscription openapi.yaml put /organizations/{organizationId}/billing/subscription/coupon # Create SSO provider configuration for organization Source: https://www.dynamic.xyz/docs/api-reference/organizations/create-sso-provider-configuration-for-organization openapi.yaml post /organizations/{organizationId}/ssoProvider # Creates organization Source: https://www.dynamic.xyz/docs/api-reference/organizations/creates-organization openapi.yaml post /organizations # Delete SSO provider configuration Source: https://www.dynamic.xyz/docs/api-reference/organizations/delete-sso-provider-configuration openapi.yaml delete /organizations/{organizationId}/ssoProvider/{ssoProviderId} # Fetches all the active organizations that the user has access to Source: https://www.dynamic.xyz/docs/api-reference/organizations/fetches-all-the-active-organizations-that-the-user-has-access-to openapi.yaml get /organizations # Find an organization by ID Source: https://www.dynamic.xyz/docs/api-reference/organizations/find-an-organization-by-id openapi.yaml get /organizations/{organizationId} # Find the subscription of an organization using its ID Source: https://www.dynamic.xyz/docs/api-reference/organizations/find-the-subscription-of-an-organization-using-its-id openapi.yaml get /organizations/{organizationId}/billing/subscription # Get SSO provider configuration for organization Source: https://www.dynamic.xyz/docs/api-reference/organizations/get-sso-provider-configuration-for-organization openapi.yaml get /organizations/{organizationId}/ssoProvider # Update an organization address by ID Source: https://www.dynamic.xyz/docs/api-reference/organizations/update-an-organization-address-by-id openapi.yaml put /organizations/{organizationId}/address # Update an organization by ID Source: https://www.dynamic.xyz/docs/api-reference/organizations/update-an-organization-by-id openapi.yaml put /organizations/{organizationId} # Update SSO provider configuration Source: https://www.dynamic.xyz/docs/api-reference/organizations/update-sso-provider-configuration openapi.yaml put /organizations/{organizationId}/ssoProvider/{ssoProviderId} # Upgrade organziation to advanced plan Source: https://www.dynamic.xyz/docs/api-reference/organizations/upgrade-organziation-to-advanced-plan openapi.yaml put /organizations/{organizationId}/billing/upgrade # Adds an allowed origin for this project environment Source: https://www.dynamic.xyz/docs/api-reference/origins/adds-an-allowed-origin-for-this-project-environment openapi.yaml post /environments/{environmentId}/origins # Delete a origin by id Source: https://www.dynamic.xyz/docs/api-reference/origins/delete-a-origin-by-id openapi.yaml delete /origins/{originId} # Get all the allowed origins for a project environment Source: https://www.dynamic.xyz/docs/api-reference/origins/get-all-the-allowed-origins-for-a-project-environment openapi.yaml get /environments/{environmentId}/origins # Introduction Source: https://www.dynamic.xyz/docs/api-reference/overview ## Introduction Dynamic provides a robust API that allows developers to securely access their dashboard environment's data and programmatically update settings relevant to their Dynamic-powered application. ## Authentication All APIs in this section require a bearer token used to authenticate requests and make sure the caller is authorized to access the resources in the requests. There are two different kinds of endpoints which require different kinds of bearer tokens: ### Non SDK endpoints These are all endpoints designed to be call by an admin of the Dynamic environment. #### Get an API token from Dashboard 1. Go to the your environment's dashboard [Developer Tab](https://app.dynamic.xyz/dashboard/developer/api) 2. In the "API Token" section, click on "Create Token" 3. Provide a name for the token. The best practice here would be to name the token after the system you intend to use this token with. A few examples: "Mycompany Admin", "Ben's personal token", or "background-job service". 4. Select the scoped actions and resources the API token can access. This will ensure that your API token only has the limited access it needs. See the [API Token Permissions](/overview/developer-dashboard/api-token-permissions) page. 5. **Make sure to copy the API token** before closing the modal. This is the last time you will have access to the plaintext API token! Dynamic DOES NOT have access to the plaintext API token anywhere. If you lose this API token, you will need to create a new one. 6. The token should start with the prefix `dyn_` followed by 56 alphanumeric characters. #### Using the API token Use the token generated through dashboard to programmatically access Dynamic's API by adding it to the `Authentication` header of your HTTP request. Example: ```bash curl theme={"system"} curl \ --location 'https://app.dynamic.xyz/api/v0/environments/<>' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ADD_YOUR_DYN_TOKEN_HERE' ``` ### SDK endpoints These are all endpoints designed to be called by the SDK itself, or by a user of the Dynamic environment who has a valid JWT. #### Fetching a JWT from the SDK Use the [getAuthToken](/react/reference/utilities/getauthtoken) utility function to fetch a JWT from the SDK. Example: ```tsx React theme={"system"} const authToken = getAuthToken(); ``` #### Using the API token Use the token generated through dashboard to programmatically access Dynamic's API by adding it to the `Authentication` header of your HTTP request. Example: ```bash curl theme={"system"} curl \ --location 'https://app.dynamic.xyz/api/v0/environments/<>' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ADD_YOUR_JWT_HERE' ``` ## Standard errors * `400` - Bad Request. The form of the request is invalid. Please check that the path parameters, query parameters, or the request's body contains the correct and expected information defined in our docs. * `401`- Unauthorized. The endpoint that is being accessed requires an `Authorization` header. * `403` - Forbidden. The token authorized for the HTTP call does not have access to the resource defined by the endpoint (eg. the specific environment, allowlist, user, etc.) * `404` - Not found. The path of the requested resource could not be found. Please check that the URL path is correct or that the ID provided is correct. ## Rate Limits Dynamic's API endpoints are subject to rate limits. Refer to [Rate Limits](/overview/rate-limits) for more information. # Creates a new project Source: https://www.dynamic.xyz/docs/api-reference/projects/creates-a-new-project openapi.yaml post /organizations/{organizationId}/projects # Deletes a project by ID Source: https://www.dynamic.xyz/docs/api-reference/projects/deletes-a-project-by-id openapi.yaml delete /projects/{projectId} # Fetches all the active projects the belong to the organization Source: https://www.dynamic.xyz/docs/api-reference/projects/fetches-all-the-active-projects-the-belong-to-the-organization openapi.yaml get /organizations/{organizationId}/projects # Find an project by ID Source: https://www.dynamic.xyz/docs/api-reference/projects/find-an-project-by-id openapi.yaml get /projects/{projectId} # Update a project Source: https://www.dynamic.xyz/docs/api-reference/projects/update-a-project openapi.yaml put /projects/{projectId} # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AccessOutcomeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Account # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AccountBalances # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AccountList # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ActiveUsersTrendResult # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ActiveWeeklyDaysResult # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AddDeeplinkUrlRequest # AdminSecurityAccessControl Source: https://www.dynamic.xyz/docs/api-reference/schemas/AdminSecurityAccessControl Response schema for admin security access control events. Access control settings (MFA or auth) that were created Multi-factor authentication settings. See [MFASettings](/api-reference/schemas/MFASettings) schema. Authentication settings. See [AuthSettings](/api-reference/schemas/AuthSettings) schema. # AdminSecurityCookieDomain Source: https://www.dynamic.xyz/docs/api-reference/schemas/AdminSecurityCookieDomain Response schema for admin security cookie domain events. Cookie domain configuration that was created The cookie domain (ISS) from external auth settings The cookie name from external auth settings # AdminSecurityIpSettings Source: https://www.dynamic.xyz/docs/api-reference/schemas/AdminSecurityIpSettings Response schema for admin security IP settings events. IP settings configuration that was created Authentication storage settings. Array of [AuthStorageEnum](/api-reference/schemas/AuthStorageEnum) values. # AdminSecurityJwtSettings Source: https://www.dynamic.xyz/docs/api-reference/schemas/AdminSecurityJwtSettings Response schema for admin security JWT settings events. JWT duration settings that were updated The JWT duration configuration. See [Duration](/api-reference/schemas/Duration) schema. # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Allowlist # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AllowlistEntriesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AllowlistEntry # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AnalyticsEngagementResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AnalyticsOverviewResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AnalyticsSessionsByDate # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AnalyticsToplineResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AnalyticsVisitResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AnalyticsWalletsBreakdownResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AnalyticsWalletsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Asset # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AssetDiff # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AssetExposure # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AssetTransfer # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AttestationConveyancePreference # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthModeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthStorageEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthenticationExtensionsClientInputs # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthenticationExtensionsClientOutputs # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthenticatorAssertionResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthenticatorAttachment # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthenticatorAttestationResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthenticatorSelectionCriteria # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/AuthenticatorTransportProtocol # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BackupKeySharesToLocationRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BackupKeySharesToLocationResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BackupKeySharesToLocationsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BackupKeySharesToLocationsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BackupKeySharesToLocationsWithUserIdRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BackupMultipleClientKeySharesRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BackupMultipleClientKeySharesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BadGateway # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BadRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BaseUser # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BillingSubscription # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BillingSubscriptionCoupon # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BillingSubscriptionPeriod # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BillingSubscriptionPlanTypeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BlockaidValidation # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/BulkUserCreateResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainConfiguration # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainConfigurations # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainToken # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainTokensResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainalysisCheck # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainalysisCheckResultEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ChainalysisConfiguration # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseMpcWalletProperties # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampBuyUrlExperience # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampFee # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampFeeType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampGetBuyUrlRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampGetBuyUrlResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampOrder # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampOrderCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampOrderPaymentLinkType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampOrderPaymentMethod # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampOrderResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CoinbaseOnrampOrderStatus # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CompletePasskeyRecoveryRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ConnectRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CountryCode # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateEmbeddedWalletParams # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateEmbeddedWalletSpecificOpts # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateEmbeddedWalletsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateExchangeTransferRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateMfaToken # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateProjectResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateRoomsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateRoomsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateRoomsWithoutWalletIdRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateRoomsWithoutWalletIdResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateTokenResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateTurnkeyEmbeddedWalletSpecificOpts # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateUserEmbeddedWalletsFromFarcasterRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateUserEmbeddedWalletsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateUserOauthRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateUserWaasWalletsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateWaasAccountRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateWalletAccountRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CreateWalletRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CryptoDotComPaymentCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CryptoDotComPaymentResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Currency # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CurrencyType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomField # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomFieldRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomFieldType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomFieldValidValue # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomFieldValidationRules # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomFieldsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomHostname # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomHostnameCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomHostnameStatusEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomHostnameUsageEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomHostnameVerificationRecord # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomHostnameVerificationType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomHostnamesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomNetworkRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/CustomNetworkResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DeeplinkUrlResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DeeplinkUrlsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegateOwnershipRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegatedAccessEncryptionPublicKey # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegatedAccessEncryptionPublicKeyResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegatedAccessEncryptionPublicKeysResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegatedAccessEncryptionPublicKeysUnifiedResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegatedAccessWalletApiKey # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegatedShareDeliveryRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DelegatedShareDeliveryResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DeleteEmbeddedWalletsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DeleteUserPasskeyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DnsRecordType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Duration # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/DynamicJwt # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Eip712Domain # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Eip712TypeMember # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Eip712Types # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmailProviderResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmailVerificationCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmailVerificationCreateResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmailVerificationMfaRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmailVerificationRetryRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmailVerificationVerifyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletAuthToken # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletAuthType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletChainEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletPasscodeClaimRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletProviderEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletSecret # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletSecretWithUpdatedJwt # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletSecurityMethod # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EmbeddedWalletVersionEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EncodedJwt # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EnvironmentEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EnvironmentVisitorsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EnvironmentsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ErrorMessageWithCode # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EthSolBtcSuiFlowCosmosTronWalletAddress # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Event # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EventContext # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EventType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EventTypesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/EventsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Exchange # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeKeyEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeOption # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeRatesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeTransaction # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeTransferResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExchangeUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Export # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExportCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExportEmbeddedWalletResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExportFormatEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExportModelEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExportStatusEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExportWaasWalletPrivateKeyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExportsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExternalAuth # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExternalAuthSigninRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExternalJwtCheckRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExternalJwtCheckResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExternalWalletFundingDefaultChain # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExternalWalletFundingDefaultSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ExternalWalletFundingTokenRule # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/FarcasterSignInRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/FeatureFlags # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Forbidden # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ForbiddenErrorPayload # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ForbiddenWithErrorAndPayload # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/FrameworkSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Funding # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Gate # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GateCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GateRule # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GateRuleFilter # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GateRuleType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GateUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GatesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GeneratedTokenResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GetPasskeyAuthenticationOptionsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GetPasskeyRegistrationOptionsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GetUserPasskeysResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletAccessControlDomainCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletAccessControlDomainResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletAccessControlResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletAccessControlTypeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletAccessControlUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletConnection # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletConnectionCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletConnectionStatusEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletSettingsCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/GlobalWalletSettingsUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/HCaptchaSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/HTTPSUrlOrSNSArn # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/HardwareWalletEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/HardwareWalletProperties # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/HealthcheckResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/HealthcheckStatus # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/HexString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ImportWaasPrivateKeyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InitEmailAuthRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InitEmailAuthResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InitPasskeyRecoveryRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InitPasskeyRecoveryResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/IntegrationSetting # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InternalBulkUpdateUserFields # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InternalServerError # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InternalUpdatableUserFields # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InternalUserFields # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Invite # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InviteConflictResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InviteSendRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InviteStatusEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InviteUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/InvitesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/IsoCountryCode # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/JwksKey # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/JwksResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/JwtBlockchainAccount # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/JwtPayloadDeprecatedInfo # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/JwtVerifiedCredential # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/JwtVerifiedCredentialFormatEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/JwtVerifiedCredentialHashes # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Key # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/KeyResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/KycFieldType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAAction # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAAuthPasskeyDeviceGetResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAAuthPasskeyDevicePostRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAAuthRecoveryDevicePostRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAAuthTotpDevicePostRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFADevice # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFADeviceType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAGetDeviceResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAGetRecoveryCodesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAListDevicesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAMethodsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFARegenRecoveryCodesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFARegisterPasskeyDeviceGetResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFARegisterPasskeyDevicePostRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFARegisterTotpDeviceGetResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFARegisterTotpDevicePostRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFARegisterTotpDevicePostResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFASettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MFAUpdateDeviceRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MemberResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MemberRoleField # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MembershipEnvironmentIds # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MergeConflicts # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MergeUser # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MergeUserConflict # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MergeUserConflictResolution # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MergeUserConflictResolutions # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MethodNotAllowed # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MfaBackupCodeAcknowledgement # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MinifiedDynamicJwt # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MobileSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MultichainAccountBalanceResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/MultichainAccountBalancesRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NameService # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NameServiceCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NameServiceData # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NameServiceResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NameServiceSdkSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NameServiceSigningMessage # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NameServiceSigningMessageRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NativeCurrency # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Network # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NetworkConfiguration # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NetworkConfigurationResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NextJsSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NextViewEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyAmountString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyBase58StringWith100MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyDomainUrlWith255MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyIsoCountryCode # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyStringWith16384MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyStringWith255MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyStringWith255MaxLengthAndSpecialChars # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyStringWith4096MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyStringWith50MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyUrl # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonEmptyUrlWith255MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NonceResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/NotFound # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OAuthCode # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OAuthError # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthInitAuthRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthProviderLoginUrl # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthProviderRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthRedirectRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthRedirectRequestIdToken # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthRedirectUri # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthResultRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthResultResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OauthResultStatus # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OnrampProviders # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OpenRoomResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OpenRoomResponseForReshare # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OpenRoomResponseWithServerKeygenIds # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalBase58StringWith100MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalHexString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyCssUrl # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyIconUrl # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyMarkdownText # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyStringWith255MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyStringWith50MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyStringWith50MaxLengthNoSpecialChars # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyUrl # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyUrlWith255MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNonEmptyUrlWithLocalhostAndDeepLink # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OptionalNullableNonEmptyStringWith255MaxLength # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Organization # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationAddressFields # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationFields # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationMember # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationMembersResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationMfaSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationMfaSettingsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OrganizationsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OriginResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/OriginsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyAllowCredential # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyAuthRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyCredentialHint # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyCredentialType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyExcludeCredential # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyExtension # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyRegisterRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyRegisterVerifyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyRegistrationCredential # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyRegistrationCredentialV2 # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyRelyingParty # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyStorage # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyTransport # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasskeyUser # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasswordSourceTypeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PasswordString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PostAllowlistEntriesRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PostAllowlistsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PostTokenFields # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PrefetchRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PriceData # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Project # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectEnvironment # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsChains # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsDesign # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsDesignButton # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsDesignModal # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsDesignWidget # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsGeneral # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsGeneralApps # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsKyc # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsPrivacy # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsSdk # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsSdkWaasDelegatedAccess # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectSettingsSecurity # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProjectsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Provider # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderAgreement # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderEntryPointVersionEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderKernelVersionEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderUrl # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProviderUrlsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ProvidersResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PublicKeyCredentialDescriptor # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PublicKeyCredentialParameters # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PublicKeyCredentialRpEntity # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PublicKeyCredentialType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PublicKeyCredentialUserEntity # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/PublishEvents # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RampConfiguration # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ReactSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RecoverMultipleClientKeySharesRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RecoverMultipleClientKeySharesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RegisterEmbeddedWalletSessionKeyResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RegisterSessionKeyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ReshareRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ResidentKeyRequirement # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RetentionTrendResult # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RevokeDelegatedAccessRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RevokeDelegatedAccessResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RevokeDelegatedAccessWalletResult # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RoleEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RoomCount # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/RoomTypeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ScanWebsiteUrlRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ScanWebsiteUrlResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkSettingsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkUser # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkView # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkViewSection # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkViewSectionAlignment # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkViewSectionType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkViewType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkViewUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SdkViewsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SecurityNotifications # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Session # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SessionsHeatmapResult # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SessionsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SessionsTrendResult # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignInProviderEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageAuthorizationSignature # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageContext # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageEip7702Auth # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageEvmMessage # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageEvmTransaction # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageEvmTypedData # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageEvmUserOperation # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageSuiTransaction # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageSvmTransaction # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageUserOperationData # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignMessageWithWaasRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SignTransactionWithWaasRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SimulateEVMTransactionRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SimulateSVMTransactionRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SimulateTransactionResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SimulateUserOpRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SmartWalletProperties # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SmsCountryCode # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SmsVerificationCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SmsVerificationCreateResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SmsVerificationRetryRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SmsVerificationVerifyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SocialSignInProvider # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SocialSignInProviderEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SolanaPublicKey # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SolanaTransactionOptimizationRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SolanaTransactionOptimizationResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SsoProvider # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SsoProviderCheckRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SsoProviderCheckResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SsoProviderCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SsoProviderEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SsoProviderUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SubscriptionAdvancedScopeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SubscriptionFreeScopeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SupportedOfframpsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SupportedOnrampsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SupportedSecurityMethod # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/SupportedSecurityMethods # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TelegramPostRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TelegramUser # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TestAccountResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ThresholdSignatureScheme # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TimeUnitEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Token # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TokenAddress # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TokenBalance # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TokenCreatedBy # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TokenScopes # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TokenWithRaw # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TokensResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TooManyRequests # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TransactionList # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TransferDestination # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TransferDestinationList # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TransferDestinationResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeyCreateWalletAccountsRequestBody # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeyCreateWalletAccountsRequestBodyParameters # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeyDeleteEmbeddedWalletsRequestBody # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeyDeleteEmbeddedWalletsRequestBodyParameters # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeySignedRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeyStamp # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeyWalletAccount # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/TurnkeyWalletProperties # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Unauthorized # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UnprocessableEntity # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UnprocessableEntityErrorCode # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UnprocessableEntityErrorPayload # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpdateProjectRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpdateProjectResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpdateRecoveryEmailRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpdateSelfResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpdateUserPasskeyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpdateWaasWalletSettingsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpdateWaasWalletSettingsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UpgradeEmbeddedWalletToV2Request # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/User # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserFields # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserFieldsCheckEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserFieldsCheckParams # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserFieldsCheckResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserFilterableFieldsEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserIdentifierTypeEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserOauthAccessTokenResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserPasskey # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserSearchFilterParams # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserVerificationRequirement # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserWalletSelectionRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UserWalletsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Username # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/UsersResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ValidCustomHostname # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ValidStringQueryParam # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/VerifyRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/VerifyResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/VerifyUnlinkRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Visitor # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/VisitorFilterableFieldsEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/VisitorSearchFilterParams # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/VisitorsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasAuthenticateResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasBackupOptionsEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasChainEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasDelegateSignMessageRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasDelegatedAccessEncryptionPublicKeyType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasDelegationCredentialsRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasDelegationCredentialsResponse # WaasPolicyArgumentConstraint Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyArgumentConstraint Schema for argument constraints in WAAS policy rules. These constraints validate function arguments against specified conditions. Comparison operator for argument validation. See [WaasPolicyConstraintCondition](/api-reference/schemas/WaasPolicyConstraintCondition) enum. Possible values: `equal`, `notEqual`, `greater`, `less`, `greaterEqual`, `lessEqual` Reference value for comparison. The type depends on the argument being validated. Index of the function argument to validate (0-based). Must be greater than or equal to 0. # WaasPolicyConstraintCondition Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyConstraintCondition Enum that defines comparison operators for argument validation in WAAS policy rules. ## Values * `equal` - Value must be equal to the reference value * `notEqual` - Value must not be equal to the reference value * `greater` - Value must be greater than the reference value * `less` - Value must be less than the reference value * `greaterEqual` - Value must be greater than or equal to the reference value * `lessEqual` - Value must be less than or equal to the reference value # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyDeleteRequest # WaasPolicyResponse Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyResponse Response schema for WAAS policy operations. Message describing the operation result Unique identifier for the policy The project environment ID this policy belongs to. See [uuid](/api-reference/schemas/uuid) schema. Timestamp when the policy was created (ISO 8601 date-time format) Timestamp when the policy was last updated (ISO 8601 date-time format) Array of policy rules. See [WaasPolicyRule](/api-reference/schemas/WaasPolicyRule) schema. # WaasPolicyRule Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyRule Schema for WAAS policy rules that define permissions and restrictions. Unique identifier for the rule. See [uuid](/api-reference/schemas/uuid) schema. Human-readable name for the rule Whether the rule permits or denies the specified action. See [WaasPolicyRuleType](/api-reference/schemas/WaasPolicyRuleType) enum. Possible values: `allow`, `deny` Target address(es) for EVM or SVM chains The blockchain network this rule applies to. See [WaasChainEnum](/api-reference/schemas/WaasChainEnum) schema. Array of chain IDs for the policy rule Contract ABI interface for smart contract interactions Specific function name to permit/deny in smart contract calls Validation rules for function arguments. Array of [WaasPolicyArgumentConstraint](/api-reference/schemas/WaasPolicyArgumentConstraint) objects. Value limits for the policy rule Target asset address. If undefined, refers to native token (e.g., ETH) Maximum value per function call (as string to handle bigint). Must match pattern: `^[0-9]+$` Cumulative value limit (as string to handle bigint). Must match pattern: `^[0-9]+$` # WaasPolicyRuleType Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyRuleType Enum that defines whether a WAAS policy rule permits or denies the specified action. ## Values * `allow` - The rule permits the specified action * `deny` - The rule denies the specified action # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasPolicyUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasVerifyApiKeyErrorResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasVerifyApiKeyResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWallet # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletProperties # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletSettings # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletSignaturePolicyTmpCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletSignaturePolicyTmpMaxAmount # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletSignaturePolicyTmpResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletSignaturePolicyTmpTimeLimit # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletSignaturePolicyTmpToAddresses # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WaasWalletSignaturePolicyTmpTokenAddresses # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Wallet # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletAdditionalAddress # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletAddressType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletBitcoinConfig # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletConnectProject # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletConnectProjectUpsertRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletConnectorKey # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletDetail # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletKeyShareInfo # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletKeyShareInfoWithEncryptedAccountCredential # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletProperties # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletProviderEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletPublicKey # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletRecoveryRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletRecoveryResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletTransaction # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletTransactionAssetTransfer # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletTransactionType # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletTransactionsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletsBreakdownResult # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WalletsResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/Webhook # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WebhookCreateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WebhookMessage # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WebhookMessageRedeliveryResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WebhookMessagesResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WebhookUpdateRequest # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WebhooksResponse # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/WhenToImplementEnum # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ZerodevBundlerProvider # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/btcWalletString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/caip2 # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/captchaToken # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ckbWalletString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/deeplinkUrl # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/dogeWalletString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ecdsaValidatorOptions # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/emailOrEmptyString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/kasWalletString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/kdaWalletString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/ltcWalletString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/oAuthAccount # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/orderBy # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/origin # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/phoneNumberOrEmptyString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/sixDigitsVerificationToken # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/updatableEmailOrEmptyString # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/uuid # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/v6UserOp # null Source: https://www.dynamic.xyz/docs/api-reference/schemas/v7UserOp # Get a sdk view given a type and environment Source: https://www.dynamic.xyz/docs/api-reference/sdk-views/get-a-sdk-view-given-a-type-and-environment openapi.yaml get /environments/{environmentId}/sdkViews/{sdkViewType} # Get the sdk views for an environment Source: https://www.dynamic.xyz/docs/api-reference/sdk-views/get-the-sdk-views-for-an-environment openapi.yaml get /environments/{environmentId}/sdkViews # Updates the configs for the sdk view and project environment Source: https://www.dynamic.xyz/docs/api-reference/sdk-views/updates-the-configs-for-the-sdk-view-and-project-environment openapi.yaml put /environments/{environmentId}/sdkViews/{sdkViewType} # [DEPRECATED] Please use /externalAuth/signin instead Source: https://www.dynamic.xyz/docs/api-reference/sdk/[deprecated]-please-use-externalauthsignin-instead openapi.yaml post /sdk/{environmentId}/externalAuth/verify # Add a wallet account to a user's existing V2 wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/add-a-wallet-account-to-a-users-existing-v2-wallet openapi.yaml post /sdk/{environmentId}/users/embeddedWallets/walletAccounts Add a wallet account to a user's existing V2 wallet # Add fees to a Solana transaction Source: https://www.dynamic.xyz/docs/api-reference/sdk/add-fees-to-a-solana-transaction openapi.yaml post /sdk/{environmentId}/solana/optimizeTransaction # After successful verification allow to merge two owned accounts Source: https://www.dynamic.xyz/docs/api-reference/sdk/after-successful-verification-allow-to-merge-two-owned-accounts openapi.yaml post /sdk/{environmentId}/users/merge Used to merge two owned accounts connected by email address # Authenticate a passkey Source: https://www.dynamic.xyz/docs/api-reference/sdk/authenticate-a-passkey openapi.yaml post /sdk/{environmentId}/users/passkeys/signin # Backup multiple keyShares for a waaS wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/backup-multiple-keyshares-for-a-waas-wallet openapi.yaml post /sdk/{environmentId}/waas/{walletId}/keyShares/backup # Backup multiple keyShares for a waaS wallet to Google Drive Source: https://www.dynamic.xyz/docs/api-reference/sdk/backup-multiple-keyshares-for-a-waas-wallet-to-google-drive openapi.yaml post /sdk/{environmentId}/waas/{walletId}/keyShares/backup/googleDrive # Check SSO provider for email domain Source: https://www.dynamic.xyz/docs/api-reference/sdk/check-sso-provider-for-email-domain openapi.yaml post /sdk/{environmentId}/ssoProvider Check if an email domain has an associated SSO provider configuration. Returns the authentication type (otp or sso) and optionally the provider name. # Check that session is valid Source: https://www.dynamic.xyz/docs/api-reference/sdk/check-that-session-is-valid openapi.yaml get /sdk/{environmentId}/session # Check user field uniqueness Source: https://www.dynamic.xyz/docs/api-reference/sdk/check-user-field-uniqueness openapi.yaml get /sdk/{environmentId}/users/check 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. # Claim a pregenerated embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/claim-a-pregenerated-embedded-wallet openapi.yaml put /sdk/{environmentId}/users/embeddedWallets/passcode/claim # Completes the passkey recovery process for a user's passkey embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/completes-the-passkey-recovery-process-for-a-users-passkey-embedded-wallet openapi.yaml put /sdk/{environmentId}/users/embeddedWallets/passkeyRecovery Completes the passkey recovery process for a user's passkey embedded wallet # Configuration for enabled offramps Source: https://www.dynamic.xyz/docs/api-reference/sdk/configuration-for-enabled-offramps openapi.yaml get /sdk/{environmentId}/offramps Find the configuration for the enabled offramps associated to an environment # Configuration for enabled onramps Source: https://www.dynamic.xyz/docs/api-reference/sdk/configuration-for-enabled-onramps openapi.yaml get /sdk/{environmentId}/onramps Find the configuration for the enabled onramps associated to an environment # Create a Coinbase onramp order Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-a-coinbase-onramp-order openapi.yaml post /sdk/{environmentId}/onramps/coinbase/orders # Create a new waas account Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-a-new-waas-account openapi.yaml post /sdk/{environmentId}/waas/create Create a new waas account # Create a visit Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-a-visit openapi.yaml post /sdk/{environmentId}/connect Endpoint to send minimal wallet information for a connect-only or connect-first visitor. # Create backup action and event for a specified location without performing actual backup Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-backup-action-and-event-for-a-specified-location-without-performing-actual-backup openapi.yaml post /sdk/{environmentId}/waas/{walletId}/keyShares/backup/location # Create backup action and event for multiple locations without performing actual backup Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-backup-action-and-event-for-multiple-locations-without-performing-actual-backup openapi.yaml post /sdk/{environmentId}/waas/{walletId}/keyShares/backup/locations # Create nonce for authentication flow Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-nonce-for-authentication-flow openapi.yaml get /sdk/{environmentId}/nonce # Create one or more new embedded wallets for a user Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-one-or-more-new-embedded-wallets-for-a-user openapi.yaml post /sdk/{environmentId}/users/embeddedWallets Create one or more embedded wallets for a user # Create rooms for a waas mpc ceremony Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-rooms-for-a-waas-mpc-ceremony openapi.yaml post /sdk/{environmentId}/waas/{walletId}/createRooms # Create rooms for a waas mpc ceremony without a walletId Source: https://www.dynamic.xyz/docs/api-reference/sdk/create-rooms-for-a-waas-mpc-ceremony-without-a-walletid openapi.yaml post /sdk/{environmentId}/waas/createRooms # Delete a device (if not default device) Source: https://www.dynamic.xyz/docs/api-reference/sdk/delete-a-device-if-not-default-device openapi.yaml delete /sdk/{environmentId}/users/mfa/{mfaDeviceId} # Delete a passkey Source: https://www.dynamic.xyz/docs/api-reference/sdk/delete-a-passkey openapi.yaml delete /sdk/{environmentId}/users/passkeys # Deletes the embedded wallets for a user Source: https://www.dynamic.xyz/docs/api-reference/sdk/deletes-the-embedded-wallets-for-a-user openapi.yaml delete /sdk/{environmentId}/users/embeddedWallets Deletes the embedded wallets for a user # Deliver encrypted delegated share Source: https://www.dynamic.xyz/docs/api-reference/sdk/deliver-encrypted-delegated-share openapi.yaml post /sdk/{environmentId}/waas/{walletId}/delegatedAccess/delivery Accepts delivery of the encrypted delegated share. # Endpoint to refresh the JWT auth token using the current valid JWT auth token in the authorization header Source: https://www.dynamic.xyz/docs/api-reference/sdk/endpoint-to-refresh-the-jwt-auth-token-using-the-current-valid-jwt-auth-token-in-the-authorization-header openapi.yaml post /sdk/{environmentId}/refresh # Endpoint to sign-in using a token issued by an external auth provider Source: https://www.dynamic.xyz/docs/api-reference/sdk/endpoint-to-sign-in-using-a-token-issued-by-an-external-auth-provider openapi.yaml post /sdk/{environmentId}/externalAuth/signin # Export private Key of a waas account Source: https://www.dynamic.xyz/docs/api-reference/sdk/export-private-key-of-a-waas-account openapi.yaml post /sdk/{environmentId}/waas/{walletId}/privateKey/export # Farcaster provider SignIn endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/farcaster-provider-signin-endpoint openapi.yaml post /sdk/{environmentId}/farcaster/signin Farcaster SignIn endpoint to exchange SIWF data # Farcaster provider Verify endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/farcaster-provider-verify-endpoint openapi.yaml post /sdk/{environmentId}/farcaster/verify Farcaster Verify endpoint to exchange SIWF data # Fetch a single WaaS wallet with verified credentials Source: https://www.dynamic.xyz/docs/api-reference/sdk/fetch-a-single-waas-wallet-with-verified-credentials openapi.yaml get /sdk/{environmentId}/waas/byWalletAddress/{walletAddress} 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. # Fetch user profile for the current authenticated user Source: https://www.dynamic.xyz/docs/api-reference/sdk/fetch-user-profile-for-the-current-authenticated-user openapi.yaml get /sdk/{environmentId}/users # Find jwks for public key Source: https://www.dynamic.xyz/docs/api-reference/sdk/find-jwks-for-public-key openapi.yaml get /sdk/{environmentId}/.well-known/jwks # Find jwks for public key (JSON format) Source: https://www.dynamic.xyz/docs/api-reference/sdk/find-jwks-for-public-key-json-format openapi.yaml get /sdk/{environmentId}/.well-known/jwks.json # Find the configuration for the enabled networks associated to an environment Source: https://www.dynamic.xyz/docs/api-reference/sdk/find-the-configuration-for-the-enabled-networks-associated-to-an-environment openapi.yaml get /sdk/{environmentId}/networks # Generate a Coinbase onramp buy URL Source: https://www.dynamic.xyz/docs/api-reference/sdk/generate-a-coinbase-onramp-buy-url openapi.yaml post /sdk/{environmentId}/onramps/coinbase/buy # Generate a short-lived JWT token for use with WAAS client backups. Source: https://www.dynamic.xyz/docs/api-reference/sdk/generate-a-short-lived-jwt-token-for-use-with-waas-client-backups openapi.yaml get /sdk/{environmentId}/waas/keyShares/backup/token 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. # Generate new recovery codes for user Source: https://www.dynamic.xyz/docs/api-reference/sdk/generate-new-recovery-codes-for-user openapi.yaml post /sdk/{environmentId}/users/mfa/recovery # Generates the request body for a user's create V2 wallet account request Source: https://www.dynamic.xyz/docs/api-reference/sdk/generates-the-request-body-for-a-users-create-v2-wallet-account-request openapi.yaml get /sdk/{environmentId}/users/embeddedWallets/walletAccounts/createRequest Generates the request body for a user's create V2 wallet account request # Generates the request body for a user's delete V2 wallets request Source: https://www.dynamic.xyz/docs/api-reference/sdk/generates-the-request-body-for-a-users-delete-v2-wallets-request openapi.yaml get /sdk/{environmentId}/users/embeddedWallets/{walletId}/deleteRequest Generates the request body for a user's delete V2 wallets request # Generates the turnkey request body for a user's delete wallets request Source: https://www.dynamic.xyz/docs/api-reference/sdk/generates-the-turnkey-request-body-for-a-users-delete-wallets-request openapi.yaml get /sdk/{environmentId}/users/embeddedWallets/deleteRequest Generates the turnkey request body for a user's delete wallets request # Get account balances for multiple addresses Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-account-balances-for-multiple-addresses openapi.yaml post /environments/{environmentId}/users/{userId}/balances # Get account balances for multiple addresses Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-account-balances-for-multiple-addresses-1 openapi.yaml post /sdk/{environmentId}/balances # Get auth token for given embedded wallet type Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-auth-token-for-given-embedded-wallet-type openapi.yaml get /sdk/{environmentId}/users/embeddedWallets/authToken # Get Coinbase supported networks Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-coinbase-supported-networks openapi.yaml get /sdk/{environmentId}/onramps/coinbase/networks Get a list of all networks supported by Coinbase onramp # Get exchangerates Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-exchangerates openapi.yaml get /exchangeRates Exchange rates for the given currency # Get HTML with rendered Telegram login widget Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-html-with-rendered-telegram-login-widget openapi.yaml get /sdk/{environmentId}/telegram/auth # Get recovery codes Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-recovery-codes openapi.yaml get /sdk/{environmentId}/users/mfa/recovery # Get redirect URL for Oauth provider login Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-redirect-url-for-oauth-provider-login openapi.yaml get /sdk/{environmentId}/providers/{providerType}/login # Get redirect URL for Oauth provider login. This will return a string that the SDK can manipulate before redirecting the browser to. Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-redirect-url-for-oauth-provider-login-this-will-return-a-string-that-the-sdk-can-manipulate-before-redirecting-the-browser-to openapi.yaml get /sdk/{environmentId}/providers/{providerType}/loginUrl # Get sdk exchangerates Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-sdk-exchangerates openapi.yaml get /sdk/{environmentId}/exchangeRates Exchange rates for the given currency # Get sdk healthcheck Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-sdk-healthcheck openapi.yaml get /sdk/{environmentId}/healthcheck Health check endpoint to check for uptime of API. # Get signin email provider Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-signin-email-provider openapi.yaml get /sdk/{environmentId}/emailProvider 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. # Get the access token for a user OAuth account Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-access-token-for-a-user-oauth-account openapi.yaml get /sdk/{environmentId}/oauthAccounts/{oauthAccountId}/accessToken # Get the available exchange transfer destinations for account transactions for a given dynamic user Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-available-exchange-transfer-destinations-for-account-transactions-for-a-given-dynamic-user openapi.yaml get /sdk/{environmentId}/exchange/{exchangeKey}/accounts/transfer/destinations # Get the current user's MFA by device id Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-current-users-mfa-by-device-id openapi.yaml get /sdk/{environmentId}/users/mfa/{mfaDeviceId} # Get the current user's MFA Devices Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-current-users-mfa-devices openapi.yaml get /sdk/{environmentId}/users/mfa # Get the current user's MFA Methods Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-current-users-mfa-methods openapi.yaml get /sdk/{environmentId}/users/mfa/methods # Get the environment's settings Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-environments-settings openapi.yaml get /sdk/{environmentId}/settings # Get the exchange account transactions for a given dynamic user Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-exchange-account-transactions-for-a-given-dynamic-user openapi.yaml get /sdk/{environmentId}/exchange/{exchangeKey}/accounts/transactions # Get the exchange accounts for a given dynamic user Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-exchange-accounts-for-a-given-dynamic-user openapi.yaml get /sdk/{environmentId}/exchange/{exchangeKey}/accounts # Get the global wallet settings for the environment Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-global-wallet-settings-for-the-environment openapi.yaml get /sdk/{environmentId}/globalWallets/settings # Get the token balances for an account Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-the-token-balances-for-an-account openapi.yaml get /sdk/{environmentId}/chains/{chainName}/balances # Get transactions for a wallet address Source: https://www.dynamic.xyz/docs/api-reference/sdk/get-transactions-for-a-wallet-address openapi.yaml get /sdk/{environmentId}/chains/{chainName}/transactions/{address} Fetches the list of transactions for a given wallet address within an environment. # Gets passkey authentication options Source: https://www.dynamic.xyz/docs/api-reference/sdk/gets-passkey-authentication-options openapi.yaml get /sdk/{environmentId}/users/passkeys/authenticate # Gets passkey authentication options Source: https://www.dynamic.xyz/docs/api-reference/sdk/gets-passkey-authentication-options-1 openapi.yaml get /sdk/{environmentId}/users/passkeys/signin # Gets passkey data associated with a user Source: https://www.dynamic.xyz/docs/api-reference/sdk/gets-passkey-data-associated-with-a-user openapi.yaml get /sdk/{environmentId}/users/passkeys # Gets passkey data associated with a user Source: https://www.dynamic.xyz/docs/api-reference/sdk/gets-passkey-data-associated-with-a-user-1 openapi.yaml get /sdk/{environmentId}/users/passkeys/register # Handle Telegram authentication Source: https://www.dynamic.xyz/docs/api-reference/sdk/handle-telegram-authentication openapi.yaml post /sdk/{environmentId}/telegram/auth # Hard delete a user Source: https://www.dynamic.xyz/docs/api-reference/sdk/hard-delete-a-user openapi.yaml delete /sdk/{environmentId}/users Hard delete the authenticated user # Import an existing private key to create a waas account Source: https://www.dynamic.xyz/docs/api-reference/sdk/import-an-existing-private-key-to-create-a-waas-account openapi.yaml post /sdk/{environmentId}/waas/privateKey/import Import a private key to create a waas account # Initialize email verification process Source: https://www.dynamic.xyz/docs/api-reference/sdk/initialize-email-verification-process openapi.yaml post /sdk/{environmentId}/emailVerifications/create # Initialize oauth auth sequence Source: https://www.dynamic.xyz/docs/api-reference/sdk/initialize-oauth-auth-sequence openapi.yaml post /sdk/{environmentId}/providers/{providerType}/initAuth This endpoint initializes a secure oauth authentication sequence by providing the state and current url path to the API. # Initialize sms verification process Source: https://www.dynamic.xyz/docs/api-reference/sdk/initialize-sms-verification-process openapi.yaml post /sdk/{environmentId}/smsVerifications/create # Initialize the email authentication process for a user's embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/initialize-the-email-authentication-process-for-a-users-embedded-wallet openapi.yaml post /sdk/{environmentId}/users/embeddedWallets/emailAuth Initialize the email authentication process for a user's embedded wallet # Initialize the passkey recovery process for a user's passkey embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/initialize-the-passkey-recovery-process-for-a-users-passkey-embedded-wallet openapi.yaml post /sdk/{environmentId}/users/embeddedWallets/passkeyRecovery Initialize the passkey recovery process for a user's passkey embedded wallet # Link wallet to user Source: https://www.dynamic.xyz/docs/api-reference/sdk/link-wallet-to-user openapi.yaml post /sdk/{environmentId}/verify/link Link a wallet to a valid environment user, and return an updated JWT # Merge users with conflict resolutions Source: https://www.dynamic.xyz/docs/api-reference/sdk/merge-users-with-conflict-resolutions openapi.yaml post /sdk/{environmentId}/verify/merge Used to merge two users with user-chosen resolutions to conflicting data between the two users to be merged # Oauth provider authorization endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/oauth-provider-authorization-endpoint openapi.yaml get /sdk/{environmentId}/providers/{providerType}/authorizeHtml Endpoint where an oauth provider would return authorization HTML used for mobile-friendly login, such as Apple ID with Touch ID on enabled devices. # Oauth provider redirect endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/oauth-provider-redirect-endpoint openapi.yaml get /sdk/{environmentId}/providers/{providerType}/redirect Endpoint where an oauth provider would redirect after a successful user authorizing the oauth application. # Oauth provider redirect endpoint for apple ID Source: https://www.dynamic.xyz/docs/api-reference/sdk/oauth-provider-redirect-endpoint-for-apple-id openapi.yaml post /sdk/{environmentId}/providers/apple/redirect Endpoint where an oauth provider would redirect after a successful user authorizing the oauth application. # Oauth provider SignIn endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/oauth-provider-signin-endpoint openapi.yaml post /sdk/{environmentId}/providers/{providerType}/signIn Standard OAuth SignIn callback to exchange temproary code for oauth access and return a valid Dynamic JWT and user # Oauth provider verify endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/oauth-provider-verify-endpoint openapi.yaml post /sdk/{environmentId}/providers/{providerType}/verify Standard OAuth verify callback to exchange temproary code for oauth access # prefetch information for wallet address Source: https://www.dynamic.xyz/docs/api-reference/sdk/prefetch-information-for-wallet-address openapi.yaml post /sdk/{environmentId}/prefetch Endpoint to send minimal wallet information to the API to prefetch name service information for an address. # Publish events for SDK Source: https://www.dynamic.xyz/docs/api-reference/sdk/publish-events-for-sdk openapi.yaml post /sdk/{environmentId}/events # Recover multiple keyShares Source: https://www.dynamic.xyz/docs/api-reference/sdk/recover-multiple-keyshares openapi.yaml post /sdk/{environmentId}/waas/{walletId}/keyShares/recover # Redirect URL for sign-in with coinbase Source: https://www.dynamic.xyz/docs/api-reference/sdk/redirect-url-for-sign-in-with-coinbase openapi.yaml get /sdk/{environmentId}/providers/cbOauthRedirectUrl This endpoint proxies requests to `/sdk/{environmentId}/providers/coinbasesocial/redirect` because Coinbase does not allow the string `coinbase` on the redirect URL path # Refresh keyshares Source: https://www.dynamic.xyz/docs/api-reference/sdk/refresh-keyshares openapi.yaml post /sdk/{environmentId}/waas/{walletId}/refresh # Register a new passkey Source: https://www.dynamic.xyz/docs/api-reference/sdk/register-a-new-passkey openapi.yaml post /sdk/{environmentId}/users/passkeys/register # Register a new Passkey MFA device Source: https://www.dynamic.xyz/docs/api-reference/sdk/register-a-new-passkey-mfa-device openapi.yaml get /sdk/{environmentId}/users/mfa/register/passkey # Register a new TOTP MFA device and get Totp Secret Source: https://www.dynamic.xyz/docs/api-reference/sdk/register-a-new-totp-mfa-device-and-get-totp-secret openapi.yaml get /sdk/{environmentId}/users/mfa/register/totp # Registers a session key for an embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/registers-a-session-key-for-an-embedded-wallet openapi.yaml post /sdk/{environmentId}/users/embeddedWallets/sessionKey Registers a session key for an embedded wallet # Requests an export of an embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/requests-an-export-of-an-embedded-wallet openapi.yaml get /sdk/{environmentId}/users/embeddedWallets/{walletId}/activities/{activityId}/export Requests an export of an embedded wallet # Reshare secret shares and update the threshold Source: https://www.dynamic.xyz/docs/api-reference/sdk/reshare-secret-shares-and-update-the-threshold openapi.yaml post /sdk/{environmentId}/waas/{walletId}/reshare # Restore an embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/restore-an-embedded-wallet openapi.yaml put /sdk/{environmentId}/users/embeddedWallets/{walletId}/restore Restore an embedded wallet # Return the backup key for the embedded wallet of the authenticated user Source: https://www.dynamic.xyz/docs/api-reference/sdk/return-the-backup-key-for-the-embedded-wallet-of-the-authenticated-user openapi.yaml get /sdk/{environmentId}/users/embeddedWallets/backup # Return the passcode for the pregenerated embedded wallet of the authenticated user Source: https://www.dynamic.xyz/docs/api-reference/sdk/return-the-passcode-for-the-pregenerated-embedded-wallet-of-the-authenticated-user openapi.yaml get /sdk/{environmentId}/users/embeddedWallets/passcode # Returns the authorization code or error retuned by oauth provider Source: https://www.dynamic.xyz/docs/api-reference/sdk/returns-the-authorization-code-or-error-retuned-by-oauth-provider openapi.yaml post /sdk/{environmentId}/providers/{providerType}/oauthResult # Revoke a session Source: https://www.dynamic.xyz/docs/api-reference/sdk/revoke-a-session openapi.yaml post /sdk/{environmentId}/revoke # Scan a URL for potential malicious activity Source: https://www.dynamic.xyz/docs/api-reference/sdk/scan-a-url-for-potential-malicious-activity openapi.yaml post /sdk/{environmentId}/scan/websiteUrl # Send new code for email verification Source: https://www.dynamic.xyz/docs/api-reference/sdk/send-new-code-for-email-verification openapi.yaml post /sdk/{environmentId}/emailVerifications/retry # Send new code for sms verification Source: https://www.dynamic.xyz/docs/api-reference/sdk/send-new-code-for-sms-verification openapi.yaml post /sdk/{environmentId}/smsVerifications/retry # Set a global wallet connection as disconnected Source: https://www.dynamic.xyz/docs/api-reference/sdk/set-a-global-wallet-connection-as-disconnected openapi.yaml put /sdk/{environmentId}/globalWallets/connections/{globalWalletConnectionId}/disconnect # Sign a message with a waas account Source: https://www.dynamic.xyz/docs/api-reference/sdk/sign-a-message-with-a-waas-account openapi.yaml post /sdk/{environmentId}/waas/{walletId}/signMessage # Simulate a Solana transaction Source: https://www.dynamic.xyz/docs/api-reference/sdk/simulate-a-solana-transaction openapi.yaml post /sdk/{environmentId}/solana/simulateTransaction # Simulate an EVM AA UserOp Source: https://www.dynamic.xyz/docs/api-reference/sdk/simulate-an-evm-aa-userop openapi.yaml post /sdk/{environmentId}/evm/simulateUserOp # Simulate an EVM transaction Source: https://www.dynamic.xyz/docs/api-reference/sdk/simulate-an-evm-transaction openapi.yaml post /sdk/{environmentId}/evm/simulateTransaction # Soft delete an embedded wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/soft-delete-an-embedded-wallet openapi.yaml delete /sdk/{environmentId}/users/embeddedWallets/{walletId}/softDelete Soft delete an embedded wallet # Sponsor a Solana transaction via Grid API Source: https://www.dynamic.xyz/docs/api-reference/sdk/sponsor-a-solana-transaction-via-grid-api openapi.yaml post /sdk/{environmentId}/solana/sponsorTransaction 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. # Start Crypto.com payment Source: https://www.dynamic.xyz/docs/api-reference/sdk/start-cryptocom-payment openapi.yaml post /sdk/{environmentId}/onramps/cryptoDotCom/payment Create a Crypto.com payment and return the payment payload (URL and optional QR code) # Telegram provider check auth Source: https://www.dynamic.xyz/docs/api-reference/sdk/telegram-provider-check-auth openapi.yaml post /sdk/{environmentId}/checkTelegramAuth # Telegram provider SignIn endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/telegram-provider-signin-endpoint openapi.yaml post /sdk/{environmentId}/telegram/signin # Telegram provider Verify endpoint Source: https://www.dynamic.xyz/docs/api-reference/sdk/telegram-provider-verify-endpoint openapi.yaml post /sdk/{environmentId}/telegram/verify # Track a global wallet connection Source: https://www.dynamic.xyz/docs/api-reference/sdk/track-a-global-wallet-connection openapi.yaml post /sdk/{environmentId}/globalWallets/connections # Transfer funds from an exchange account to an external address or another Coinbase account Source: https://www.dynamic.xyz/docs/api-reference/sdk/transfer-funds-from-an-exchange-account-to-an-external-address-or-another-coinbase-account openapi.yaml post /sdk/{environmentId}/exchange/{exchangeKey}/accounts/{accountId}/transfer # unlink wallet from user Source: https://www.dynamic.xyz/docs/api-reference/sdk/unlink-wallet-from-user openapi.yaml post /sdk/{environmentId}/verify/unlink Remove a link from to a valid environment user, and return an updated JWT # Update a device Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-a-device openapi.yaml put /sdk/{environmentId}/users/mfa/{mfaDeviceId} # Update a passkey's info Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-a-passkeys-info openapi.yaml put /sdk/{environmentId}/users/passkeys # Update a user's fields Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-a-users-fields openapi.yaml put /sdk/{environmentId}/users # Update a user's V2 recovery email Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-a-users-v2-recovery-email openapi.yaml put /sdk/{environmentId}/users/embeddedWallets/recoveryEmail # Update SDK settings for a specific environment Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-sdk-settings-for-a-specific-environment openapi.yaml post /sdk/{environmentId}/sdkSettings # Update the WAAS wallet settings for the wallet Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-the-waas-wallet-settings-for-the-wallet openapi.yaml put /sdk/{environmentId}/waas/{walletId}/settings Updates the settings for a WAAS wallet # Update V1 embedded wallet to V2 Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-v1-embedded-wallet-to-v2 openapi.yaml post /sdk/{environmentId}/users/embeddedWallets/upgradeToV2 # Update wallet in a multi-wallet selection Source: https://www.dynamic.xyz/docs/api-reference/sdk/update-wallet-in-a-multi-wallet-selection openapi.yaml put /sdk/{environmentId}/users/wallets/selection 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. # Upgrade JWT scope with valid MFA session Source: https://www.dynamic.xyz/docs/api-reference/sdk/upgrade-jwt-scope-with-valid-mfa-session openapi.yaml post /sdk/{environmentId}/users/mfa/auth/totp # Upgrade JWT scope with valid MFA session Source: https://www.dynamic.xyz/docs/api-reference/sdk/upgrade-jwt-scope-with-valid-mfa-session-1 openapi.yaml post /sdk/{environmentId}/users/mfa/auth/passkey # Upgrade JWT scope with valid MFA session Source: https://www.dynamic.xyz/docs/api-reference/sdk/upgrade-jwt-scope-with-valid-mfa-session-2 openapi.yaml post /sdk/{environmentId}/users/mfa/auth/email # Upgrade JWT scope with valid MFA session Source: https://www.dynamic.xyz/docs/api-reference/sdk/upgrade-jwt-scope-with-valid-mfa-session-3 openapi.yaml post /sdk/{environmentId}/users/mfa/auth/recovery # Verify an email and sign in user Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-an-email-and-sign-in-user openapi.yaml post /sdk/{environmentId}/emailVerifications/signin # Verify an sms and sign in user Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-an-sms-and-sign-in-user openapi.yaml post /sdk/{environmentId}/smsVerifications/signin # Verify email verification request Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-email-verification-request openapi.yaml post /sdk/{environmentId}/emailVerifications/verify # Verify Passkey MFA device Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-passkey-mfa-device openapi.yaml post /sdk/{environmentId}/users/mfa/register/passkey # Verify payload and return JWT Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-payload-and-return-jwt openapi.yaml post /sdk/{environmentId}/verify # Verify sms verification request Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-sms-verification-request openapi.yaml post /sdk/{environmentId}/smsVerifications/verify # Verify TOTP MFA device Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-totp-mfa-device openapi.yaml post /sdk/{environmentId}/users/mfa/register/totp # Verify wallet transfer Source: https://www.dynamic.xyz/docs/api-reference/sdk/verify-wallet-transfer openapi.yaml post /sdk/{environmentId}/verify/transfer Used to link a wallet after user has confirmed transfer to the new account # Get a session by ID Source: https://www.dynamic.xyz/docs/api-reference/sessions/get-a-session-by-id openapi.yaml get /users/{userId}/sessions/{sessionId} # Revoke a session Source: https://www.dynamic.xyz/docs/api-reference/sessions/revoke-a-session openapi.yaml put /sessions/{sessionId}/revoke # Revoke all sessions for an environment Source: https://www.dynamic.xyz/docs/api-reference/sessions/revoke-all-sessions-for-an-environment openapi.yaml post /environments/{environmentId}/users/sessions/revoke Queues the revocation of all user sessions in the specified environment. This is an asynchronous operation - the job runs in the background. # Creates a new exchange for the project environment Source: https://www.dynamic.xyz/docs/api-reference/settings/creates-a-new-exchange-for-the-project-environment openapi.yaml post /environments/{environmentId}/settings/exchanges # Creates a new provider for the project environment Source: https://www.dynamic.xyz/docs/api-reference/settings/creates-a-new-provider-for-the-project-environment openapi.yaml post /environments/{environmentId}/settings/providers # Delete a provider by providerId Source: https://www.dynamic.xyz/docs/api-reference/settings/delete-a-provider-by-providerid openapi.yaml delete /settings/providers/{providerId} # Delete an exchange by exchangeId Source: https://www.dynamic.xyz/docs/api-reference/settings/delete-an-exchange-by-exchangeid openapi.yaml delete /settings/exchanges/{exchangeId} # Disable the exchange for the environment Source: https://www.dynamic.xyz/docs/api-reference/settings/disable-the-exchange-for-the-environment openapi.yaml put /settings/exchanges/{exchangeId}/disable # Disable the provider for the environment Source: https://www.dynamic.xyz/docs/api-reference/settings/disable-the-provider-for-the-environment openapi.yaml put /settings/providers/{providerId}/disable # Enable the exchange for the environment Source: https://www.dynamic.xyz/docs/api-reference/settings/enable-the-exchange-for-the-environment openapi.yaml put /settings/exchanges/{exchangeId}/enable # Enable the provider for the environment Source: https://www.dynamic.xyz/docs/api-reference/settings/enable-the-provider-for-the-environment openapi.yaml put /settings/providers/{providerId}/enable # Get the exchanges for an environment Source: https://www.dynamic.xyz/docs/api-reference/settings/get-the-exchanges-for-an-environment openapi.yaml get /environments/{environmentId}/settings/exchanges # Get the providers for an environment Source: https://www.dynamic.xyz/docs/api-reference/settings/get-the-providers-for-an-environment openapi.yaml get /environments/{environmentId}/settings/providers # Get the URLs for the environment providers Source: https://www.dynamic.xyz/docs/api-reference/settings/get-the-urls-for-the-environment-providers openapi.yaml get /environments/{environmentId}/settings/providers/urls # Gets a provider Source: https://www.dynamic.xyz/docs/api-reference/settings/gets-a-provider openapi.yaml get /settings/providers/{providerId} # Gets an exchange Source: https://www.dynamic.xyz/docs/api-reference/settings/gets-an-exchange openapi.yaml get /settings/exchanges/{exchangeId} # Updates a provider Source: https://www.dynamic.xyz/docs/api-reference/settings/updates-a-provider openapi.yaml put /settings/providers/{providerId} # Create a new test account for this environment Source: https://www.dynamic.xyz/docs/api-reference/testaccount/create-a-new-test-account-for-this-environment openapi.yaml post /environments/{environmentId}/test/account # Delete the test account for this environment Source: https://www.dynamic.xyz/docs/api-reference/testaccount/delete-the-test-account-for-this-environment openapi.yaml delete /environments/{environmentId}/test/account # Get the test account for this environemnt Source: https://www.dynamic.xyz/docs/api-reference/testaccount/get-the-test-account-for-this-environemnt openapi.yaml get /environments/{environmentId}/test/account # Create a new API Token Source: https://www.dynamic.xyz/docs/api-reference/tokens/create-a-new-api-token openapi.yaml post /environments/{environmentId}/tokens # Delete a token by token id Source: https://www.dynamic.xyz/docs/api-reference/tokens/delete-a-token-by-token-id openapi.yaml delete /environments/{environmentId}/tokens/{tokenId} # Get all the tokens for a project environment (does not include the raw token) Source: https://www.dynamic.xyz/docs/api-reference/tokens/get-all-the-tokens-for-a-project-environment-does-not-include-the-raw-token openapi.yaml get /environments/{environmentId}/tokens # Create a new API Token for Dashboard User Source: https://www.dynamic.xyz/docs/api-reference/userapitokens/create-a-new-api-token-for-dashboard-user openapi.yaml post /user/tokens # Delete a API token by token id Source: https://www.dynamic.xyz/docs/api-reference/userapitokens/delete-a-api-token-by-token-id openapi.yaml delete /user/tokens/{tokenId} # Get all API Tokens for Dashboard User Source: https://www.dynamic.xyz/docs/api-reference/userapitokens/get-all-api-tokens-for-dashboard-user openapi.yaml get /user/tokens # Creates a new user Source: https://www.dynamic.xyz/docs/api-reference/users/creates-a-new-user openapi.yaml post /environments/{environmentId}/users # Creates many new users Source: https://www.dynamic.xyz/docs/api-reference/users/creates-many-new-users openapi.yaml post /environments/{environmentId}/users/bulk # Delete user Source: https://www.dynamic.xyz/docs/api-reference/users/delete-user openapi.yaml delete /environments/{environmentId}/users/{userId} # Delete user (deprecated - use /environments/{environmentId}/users/{userId} instead) Source: https://www.dynamic.xyz/docs/api-reference/users/delete-user-deprecated--use-environments-users-instead openapi.yaml delete /users/{userId} # Get a user by Id Source: https://www.dynamic.xyz/docs/api-reference/users/get-a-user-by-id openapi.yaml get /environments/{environmentId}/users/{userId} # Get a user by Id (deprecated - use /environments/{environmentId}/users/{userId} instead) Source: https://www.dynamic.xyz/docs/api-reference/users/get-a-user-by-id-deprecated--use-environments-users-instead openapi.yaml get /users/{userId} # Get all sessions for a user by user ID Source: https://www.dynamic.xyz/docs/api-reference/users/get-all-sessions-for-a-user-by-user-id openapi.yaml get /environments/{environmentId}/users/{userId}/sessions # Get all users for an environment Source: https://www.dynamic.xyz/docs/api-reference/users/get-all-users-for-an-environment openapi.yaml get /environments/{environmentId}/users # Get the access token for a user OAuth account Source: https://www.dynamic.xyz/docs/api-reference/users/get-the-access-token-for-a-user-oauth-account openapi.yaml get /oauthAccounts/{oauthAccountId}/accessToken # Revoke sessions by user ID Source: https://www.dynamic.xyz/docs/api-reference/users/revoke-sessions-by-user-id openapi.yaml post /users/{userId}/sessions/revoke This endpoint is deprecated. Use /environments/{environmentId}/users/{userId}/sessions/revoke instead. # Revoke sessions by user ID Source: https://www.dynamic.xyz/docs/api-reference/users/revoke-sessions-by-user-id-1 openapi.yaml post /environments/{environmentId}/users/{userId}/sessions/revoke # Update a user Source: https://www.dynamic.xyz/docs/api-reference/users/update-a-user openapi.yaml put /environments/{environmentId}/users/{userId} # Update a user (deprecated - use /environments/{environmentId}/users/{userId} instead) Source: https://www.dynamic.xyz/docs/api-reference/users/update-a-user-deprecated--use-environments-users-instead openapi.yaml put /users/{userId} # Get all visitors for an environment Source: https://www.dynamic.xyz/docs/api-reference/visits/get-all-visitors-for-an-environment openapi.yaml get /environments/{environmentId}/visitors # Authenticate for WAAS using api key Source: https://www.dynamic.xyz/docs/api-reference/waas/authenticate-for-waas-using-api-key openapi.yaml post /environments/{environmentId}/waas/authenticate # Create a new WAAS for a user given an identifier Source: https://www.dynamic.xyz/docs/api-reference/waas/create-a-new-waas-for-a-user-given-an-identifier openapi.yaml post /environments/{environmentId}/waas/create Creates a new WAAS wallet for a user given an email or userId. If an email is provided and it is not associated with an existing user this call will also create a new user. # Create a new WAAS policy for an environment or add new rules to an existing policy Source: https://www.dynamic.xyz/docs/api-reference/waas/create-a-new-waas-policy-for-an-environment-or-add-new-rules-to-an-existing-policy openapi.yaml post /environments/{environmentId}/waas/policies # Create a new WAAS signature policy for a wallet Source: https://www.dynamic.xyz/docs/api-reference/waas/create-a-new-waas-signature-policy-for-a-wallet openapi.yaml post /environments/{environmentId}/waas/{walletId}/signaturePolicy # Create backup action for key shares using API token authentication Source: https://www.dynamic.xyz/docs/api-reference/waas/create-backup-action-for-key-shares-using-api-token-authentication openapi.yaml post /environments/{environmentId}/waas/{walletId}/keyShares/backup/locations Creates backup locations for wallet key shares. Requires API token authentication. Validates that the user belongs to the environment and that no client key shares exist for the wallet. This endpoint is intended for server-side integrations that need to backup key shares on behalf of users. # Create credentials for waas wallet delegation Source: https://www.dynamic.xyz/docs/api-reference/waas/create-credentials-for-waas-wallet-delegation openapi.yaml post /environments/{environmentId}/waas/delegatedAccess/encryptionPublicKeys # Delete a WAAS policy rule by ruleId Source: https://www.dynamic.xyz/docs/api-reference/waas/delete-a-waas-policy-rule-by-ruleid openapi.yaml delete /environments/{environmentId}/waas/policies # Delete a WAAS signature policy by walletId and policyId Source: https://www.dynamic.xyz/docs/api-reference/waas/delete-a-waas-signature-policy-by-walletid-and-policyid openapi.yaml delete /environments/{environmentId}/waas/{walletId}/signaturePolicy/{policyId} # Get a specific delegated access encryption public key by ID Source: https://www.dynamic.xyz/docs/api-reference/waas/get-a-specific-delegated-access-encryption-public-key-by-id openapi.yaml get /environments/{environmentId}/waas/delegatedAccess/encryptionPublicKeys/{keyId} # Get a specific WAAS wallet by walletId Source: https://www.dynamic.xyz/docs/api-reference/waas/get-a-specific-waas-wallet-by-walletid openapi.yaml get /environments/{environmentId}/waas/{walletId} # Get a WAAS signature policy by walletId and policyId Source: https://www.dynamic.xyz/docs/api-reference/waas/get-a-waas-signature-policy-by-walletid-and-policyid openapi.yaml get /environments/{environmentId}/waas/{walletId}/signaturePolicy/{policyId} # Get all active WAAS signature policies for a wallet Source: https://www.dynamic.xyz/docs/api-reference/waas/get-all-active-waas-signature-policies-for-a-wallet openapi.yaml get /environments/{environmentId}/waas/{walletId}/signaturePolicy # Get delegated access encryption public key for an environment Source: https://www.dynamic.xyz/docs/api-reference/waas/get-delegated-access-encryption-public-key-for-an-environment openapi.yaml get /sdk/{environmentId}/waas/delegatedAccess/encryptionPublicKey Fetches the encryption public key used for delegated access in a WAAS environment. By default, returns only the latest active key. # Get delegated access encryption public keys for an environment Source: https://www.dynamic.xyz/docs/api-reference/waas/get-delegated-access-encryption-public-keys-for-an-environment openapi.yaml get /environments/{environmentId}/waas/delegatedAccess/encryptionPublicKeys Fetches the encryption public keys used for delegated access in a WAAS environment. By default, returns only the latest active key. Use the includeAll query parameter to get all keys. # Get the WAAS policy for an environment Source: https://www.dynamic.xyz/docs/api-reference/waas/get-the-waas-policy-for-an-environment openapi.yaml get /environments/{environmentId}/waas/policies # Revoke delegated access for a single wallet Source: https://www.dynamic.xyz/docs/api-reference/waas/revoke-delegated-access-for-a-single-wallet openapi.yaml delete /environments/{environmentId}/waas/{walletId}/delegatedAccess Allows developers to revoke their own delegated access for a specific wallet # Revoke delegated access for one or more wallets Source: https://www.dynamic.xyz/docs/api-reference/waas/revoke-delegated-access-for-one-or-more-wallets openapi.yaml post /environments/{environmentId}/waas/delegatedAccess/revoke Allows developers to revoke their own delegated access # Sign a message with a delegated waas account Source: https://www.dynamic.xyz/docs/api-reference/waas/sign-a-message-with-a-delegated-waas-account openapi.yaml post /environments/{environmentId}/waas/{walletId}/delegatedAccess/signMessage # Update a WAAS signature policy by walletId and policyId Source: https://www.dynamic.xyz/docs/api-reference/waas/update-a-waas-signature-policy-by-walletid-and-policyid openapi.yaml put /environments/{environmentId}/waas/{walletId}/signaturePolicy/{policyId} # Update the WAAS policy for an environment by ruleId Source: https://www.dynamic.xyz/docs/api-reference/waas/update-the-waas-policy-for-an-environment-by-ruleid openapi.yaml put /environments/{environmentId}/waas/policies # Verify if an API key is valid for a specific environment Source: https://www.dynamic.xyz/docs/api-reference/waas/verify-if-an-api-key-is-valid-for-a-specific-environment openapi.yaml post /environments/{environmentId}/waas/verifyApiKey Simple endpoint to verify if the provided API key (DYN_API_TOKEN) is valid and has access to the specified environment. Returns true if the token is verified, false otherwise. # Create or update a WalletConnect project for this environment using the partner API Source: https://www.dynamic.xyz/docs/api-reference/walletconnect/create-or-update-a-walletconnect-project-for-this-environment-using-the-partner-api openapi.yaml put /environments/{environmentId}/walletConnect/projects # Creates a new embedded wallet for a user given an identifier Source: https://www.dynamic.xyz/docs/api-reference/wallets/creates-a-new-embedded-wallet-for-a-user-given-an-identifier openapi.yaml post /environments/{environmentId}/embeddedWallets Creates a new embedded wallet for a user given an email or userId. If an email is provided and it is not associated with an existing user this call will also create a new user. # Creates a new embedded wallet. This API is meant to be called from a frame server. Source: https://www.dynamic.xyz/docs/api-reference/wallets/creates-a-new-embedded-wallet-this-api-is-meant-to-be-called-from-a-frame-server openapi.yaml post /environments/{environmentId}/embeddedWallets/farcaster Creates a new embedded wallet. This API is meant to be called from a frame server. # Creates a new wallet for the user (deprecated - use /environments/{environmentId}/users/{userId}/wallets instead) Source: https://www.dynamic.xyz/docs/api-reference/wallets/creates-a-new-wallet-for-the-user-deprecated--use-environments-users-wallets-instead openapi.yaml post /users/{userId}/wallets Creates a new wallet for the user. Note that this API is not meant for creating embedded wallets. To create embedded wallets use the /embeddedWallets endpoint. # Creates a new wallet for the user. Note that if the user already has an embedded wallet linked, this call will fail. Source: https://www.dynamic.xyz/docs/api-reference/wallets/creates-a-new-wallet-for-the-user-note-that-if-the-user-already-has-an-embedded-wallet-linked-this-call-will-fail openapi.yaml post /environments/{environmentId}/users/{userId}/wallets Creates a new wallet for the user. Note that this API is not meant for creating embedded wallets. To create embedded wallets use the /embeddedWallets endpoint. # Delete wallet Source: https://www.dynamic.xyz/docs/api-reference/wallets/delete-wallet openapi.yaml delete /environments/{environmentId}/wallets/{walletId} # Delete wallet (deprecated - use /environments/{environmentId}/wallets/{walletId} instead) Source: https://www.dynamic.xyz/docs/api-reference/wallets/delete-wallet-deprecated--use-environments-wallets-instead openapi.yaml delete /wallets/{walletId} # Get a wallet using the ID Source: https://www.dynamic.xyz/docs/api-reference/wallets/get-a-wallet-using-the-id openapi.yaml get /environments/{environmentId}/wallets/{walletId} # Get a wallet using the ID (deprecated - use /environments/{environmentId}/wallets/{walletId} instead) Source: https://www.dynamic.xyz/docs/api-reference/wallets/get-a-wallet-using-the-id-deprecated--use-environments-wallets-instead openapi.yaml get /wallets/{walletId} # Get the active embedded wallet versions for an environment Source: https://www.dynamic.xyz/docs/api-reference/wallets/get-the-active-embedded-wallet-versions-for-an-environment openapi.yaml get /environments/{environmentId}/embeddedWalletVersions # Get wallets by environment Source: https://www.dynamic.xyz/docs/api-reference/wallets/get-wallets-by-environment openapi.yaml get /environments/{environmentId}/wallets Retrieve wallets for a specified environment # Get wallets by user Source: https://www.dynamic.xyz/docs/api-reference/wallets/get-wallets-by-user openapi.yaml get /environments/{environmentId}/users/{userId}/wallets # Get wallets by user (deprecated - use /environments/{environmentId}/users/{userId}/wallets instead) Source: https://www.dynamic.xyz/docs/api-reference/wallets/get-wallets-by-user-deprecated--use-environments-users-wallets-instead openapi.yaml get /users/{userId}/wallets # Recover deleted wallets for a user in a specific environment Source: https://www.dynamic.xyz/docs/api-reference/wallets/recover-deleted-wallets-for-a-user-in-a-specific-environment openapi.yaml post /environments/{environmentId}/wallets/recover Recovers deleted wallets for a user in a specified environment by setting deleted_at to null. This undoes the soft deletion of wallets, wallet additional addresses, and turnkey HD wallets. # Creates a new Webhooks for the project environment Source: https://www.dynamic.xyz/docs/api-reference/webhooks/creates-a-new-webhooks-for-the-project-environment openapi.yaml post /environments/{environmentId}/webhooks # Delete the Webhook for an environment Source: https://www.dynamic.xyz/docs/api-reference/webhooks/delete-the-webhook-for-an-environment openapi.yaml delete /environments/{environmentId}/webhooks/{webhookId} # Get the Message deliveries for a webhook Source: https://www.dynamic.xyz/docs/api-reference/webhooks/get-the-message-deliveries-for-a-webhook openapi.yaml get /environments/{environmentId}/webhooks/{webhookId}/messages/{messageId} # Get the Messages for an webhook Source: https://www.dynamic.xyz/docs/api-reference/webhooks/get-the-messages-for-an-webhook openapi.yaml get /environments/{environmentId}/webhooks/{webhookId}/messages # Get the Webhook for an environment Source: https://www.dynamic.xyz/docs/api-reference/webhooks/get-the-webhook-for-an-environment openapi.yaml get /environments/{environmentId}/webhooks/{webhookId} # Get the Webhooks for an environment Source: https://www.dynamic.xyz/docs/api-reference/webhooks/get-the-webhooks-for-an-environment openapi.yaml get /environments/{environmentId}/webhooks # Redeliver message for an webhook Source: https://www.dynamic.xyz/docs/api-reference/webhooks/redeliver-message-for-an-webhook openapi.yaml post /environments/{environmentId}/webhooks/{webhookId}/messages/{messageId}/redeliver # Update the Webhook for an environment Source: https://www.dynamic.xyz/docs/api-reference/webhooks/update-the-webhook-for-an-environment openapi.yaml put /environments/{environmentId}/webhooks/{webhookId} # Email & SMS Authentication Source: https://www.dynamic.xyz/docs/flutter/authentication The Dynamic Flutter SDK provides email and SMS authentication through OTP (One-Time Password) verification. Users can sign in by receiving a verification code sent to their email address or phone number. Email and SMS authentication must be enabled in your environment's dashboard settings before they can be used in your application. If users report delayed or missing OTP emails, see the [Email OTP delivery](/overview/troubleshooting/email-otp-delivery) troubleshooting guide. ## Email Authentication ### Send Email OTP Send a verification code to the user's email address: ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; // Send OTP to email await DynamicSDK.instance.auth.email.sendOTP("user@example.com"); ``` ### Verify Email OTP Verify the OTP code entered by the user: ```dart theme={"system"} // Verify the code await DynamicSDK.instance.auth.email.verifyOTP("123456"); ``` ### Resend Email OTP Allow users to request a new OTP code if the previous one expired or wasn't received: ```dart theme={"system"} // Resend the code await DynamicSDK.instance.auth.email.resendOTP(); ``` ### Rate Limits Email verification is subject to the following rate limits: * 3 attempts per 10 minutes per email address This is in place to protect deliverability of emails and to prevent abuse. ## SMS Authentication ### Send SMS OTP Send a verification code to the user's phone number using the `PhoneData` structure: ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; // Send OTP via SMS await DynamicSDK.instance.auth.sms.sendOTP( PhoneData( dialCode: "+1", iso2: "US", phone: "5551234567" ) ); ``` ### Verify SMS OTP Verify the OTP code entered by the user: ```dart theme={"system"} // Verify the code await DynamicSDK.instance.auth.sms.verifyOTP("123456"); ``` ### Resend SMS OTP Allow users to request a new OTP code: ```dart theme={"system"} // Resend the code await DynamicSDK.instance.auth.sms.resendOTP(); ``` ### PhoneData Structure The SMS authentication methods use a `PhoneData` object that contains: * `dialCode`: The country dial code (e.g., "+1" for US, "+44" for UK) * `iso2`: The two-letter country code (e.g., "US", "GB", "JP") * `phone`: The phone number without the country code **Examples:** ```dart theme={"system"} // US phone number PhoneData(dialCode: "+1", iso2: "US", phone: "5551234567") // UK phone number PhoneData(dialCode: "+44", iso2: "GB", phone: "7700900000") // Japan phone number PhoneData(dialCode: "+81", iso2: "JP", phone: "9012345678") ``` ## External JWT Authentication For apps with existing authentication systems, you can authenticate users with an external JWT: ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; await DynamicSDK.instance.auth.externalAuth.signInWithExternalJwt( props: SignInWithExternalJwtParams(jwt: yourJwtToken) ); ``` ## Authentication State ### Check Current User ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; // Get current authentication token final token = DynamicSDK.instance.auth.token; if (token != null) { print('User is authenticated'); } ``` ### Listen for Authentication Changes Use streams to react to authentication state changes: ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; // Listen for token changes StreamBuilder( stream: DynamicSDK.instance.auth.tokenChanges, builder: (context, snapshot) { final token = snapshot.data; if (token != null) { return AuthenticatedView(); } else { return LoginView(); } }, ) // Listen for user changes StreamBuilder( stream: DynamicSDK.instance.auth.authenticatedUserChanges, builder: (context, snapshot) { final user = snapshot.data; if (user != null) { return Text('Welcome, ${user.email}!'); } else { return const Text('Please sign in'); } }, ) ``` ### Logout ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; // Logout the current user await DynamicSDK.instance.auth.logout(); ``` ## Built-in UI The easiest way to add authentication is using the built-in UI which handles all authentication methods: ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; DynamicSDK.instance.ui.showAuth(); ``` ## Complete Authentication Flow Here's a complete example combining email and SMS authentication: ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; import 'package:flutter/material.dart'; class AuthenticationScreen extends StatefulWidget { const AuthenticationScreen({super.key}); @override State createState() => _AuthenticationScreenState(); } class _AuthenticationScreenState extends State { final TextEditingController _emailController = TextEditingController(); final TextEditingController _phoneController = TextEditingController(); final TextEditingController _otpController = TextEditingController(); bool _otpSent = false; bool _useEmail = true; // Toggle between email and SMS Future _sendOTP() async { try { if (_useEmail) { await DynamicSDK.instance.auth.email.sendOTP(_emailController.text); } else { await DynamicSDK.instance.auth.sms.sendOTP( PhoneData( dialCode: "+1", iso2: "US", phone: _phoneController.text, ), ); } setState(() { _otpSent = true; }); } catch (e) { // Handle error print('Error sending OTP: $e'); ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('Error sending OTP: $e')), ); } } Future _verifyOTP() async { try { if (_useEmail) { await DynamicSDK.instance.auth.email.verifyOTP(_otpController.text); } else { await DynamicSDK.instance.auth.sms.verifyOTP(_otpController.text); } // User is now authenticated - navigation handled by stream listeners } catch (e) { // Handle error print('Error verifying OTP: $e'); ScaffoldMessenger.of(context).showSnackBar( SnackBar(content: Text('Error verifying OTP: $e')), ); } } Future _resendOTP() async { try { if (_useEmail) { await DynamicSDK.instance.auth.email.resendOTP(); } else { await DynamicSDK.instance.auth.sms.resendOTP(); } ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('OTP resent successfully')), ); } catch (e) { // Handle error print('Error resending OTP: $e'); } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(_useEmail ? 'Email Authentication' : 'SMS Authentication'), ), body: Padding( padding: const EdgeInsets.all(16.0), child: Column( children: [ // Toggle between email and SMS SegmentedButton( segments: const [ ButtonSegment(value: true, label: Text('Email')), ButtonSegment(value: false, label: Text('SMS')), ], selected: {_useEmail}, onSelectionChanged: (Set newSelection) { setState(() { _useEmail = newSelection.first; _otpSent = false; }); }, ), const SizedBox(height: 24), if (!_otpSent) ...[ // Input for email or phone if (_useEmail) TextField( controller: _emailController, decoration: const InputDecoration( labelText: 'Email Address', border: OutlineInputBorder(), ), keyboardType: TextInputType.emailAddress, ) else TextField( controller: _phoneController, decoration: const InputDecoration( labelText: 'Phone Number', border: OutlineInputBorder(), helperText: 'Enter number without country code', ), keyboardType: TextInputType.phone, ), const SizedBox(height: 16), ElevatedButton( onPressed: _sendOTP, child: const Text('Send Verification Code'), ), ] else ...[ // OTP verification Text( _useEmail ? 'Enter the code sent to ${_emailController.text}' : 'Enter the code sent to +1${_phoneController.text}', ), const SizedBox(height: 16), TextField( controller: _otpController, decoration: const InputDecoration( labelText: 'Verification Code', border: OutlineInputBorder(), ), keyboardType: TextInputType.number, maxLength: 6, ), const SizedBox(height: 16), ElevatedButton( onPressed: _verifyOTP, child: const Text('Verify Code'), ), const SizedBox(height: 8), TextButton( onPressed: _resendOTP, child: const Text('Resend Code'), ), ], ], ), ), ); } @override void dispose() { _emailController.dispose(); _phoneController.dispose(); _otpController.dispose(); super.dispose(); } } ``` ## Configuration ### Dashboard Settings Configure email and SMS authentication in your Dynamic dashboard: 1. **Enable Email Authentication**: * Go to [Login & User Profile](https://app.dynamic.xyz/dashboard/log-in-user-profile) * Toggle "Email" on to enable email authentication * No additional configuration is required 2. **Enable SMS Authentication**: * Go to [Login & User Profile](https://app.dynamic.xyz/dashboard/log-in-user-profile) * Toggle "SMS" on to enable SMS authentication * You can optionally provide your own SMS provider credentials in the phone number settings * This is required for phone numbers outside of US and Canada ## Best Practices ### 1. Error Handling Always handle errors gracefully and provide clear feedback to users: ```dart theme={"system"} try { await DynamicSDK.instance.auth.email.sendOTP(email); } catch (e) { if (e.toString().contains('rate limit')) { showError('Too many attempts. Please try again later.'); } else if (e.toString().contains('invalid email')) { showError('Please enter a valid email address.'); } else { showError('Failed to send OTP: $e'); } } ``` ### 2. User Experience * Show loading states during authentication * Provide clear error messages * Allow users to resend OTP if needed * Display the email/phone where OTP was sent * Add countdown timer for resend button ### 3. Security * Never store OTP codes * Always use HTTPS connections * Implement proper session management * Handle token refresh automatically ## Troubleshooting ### OTP Not Received * Check that the email/phone number is valid * Look in spam folder for email OTP * Verify that the provider is enabled in Dynamic dashboard * Check rate limits haven't been exceeded ### Authentication Fails * Ensure OTP code is entered correctly * Check that the code hasn't expired (codes typically expire after 10 minutes) * Verify network connectivity * Check for any error messages in logs ### Session Not Persisting * Ensure you're listening to `tokenChanges` or `authenticatedUserChanges` streams * Verify that the SDK is properly initialized * Check that you're not clearing app data * Make sure the `DynamicSDK.instance.dynamicWidget` is included in your widget tree ## What's Next Now that you have authentication set up: 1. **[Social Authentication](/flutter/social-authentication)** - Add social login options 2. **[Session Management](/flutter/session-management)** - Manage authenticated sessions with Streams 3. **[Wallet Creation](/flutter/wallet-creation)** - Learn about automatic wallet creation 4. **[Wallet Operations](/flutter/wallets/general/token-balances)** - Work with user wallets ## Reference For more details on the authentication API, see: * [SDK Reference - Authentication](/flutter/sdk-reference/authentication) # Go Router Integration Source: https://www.dynamic.xyz/docs/flutter/go-router-integration The Dynamic Flutter SDK integrates seamlessly with `go_router` for navigation and route protection based on authentication state. This guide demonstrates how to set up go\_router with Dynamic authentication flows. ## Overview The integration involves creating an `AuthNotifier` that bridges Dynamic SDK streams into a `ChangeNotifier` that go\_router can use to automatically handle route redirects based on authentication state. ## Complete Implementation ### 1. AuthNotifier Setup First, create an `AuthNotifier` class that listens to Dynamic SDK authentication streams: ```dart theme={"system"} import 'dart:async'; import 'package:dynamic_sdk/dynamic_sdk.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; /// Simple enum to reason about routing enum AuthPhase { loading, unauthenticated, authenticated } /// Bridges DynamicSDK streams into a ChangeNotifier for go_router class AuthNotifier extends ChangeNotifier { AuthPhase _phase = AuthPhase.loading; AuthPhase get phase => _phase; StreamSubscription? _readySub; StreamSubscription? _userSub; bool _ready = false; bool _hasUser = false; AuthNotifier() { // Listen to SDK readiness _readySub = DynamicSDK.instance.sdk.readyChanges.listen((ready) { _ready = ready; _recomputePhase(); }); // Listen to auth state changes _userSub = DynamicSDK.instance.auth.authenticatedUserChanges.listen((user) { _hasUser = user != null; _recomputePhase(); }); } void _recomputePhase() { final next = !_ready ? AuthPhase.loading : (_hasUser ? AuthPhase.authenticated : AuthPhase.unauthenticated); if (next != _phase) { _phase = next; notifyListeners(); } } @override void dispose() { _readySub?.cancel(); _userSub?.cancel(); super.dispose(); } } ``` ### 2. Go Router Configuration Set up your go\_router with the `AuthNotifier` and route protection: ```dart theme={"system"} class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState(); } class _MyAppState extends State { late final AuthNotifier _auth; late final GoRouter _router; @override void initState() { super.initState(); _auth = AuthNotifier(); _router = GoRouter( // This makes go_router re-check redirect whenever auth/ready changes refreshListenable: _auth, routes: [ GoRoute(path: '/', builder: (_, __) => const HomeView()), GoRoute(path: '/login', builder: (_, __) => const LoginView()), GoRoute(path: '/loading', builder: (_, __) => const LoadingView()), GoRoute( path: '/wallet/:walletId', builder: (_, state) => WalletView(walletId: state.pathParameters['walletId']!), ), ], redirect: (context, state) { final inLogin = state.matchedLocation == '/login'; final inLoading = state.matchedLocation == '/loading'; switch (_auth.phase) { case AuthPhase.loading: // While SDK/user are loading, keep users on /loading return inLoading ? null : '/loading'; case AuthPhase.unauthenticated: // If not logged in, force /login except when already there return inLogin ? null : '/login'; case AuthPhase.authenticated: // If logged in, keep them off /login and /loading if (inLogin || inLoading) return '/'; return null; } }, ); } @override void dispose() { _auth.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return MaterialApp.router( title: 'Flutter Demo', routerDelegate: _router.routerDelegate, routeInformationParser: _router.routeInformationParser, routeInformationProvider: _router.routeInformationProvider, builder: (context, child) { if (child == null) return const SizedBox.shrink(); return Stack( children: [ child, // Keep Dynamic overlay/widget above your pages DynamicSDK.instance.dynamicWidget, ], ); }, theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), ), ); } } ``` ### 3. Dynamic SDK Initialization Initialize the Dynamic SDK in your `main()` function: ```dart theme={"system"} void main() { WidgetsFlutterBinding.ensureInitialized(); DynamicSDK.init( props: ClientProps( environmentId: 'your-environment-id', appLogoUrl: 'https://your-app.com/logo.png', appName: 'Your App Name', redirectUrl: "yourapp://", ), ); runApp(const MyApp()); } ``` ## Route Protection Patterns ### Authentication States The `AuthNotifier` manages three distinct states: * **`AuthPhase.loading`**: SDK is initializing or user state is being determined * **`AuthPhase.unauthenticated`**: SDK is ready but no user is authenticated * **`AuthPhase.authenticated`**: SDK is ready and user is authenticated ### Redirect Logic The redirect function automatically handles navigation based on authentication state: ```dart theme={"system"} redirect: (context, state) { final inLogin = state.matchedLocation == '/login'; final inLoading = state.matchedLocation == '/loading'; switch (_auth.phase) { case AuthPhase.loading: return inLoading ? null : '/loading'; case AuthPhase.unauthenticated: return inLogin ? null : '/login'; case AuthPhase.authenticated: if (inLogin || inLoading) return '/'; return null; } } ``` ### Navigation Examples Navigate programmatically using go\_router methods: ```dart theme={"system"} // Navigate to a specific wallet context.push('/wallet/${wallet.id}'); // Navigate to home after logout context.go('/'); // Navigate with parameters context.pushNamed('wallet', pathParameters: {'walletId': walletId}); ``` ## Integration with Dynamic UI ### Login View ```dart theme={"system"} class LoginView extends StatelessWidget { const LoginView({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Login')), body: Center( child: ElevatedButton( onPressed: () { DynamicSDK.instance.ui.showAuth(); }, child: const Text('Login with Dynamic'), ), ), ); } } ``` ### Loading View ```dart theme={"system"} class LoadingView extends StatelessWidget { const LoadingView({super.key}); @override Widget build(BuildContext context) { return const Scaffold( body: Center( child: CircularProgressIndicator(), ), ); } } ``` ## Live Example For a complete working example, check out the [Dynamic Flutter Example App](https://github.com/dynamic-labs/flutter-example-app) which demonstrates this exact integration pattern with additional features like wallet management and web3dart integration. You can read more about go\_router in the [official documentation](https://pub.dev/packages/go_router). # Flutter SDK Introduction Source: https://www.dynamic.xyz/docs/flutter/introduction The Dynamic Flutter SDK provides a comprehensive solution for building Web3-enabled mobile applications. With seamless authentication, embedded wallet management, and multi-chain blockchain integration, you can create powerful decentralized applications that users love. **Platform support**: The Flutter SDK currently supports iOS and Android only. Web and desktop platforms are not supported at this time. ## Key Features ### Authentication Users can sign in using familiar methods like email OTP, SMS OTP, social providers (Google, Apple, Discord, Farcaster, GitHub, Twitter, Facebook), or external JWT. The SDK handles all the complexity of OTP generation, verification, and session management. ### Multi-Chain Embedded Wallets Create non-custodial wallets for your users instantly. The SDK supports both EVM chains (Ethereum, Polygon, Base, etc.) and Solana, with wallets secured by advanced MPC technology. ### Blockchain Integration Full EVM and Solana integration with support for custom networks, gas management, transaction handling, and smart contract interactions. Users can send tokens, sign messages, and interact with contracts through the web3dart and Solana packages. ### Built-in UI Components Pre-built authentication flows and user profile screens that handle the complexity of user onboarding. Or build your own custom UI using the SDK's programmatic API. ### Flutter Integration Native Flutter support with Stream-based reactive state management. The SDK provides streams for authentication state, wallet updates, and more, integrating seamlessly with Flutter's reactive patterns. ## Architecture Overview The Dynamic Flutter SDK is built with modern Flutter practices: * **Singleton Pattern** - Access SDK through `DynamicSDK.instance` after initialization * **Stream-based Reactivity** - Reactive streams for state changes (`tokenChanges`, `authenticatedUserChanges`, `userWalletsChanges`) * **Type Safety** - Full Dart type safety with comprehensive error handling * **Async/Await** - Modern Dart concurrency for smooth user experiences * **Built-in UI** - Pre-built authentication and profile UI components * **Modular Architecture** - Separate packages for EVM (web3dart) and Solana blockchain interactions ## Prerequisites ### Getting Started * [Installation Guide](/flutter/quickstart) - Get started with the SDK * [Client Setup](/flutter/client) - Detailed SDK initialization and configuration * [Authentication Guide](/flutter/authentication) - Implement email OTP, SMS OTP authentication * [Social Authentication Guide](/flutter/social-authentication) - Set up social login with Google, Apple, Discord, and more * [Session Management](/flutter/session-management) - Reactive state management with Streams ### Wallet & Blockchain * [Wallet Creation](/flutter/wallet-creation) - Wallets are automatically created after authentication * [Token Balances](/flutter/wallets/general/token-balances) - Check balances and conversions * [Networks](/flutter/wallets/general/network-management) - Configure and switch blockchain networks * [Send ETH](/flutter/wallets/evm/send-eth) - Send EVM transactions with web3dart * [Send SOL](/flutter/wallets/solana/send-transactions) - Send Solana transactions * [Smart Contracts](/flutter/wallets/evm/smart-contracts) - Interact with smart contracts ### Flutter-Specific Features * [Go Router Integration](/flutter/go-router-integration) - Integrate with go\_router for navigation * [Web3Dart Integration](/flutter/web3dart) - Deep dive into EVM blockchain interactions * [Solana Integration](/flutter/solana) - Deep dive into Solana blockchain interactions ### Advanced Features * [SDK Reference](/flutter/sdk-reference/overview) - Complete API documentation **📱 Complete Example App**: Check out the [Flutter SDK Example App](https://github.com/dynamic-labs/flutter-sdk/tree/main/example) for a fully functional Flutter app demonstrating all SDK features including authentication, wallet management, social login, EVM/Solana transactions, and blockchain integration. ## Quick Example ```dart theme={"system"} import 'package:dynamic_sdk/dynamic_sdk.dart'; import 'package:flutter/material.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); // Initialize the SDK DynamicSDK.init( props: ClientProps( environmentId: 'your-environment-id', appLogoUrl: 'your-logo-url', appName: 'your-app-name', ), ); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Stack( children: [ // Wait for SDK to be ready StreamBuilder( stream: DynamicSDK.instance.sdk.readyChanges, builder: (context, snapshot) { final sdkReady = snapshot.data ?? false; return sdkReady ? const HomePage() : const Center(child: CircularProgressIndicator()); }, ), // Dynamic SDK widget overlay DynamicSDK.instance.dynamicWidget, ], ), ); } } class HomePage extends StatelessWidget { const HomePage({super.key}); @override Widget build(BuildContext context) { return Scaffold( body: Center( child: StreamBuilder( stream: DynamicSDK.instance.auth.tokenChanges, builder: (context, snapshot) { final authToken = snapshot.data; // Show different UI based on authentication state return authToken != null ? Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Text('✓ Authenticated'), const SizedBox(height: 16), ElevatedButton( onPressed: () => DynamicSDK.instance.ui.showUserProfile(), child: const Text('View Profile'), ), ElevatedButton( onPressed: () => DynamicSDK.instance.auth.logout(), child: const Text('Logout'), ), ], ) : ElevatedButton( onPressed: () => DynamicSDK.instance.ui.showAuth(), child: const Text('Sign In with Dynamic'), ); }, ), ), ); } } ``` ## What's Next? Ready to get started? Follow our [quickstart guide](/flutter/quickstart) to integrate Dynamic into your Flutter app in minutes. # Flutter Quickstart Source: https://www.dynamic.xyz/docs/flutter/quickstart This guide will walk you through installing and configuring the Dynamic Flutter SDK in your project. You'll learn how to set up your environment, initialize the SDK, and get started with authentication and wallets. Before you begin, make sure you have: * **AI-assisted development** — If you use AI to build, complete [Developing with AI](/overview/ai/developing-with-ai) first. * **Flutter 3.0+** - The SDK requires Flutter 3.0 or later * **Dart 3.0+** - Modern Dart features are used throughout * **iOS 13.0+ / Android 6.0+** - For mobile platform support * **Dynamic Account** - Set up your project and get an environment ID from [Dynamic Dashboard](https://app.dynamic.xyz/dashboard/overview) **Platform support**: The Flutter SDK currently supports iOS and Android only. Web and desktop platforms are not supported at this time. ## Install the SDK Or manually add to your `pubspec.yaml`: ```yaml theme={"system"} dependencies: dynamic_sdk: ^1.2.4 ``` Then run: ```bash theme={"system"} flutter pub get ``` ## Initialize the SDK