Rest API
NameServices
- GETGet the name service for the environment and chain
- POSTCreate a new name service for the environment and chain
- DELdelete the name service for the environment and chain
- POSTGet the unsigned chain-specific message needed to be signed by the wallet owner using the wallet private key
- PUTEnable name service for this environment and chain
- PUTDisabled name service for this environment and chain
TestAccount
CustomHostnames
Exports
Gates
Settings
Organizations
Projects
Chainalysis
Environments
Sessions
Wallets
- POSTCreates a new embedded wallet for a user given an identifier
- POSTCreates a new embedded wallet. This API is meant to be called from a frame server.
- GETGet wallets by user
- POSTCreates a new wallet for the user. Note that if the user already has an embedded wallet linked, this call will fail.
- GETGet a wallet using the ID
- DELDelete wallet
Users
Members
MfaSettings
Invites
Origins
Tokens
Allowlists
- GETGet all allowlists for a environment
- POSTCreate new allowlist for a environment
- GETGet allowlist by id
- PUTUpdate the outcome, scope, or name of an allowlist entry by ID
- DELDelete an allowlist
- PUTEnable the allowlist
- PUTDisable the allow list
- GETGet all entries for an allowlist
- POSTCreate a new entry for an allowlist
- DELDelete an allowlist entry
SDK Views
Webhooks
- GETGet the Webhooks for an environment
- POSTCreates a new Webhooks for the project environment
- GETGet the Webhook for an environment
- PUTUpdate the Webhook for an environment
- DELDelete the Webhook for an environment
- GETGet the Messages for an webhook
- GETGet the Message deliveries for a webhook
- POSTRedeliver message for an webhook
SDK
- GETGet exchangerates
- GETCheck user field uniqueness
- POSTInitialize oauth auth sequence
- GETCheck that session is valid
- POSTScan a URL for potential malicious activity
- POSTSimulate a Solana transaction
- POSTSimulate an EVM transaction
- POSTSimulate an EVM AA UserOp
- POSTEndpoint to sign-in using a token issued by an external auth provider
- POSTAdd fees to a Solana transaction
- POSTEndpoint to verify using a token issued by an external auth provider
- GETGet auth token for given embedded wallet type
- GETReturn the passcode for the pregenerated embedded wallet of the authenticated user
- PUTUpdate wallet in a multi-wallet selection
- PUTClaim a pregenerated embedded wallet
- GETReturn the backup key for the embedded wallet of the authenticated user
- POSTUpdate V1 embedded wallet to V2
- GETGet sdk healthcheck
- POSTEndpoint to refresh the JWT auth token using the current valid JWT auth token in the authorization header
- GETGet signin email provider
- GETGet redirect URL for Oauth provider login. This will return a string that the SDK can manipulate before redirecting the browser to.
- GETGet redirect URL for Oauth provider login
- GETOauth provider redirect endpoint
- POSTOauth provider redirect endpoint for apple ID
- GETOauth provider authorization endpoint
- POSTOauth provider verify endpoint
- POSTFarcaster provider SignIn endpoint
- POSTFarcaster provider Verify endpoint
- POSTOauth provider SignIn endpoint
- POSTReturns the authorization code or error retuned by oauth provider
- GETCreate nonce for authentication flow
- POSTPublish events for SDK
- GETGet the environment's settings
- POSTUpdate SDK settings for a specific environment
- POSTLink wallet to user
- POSTMerge users with conflict resolutions
- POSTVerify wallet transfer
- POSTRevoke a session
- POSTunlink wallet from user
- POSTprefetch information for wallet address
- POSTCreate a visit
- POSTVerify payload and return JWT
- GETFetch user profile for the current authenticated user
- PUTUpdate a user's fields
- PUTUpdate a user's Turnkey recovery email
- GETGets passkey data associated with a user
- PUTUpdate a passkey's info
- GETGet the current user's MFA Devices
- GETGet the current user's MFA by device id
- PUTUpdate a device
- DELDelete a device (if not default device)
- GETRegister a new TOTP MFA device and get Totp Secret
- POSTVerify TOTP MFA device
- POSTUpgrade JWT scope with valid MFA session
- GETRegister a new Passkey MFA device
- POSTVerify Passkey MFA device
- GETAuth Passkey MFA device
- POSTUpgrade JWT scope with valid MFA session
- POSTUpgrade JWT scope with valid MFA session
- GETGet recovery codes
- POSTGenerate new recovery codes for user
- POSTAfter successful verification allow to merge two owned accounts
- POSTCreate one or more new embedded wallets for a user
- DELDeletes the embedded wallets for a user
- GETGenerates the turnkey request body for a user's delete wallets request
- POSTAdd a wallet account to a user's existing Turnkey HD wallet
- GETGenerates the turnkey request body for a user's create wallet account request
- POSTInitialize the email authentication process for a user's embedded wallet
- PUTCompletes the passkey recovery process for a user's passkey embedded wallet
- POSTInitialize the passkey recovery process for a user's passkey embedded wallet
- POSTRegisters a session key for an embedded wallet
- GETRequests an export of an embedded wallet
- GETFind the configuration for the enabled networks associated to an environment
- GETConfiguration for enabled onramps
- POSTInitialize email verification process
- POSTInitialize sms verification process
- POSTSend new code for sms verification
- POSTVerify sms verification request
- POSTVerify an sms and sign in user
- POSTVerify email verification request
- POSTVerify an email and sign in user
- POSTSend new code for email verification
- GETFind jwks for public key
- GETGet the token balances for an account
- GETGet HTML with rendered Telegram login widget
- POSTHandle Telegram authentication
- POSTTelegram provider SignIn endpoint
- POSTTelegram provider check auth
- POSTTelegram provider Verify endpoint
Custom Fields
DeeplinkUrls
Get a user by Id
curl --request GET \
--url https://app.dynamicauth.com/api/v0/users/{userId} \
--header 'Authorization: Bearer <token>'
{
"user": {
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"projectEnvironmentId": "95b11417-f18f-457f-8804-68e361f9164f",
"verifiedCredentials": [
{
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chain": "<string>",
"refId": "95b11417-f18f-457f-8804-68e361f9164f",
"signerRefId": "95b11417-f18f-457f-8804-68e361f9164f",
"email": "jsmith@example.com",
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"name_service": {
"avatar": "<string>",
"name": "<string>"
},
"public_identifier": "<string>",
"wallet_name": "<string>",
"wallet_provider": "browserExtension",
"wallet_properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true
},
"format": "blockchain",
"oauth_provider": "emailOnly",
"oauth_username": "<string>",
"oauth_display_name": "<string>",
"oauth_account_id": "<string>",
"oauth_account_photos": [
"<string>"
],
"oauth_emails": [
"<string>"
],
"previous_users": [
"95b11417-f18f-457f-8804-68e361f9164f"
],
"embedded_wallet_id": "<string>"
}
],
"alias": "<string>",
"country": "US",
"email": "jsmith@example.com",
"firstName": "<string>",
"jobTitle": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"policiesConsent": true,
"tShirtSize": "<string>",
"team": "<string>",
"username": "<string>",
"firstVisit": "2023-11-07T05:31:56Z",
"lastVisit": "2023-11-07T05:31:56Z",
"newUser": true,
"metadata": {},
"btcWallet": "<string>",
"kdaWallet": "<string>",
"ltcWallet": "<string>",
"ckbWallet": "<string>",
"kasWallet": "<string>",
"dogeWallet": "<string>",
"emailNotification": true,
"discordNotification": true,
"newsletterNotification": true,
"walletPublicKey": "<string>",
"wallet": "<string>",
"chain": "ETH",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"sessions": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"createdAt": "2023-11-07T05:31:56Z",
"ipAddress": "<string>",
"revokedAt": "2023-11-07T05:31:56Z"
}
],
"wallets": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"name": "An example name",
"chain": "ETH",
"publicKey": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"provider": "browserExtension",
"properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true
}
}
],
"chainalysisChecks": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"createdAt": "2023-11-07T05:31:56Z",
"result": "OK",
"walletPublicKey": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"response": "<string>"
}
],
"oauthAccounts": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"provider": "emailOnly"
}
]
}
}
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Path Parameters
UUID of the user
36
Response
36
36
36
blockchain
, email
, oauth
, passkey
Valid blockchain wallet address, must be an alphanumeric string without any special characters
36
36
This is used to publicly identify a verified credential in a human-friendly way. For example, this will be the email address if credential format=email.
browserExtension
, custodialService
, walletConnect
, qrCode
, deepLink
, embeddedWallet
, smartContractWallet
36
Whether or not the wallet has an authenticator (passkey, api key, etc) attached to it. If false, the wallet cannot currently be accessed
36
emailOnly
, magicLink
, apple
, bitbucket
, discord
, facebook
, github
, gitlab
, google
, instagram
, linkedin
, microsoft
, twitch
, twitter
, blocto
, banxa
, dynamic
, alchemy
, zerodev
, turnkey
This will only be provided in the responses for GET /users/{userId}.Previous user IDs that owned this verified credential and was tranfered to the current user ID.
Standard ISO 3166-1 alpha-2 two-letter country code
ETH
, EVM
, FLOW
, SOL
, ALGO
, STARK
, COSMOS
36
ETH
, EVM
, FLOW
, SOL
, ALGO
, STARK
, COSMOS
Valid blockchain wallet address, must be an alphanumeric string without any special characters
browserExtension
, custodialService
, walletConnect
, qrCode
, deepLink
, embeddedWallet
, smartContractWallet
36
Whether or not the wallet has an authenticator (passkey, api key, etc) attached to it. If false, the wallet cannot currently be accessed
36
36
OK
, BLOCKED
, FAILED
Valid blockchain wallet address, must be an alphanumeric string without any special characters
Was this page helpful?
curl --request GET \
--url https://app.dynamicauth.com/api/v0/users/{userId} \
--header 'Authorization: Bearer <token>'
{
"user": {
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"projectEnvironmentId": "95b11417-f18f-457f-8804-68e361f9164f",
"verifiedCredentials": [
{
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chain": "<string>",
"refId": "95b11417-f18f-457f-8804-68e361f9164f",
"signerRefId": "95b11417-f18f-457f-8804-68e361f9164f",
"email": "jsmith@example.com",
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"name_service": {
"avatar": "<string>",
"name": "<string>"
},
"public_identifier": "<string>",
"wallet_name": "<string>",
"wallet_provider": "browserExtension",
"wallet_properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true
},
"format": "blockchain",
"oauth_provider": "emailOnly",
"oauth_username": "<string>",
"oauth_display_name": "<string>",
"oauth_account_id": "<string>",
"oauth_account_photos": [
"<string>"
],
"oauth_emails": [
"<string>"
],
"previous_users": [
"95b11417-f18f-457f-8804-68e361f9164f"
],
"embedded_wallet_id": "<string>"
}
],
"alias": "<string>",
"country": "US",
"email": "jsmith@example.com",
"firstName": "<string>",
"jobTitle": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"policiesConsent": true,
"tShirtSize": "<string>",
"team": "<string>",
"username": "<string>",
"firstVisit": "2023-11-07T05:31:56Z",
"lastVisit": "2023-11-07T05:31:56Z",
"newUser": true,
"metadata": {},
"btcWallet": "<string>",
"kdaWallet": "<string>",
"ltcWallet": "<string>",
"ckbWallet": "<string>",
"kasWallet": "<string>",
"dogeWallet": "<string>",
"emailNotification": true,
"discordNotification": true,
"newsletterNotification": true,
"walletPublicKey": "<string>",
"wallet": "<string>",
"chain": "ETH",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"sessions": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"createdAt": "2023-11-07T05:31:56Z",
"ipAddress": "<string>",
"revokedAt": "2023-11-07T05:31:56Z"
}
],
"wallets": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"name": "An example name",
"chain": "ETH",
"publicKey": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"provider": "browserExtension",
"properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true
}
}
],
"chainalysisChecks": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"createdAt": "2023-11-07T05:31:56Z",
"result": "OK",
"walletPublicKey": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"response": "<string>"
}
],
"oauthAccounts": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"provider": "emailOnly"
}
]
}
}