Client Auth

client_auth

Domain types

AuthenticateJwtInput = { token, mode }

Input for authenticating with a custom JWT.

AuthenticateMode = { mode }

The authentication mode settings for the ceremony.

AuthenticateModeOption = "no-signup" | "login-or-sign-up"

Whether to allow sign-up during authentication.

AuthenticateSiweInput = { message, signature, chainId, 3 more... }

Input for authenticating a SIWE ceremony.

AuthenticateSiwsInput = { message, signature, connectorType, 3 more... }

Input for authenticating a SIWS ceremony.

BridgeBrlFiatVirtualAccountDepositInstructions = { account_holder_name, asset, bank_address, 3 more... }

The deposit instructions for a virtual account.

BridgeDestinationAsset = "usdb" | "usdc" | "usdt" | 3 more...

Supported destination stablecoin assets for fiat-to-crypto transfers.

BridgeEurFiatVirtualAccountDepositInstructions = { account_holder_name, asset, bank_address, 4 more... }

The deposit instructions for a virtual account.

The deposit instructions for a virtual account.

BridgeFiatVirtualAccountDestination = { address, asset, chain }

The destination chain, asset, and address for a virtual account transfer.

BridgeFiatVirtualAccountRequest = { destination, provider, source }

The request input for creating virtual account.

BridgeFiatVirtualAccountResponse = { deposit_instructions, destination, provider, 1 more... }

The response for creating virtual account.

BridgeFiatVirtualAccountSource = { asset }

The source fiat currency configuration for a virtual account.

BridgeGbpFiatVirtualAccountDepositInstructions = { account_holder_name, account_number, asset, 4 more... }

The deposit instructions for a virtual account.

BridgeMxnFiatVirtualAccountDepositInstructions = { account_holder_name, asset, bank_address, 3 more... }

The deposit instructions for a virtual account.

BridgeOnrampProvider = "bridge" | "bridge-sandbox"

Bridge provider variant — production or sandbox.

BridgeSandboxFiatVirtualAccountRequest = { destination, provider, source }

The request input for creating virtual account.

BridgeSandboxFiatVirtualAccountResponse = { deposit_instructions, destination, provider, 1 more... }

The response for creating virtual account.

BridgeSourceAsset = "usd" | "eur" | "mxn" | 2 more...

Supported source fiat currencies for virtual account deposits.

BridgeUsdFiatVirtualAccountDepositInstructions = { asset, bank_account_number, bank_address, 5 more... }

The deposit instructions for a virtual account.

CustomJwtAuthenticateRequestBody = { token, mode }

The request body for authenticating with a custom JWT.

CustomJwtLinkRequestBody = { token }

The request body for linking a custom JWT account.

CustomOAuthProviderID = string

The ID of a custom OAuth provider, set up for this app. Must start with "custom:".

DeviceVerifyAction = "approve" | "deny"

The action to take on the device authorization request.

DeviceVerifyRequestBody = { action, user_code }

Request body for approving or denying a device authorization request. The user must be authenticated and belong to the target app.

DeviceVerifyResponse = { success }

Response indicating the device authorization action was processed.

ExternalOAuthProviderID = "google" | "discord" | "twitter" | 9 more...

The ID of an external OAuth provider.

FarcasterAuthenticateInput = { channel_token, fid, message, 2 more... }

Input for authenticating with Farcaster.

FarcasterAuthenticateRequestBody = { channel_token, fid, message, 2 more... }

The request body for authenticating with Farcaster.

FarcasterConnectInitResponse = { channel_token, connect_uri }

Proxy for the Farcaster Connect init response as defined in FIP-11.

FarcasterConnectInitResponseBody = { channel_token, connect_uri }

The response body for initiating a Farcaster connection.

FarcasterConnectStatusCompletedResponse = { bio, display_name, fid, 6 more... }

Proxy for the Farcaster Connect completed status response as defined in FIP-11.

FarcasterConnectStatusCompletedResponseBody = { bio, display_name, fid, 6 more... }

The response body for completing a Farcaster connection.

FarcasterConnectStatusPendingResponse = { nonce, state }

Proxy for the Farcaster Connect pending status response as defined in FIP-11.

FarcasterConnectStatusPendingResponseBody = { nonce, state }

The response body for pending a Farcaster connection.

FarcasterInitInput = { token, redirect_url, relying_party }

Input for initiating a Farcaster connection.

FarcasterInitRequestBody = { token, redirect_url, relying_party }

The request body for initiating a Farcaster connection.

FarcasterLinkInput = { channel_token, fid, message, 1 more... }

Input for linking a Farcaster account.

FarcasterLinkRequestBody = { channel_token, fid, message, 1 more... }

The request body for linking a Farcaster account.

FarcasterSignerApproved = { fid, public_key, status }

A Farcaster signer response when the signer has been approved.

FarcasterSignerInitPendingApproval = { public_key, signer_approval_url, status }

A Farcaster signer init response when the signer is pending approval.

FarcasterSignerInitRequestBody = { ed25519_public_key, deadline }

The request body for initiating a Farcaster signer connection.

The response body from initiating a Farcaster signer connection.

FarcasterSignerRevoked = { fid, public_key, status }

A Farcaster signer response when the signer has been revoked.

FarcasterSignerStatusPendingApproval = { public_key, status }

A Farcaster signer status response when the signer is pending approval.

The response body from checking the status of a Farcaster signer connection.

FarcasterUnlinkInput = { fid }

Input for unlinking a Farcaster account.

FarcasterUnlinkRequestBody = { fid }

The request body for unlinking a Farcaster account.

FarcasterV2AuthenticateInput = { fid, message, signature, 1 more... }

Input for authenticating a Farcaster V2 account.

FarcasterV2AuthenticateRequestBody = { fid, message, signature, 1 more... }

The request body for authenticating a Farcaster V2 account.

FarcasterV2InitInput = { }

Input for initiating a Farcaster V2 connection.

FarcasterV2InitRequestBody = { }

The request body for initiating a Farcaster V2 connection.

FarcasterV2InitResponse = { expires_at, nonce }

Response for initiating a Farcaster V2 connection.

FarcasterV2InitResponseBody = { expires_at, nonce }

The response body for initiating a Farcaster V2 connection.

The request input for creating virtual account.

The response for creating virtual account.

GuestAuthenticateRequestBody = { guest_credential }

The request body for authenticating a guest.

LinkJwtInput = { token }

Input for linking a custom JWT account.

MfaPasskeyEnrollmentRequestBody = { credential_ids, remove_for_login }

The request body for enrolling a passkey MFA flow.

MfaPasskeyInitRequestBody = { relying_party }

The request body for initiating a passkey MFA flow.

MfaPasskeyInitResponseBody = { options, relying_party }

The response body for initializing a passkey MFA flow.

MfaPasskeyVerifyRequestBody = { authenticator_response, relying_party }

The request body for verifying a passkey MFA flow.

MfaSMSEnrollRequestBody = { code, phoneNumber }

The request body for enrolling a SMS MFA code.

MfaSMSInitEnrollInput = { action, phoneNumber }

Input for enrolling SMS MFA.

The request body for initiating a SMS MFA flow.

MfaSMSInitVerifyInput = { action }

Input for verifying SMS MFA.

MfaSMSVerifyRequestBody = { code }

The request body for verifying a SMS MFA code.

MfaTotpInitResponseBody = { totpAuthUrl, totpSecret }

The response body for initializing a TOTP MFA code.

MfaTotpInput = { code }

The input for verifying a TOTP MFA code.

MfaVerifyResponseBody = { token }

The response body for verifying a MFA code.

OAuthAuthenticateRequestBody = { authorization_code, state_code, code_type, 2 more... }

The request body for authenticating an OAuth account.

OAuthAuthorizationCodeRequestBody = { code_challenge, redirect_to, state }

The request body for getting an OAuth authorization code.

OAuthCodeType = "raw"

The type of OAuth authorization code.

OAuthInitRequestBody = { provider, redirect_to, token, 2 more... }

The request body for initiating an OAuth ceremony.

OAuthInitResponseBody = { url }

The response for initiating an OAuth ceremony.

OAuthLinkRequestBody = { authorization_code, state_code, code_type, 1 more... }

The request body for linking an OAuth account.

OAuthLinkResponseBody =

The response for linking an OAuth account.

The ID of an OAuth provider.

OAuthTokenAuthorizationCodeRequestBody = { code, grant_type, client_id, 2 more... }

Request body for the authorization_code grant type.

OAuthTokenDeviceCodePendingError = { error, error_description, interval }

Error response returned while the device authorization is still pending (RFC 8628 Section 3.5).

OAuthTokenDeviceCodeRequestBody = { device_code, grant_type }

Request body for the urn:ietf:params:oauth:grant-type:device_code grant type (RFC 8628). Used by CLI clients to poll for authorization.

OAuthTokenGrantType = "authorization_code" | "urn:ietf:params:oauth:grant-type:device_code" | "refresh_token"

The OAuth grant type for the token request.

OAuthTokenRefreshTokenRequestBody = { grant_type, refresh_token }

Request body for the refresh_token grant type. Rotates the refresh token and issues a new access token.

Request body for the OAuth token endpoint, discriminated by grant_type.

OAuthTokenSuccessResponse = { access_token, token_type, expires_in, 1 more... }

Successful token response per RFC 6749 Section 5.1.

OAuthTransferRequestBody = { nonce, userInfo }

The request body for transferring an OAuth account.

OAuthTransferUserInfo = { subject, email, embeddedWalletAddresses, 6 more... }

User info for an OAuth transfer.

OAuthTransferUserInfoMeta = { providerAppId }

Metadata for an OAuth transfer user info.

OAuthUnlinkRequestBody = { provider, subject }

The request body for unlinking an OAuth account.

OAuthVerifyRequestBody = { prat }

The request body for verifying a PRAT.

OAuthVerifyResponseBody = { verified }

The response body when verifying a PRAT.

OnrampProvider = "bridge" | "bridge-sandbox"

Valid set of onramp providers

OptionalRefreshTokenInput = { refresh_token }

The input for refreshing a session or logging out.

PasskeyAssertionResponse = { authenticator_data, client_data_json, signature, 1 more... }

The authenticator assertion response from a WebAuthn authentication ceremony.

PasskeyAttestationResponse = { attestation_object, client_data_json, authenticator_data, 3 more... }

The authenticator attestation response from a WebAuthn registration ceremony.

PasskeyAuthenticateInput = { authenticator_response, challenge, relying_party }

Input for authenticating with a passkey.

PasskeyAuthenticatorEnrollmentOptions = { challenge, pub_key_cred_params, rp, 6 more... }

WebAuthn registration options as defined by the Web Authentication specification.

PasskeyAuthenticatorEnrollmentResponse = { id, client_extension_results, raw_id, 3 more... }

WebAuthn registration response as defined by the Web Authentication specification.

PasskeyAuthenticatorSelection = { authenticator_attachment, require_resident_key, resident_key, 1 more... }

Authenticator selection criteria for a WebAuthn registration ceremony.

PasskeyAuthenticatorVerifyOptions = { challenge, allow_credentials, extensions, 3 more... }

WebAuthn authentication options as defined by the Web Authentication specification.

PasskeyAuthenticatorVerifyResponse = { id, client_extension_results, raw_id, 3 more... }

WebAuthn authentication response as defined by the Web Authentication specification.

PasskeyClientExtensionResults = { app_id, cred_props, hmac_create_secret }

Client extension results returned by the WebAuthn authenticator.

PasskeyCredPropsResult = { rk }

The result of the WebAuthn credProps extension.

PasskeyCredentialDescriptor = { id, type, transports }

A WebAuthn credential descriptor identifying a specific public key credential.

PasskeyEnrollmentExtensions = { app_id, cred_props, hmac_create_secret }

Extensions for a WebAuthn registration ceremony.

PasskeyInitInput = { token, relying_party }

Input for initiating a passkey ceremony.

PasskeyLinkInput = { authenticator_response, relying_party }

Input for linking a passkey credential.

PasskeyPubKeyCredParam = { alg, type }

A public key credential parameter specifying the algorithm and credential type.

PasskeyRegisterInput = { authenticator_response, relying_party }

Input for registering a passkey credential.

PasskeyRelyingParty = { name, id }

Relying party information for a WebAuthn ceremony.

PasskeyUser = { id, display_name, name }

User entity for a WebAuthn registration ceremony.

PasskeyVerifyExtensions = { app_id, cred_props, hmac_create_secret }

Extensions for a WebAuthn authentication ceremony.

PasswordlessAuthenticateRequestBody = { code, email, mode }

The request body for authenticating a passwordless account.

PasswordlessInitRequestBody = { email, token }

The request body for initiating a passwordless ceremony.

PasswordlessLinkRequestBody = { code, email }

The request body for linking a passwordless account.

PasswordlessSMSAuthenticateRequestBody = { code, phoneNumber, mode }

The request body for authenticating a passwordless sms account.

PasswordlessSMSInitRequestBody = { phoneNumber, token }

The request body for initiating a passwordless sms ceremony.

PasswordlessSMSLinkRequestBody = { code, phoneNumber }

The request body for linking a passwordless sms account.

PasswordlessSMSTransferRequestBody = { nonce, phoneNumber }

The request body for transferring a passwordless sms account.

PasswordlessSMSUnlinkRequestBody = { phoneNumber }

The request body for unlinking a passwordless sms account.

PasswordlessSMSUpdateRequestBody = { code, new_phone_number, old_phone_number }

The request body for updating a passwordless sms account.

PasswordlessTransferRequestBody = { email, nonce }

The request body for transferring a passwordless account.

PasswordlessUnlinkRequestBody = { address }

The request body for unlinking a passwordless account.

PasswordlessUpdateRequestBody = { code, newAddress, oldAddress }

The request body for updating a passwordless account.

PrivyOAuthProviderID = string

The ID of a Privy app as an OAuth provider. Must start with "privy:".

ResponsePasskeyInitAuthenticate = { options, relying_party }

Response for initiating a passkey authentication ceremony.

ResponsePasskeyInitLink = { options, relying_party }

Response for initiating a passkey link ceremony.

ResponsePasskeyInitRegister = { options, relying_party }

Response for initiating a passkey registration ceremony.

SiweAddressInput = { address }

Input containing a SIWE wallet address.

SiweAuthenticateRequestBody = { message, signature, chainId, 3 more... }

The request body for authenticating a SIWE ceremony.

SiweInitInput = { token, address }

Input for initiating a SIWE ceremony.

SiweInitRequestBody = { address }

The request body for initiating a SIWE ceremony.

SiweInitResponseBody = { address, expires_at, nonce }

The response body for initiating a SIWE ceremony.

SiweInput = { message, signature, chainId, 2 more... }

Input for a SIWE signing ceremony.

SiweLinkRequestBody = { message, signature, chainId, 2 more... }

The request body for linking a SIWE ceremony.

SiweLinkSmartWalletRequestBody = { message, signature, smart_wallet_type, 1 more... }

The request body for linking a SIWE ceremony to a smart wallet.

SiweNonce = { address, expires_at, nonce }

A SIWE nonce response.

SiweUnlinkRequestBody = { address }

The request body for unlinking a SIWE ceremony.

SiwsAddressInput = { address }

Input containing a SIWS wallet address.

SiwsAuthenticateRequestBody = { message, signature, connectorType, 3 more... }

The request body for authenticating a SIWS ceremony.

SiwsInitInput = { address, token }

Input for initiating a SIWS ceremony.

SiwsInitRequestBody = { address }

The request body for initiating a SIWS ceremony.

SiwsInitResponseBody = { address, expires_at, nonce }

The response body for initiating a SIWS ceremony.

SiwsInput = { message, signature, connectorType, 2 more... }

Input for a SIWS signing ceremony.

SiwsLinkRequestBody = { message, signature, connectorType, 2 more... }

The request body for linking a SIWS ceremony.

SiwsNonce = { address, expires_at, nonce }

A SIWS nonce response.

SiwsUnlinkRequestBody = { address }

The request body for unlinking a SIWS ceremony.

SmartWalletSiweInput = { message, signature, smart_wallet_type, 1 more... }

Input for a smart wallet SIWE signing ceremony.

TelegramAuthResult = { id, auth_date, first_name, 4 more... }

Auth result object returned by Telegram when a user authenticates using the login widget.

TelegramAuthenticateInput = { captcha_token, mode, telegram_auth_result, 1 more... }

Input for authenticating with Telegram.

TelegramAuthenticateRequestBody = { captcha_token, mode, telegram_auth_result, 1 more... }

The request body for authenticating with Telegram.

TelegramLinkRequestBody = { captcha_token, mode, telegram_auth_result, 1 more... }

The request body for linking a Telegram account.

TelegramUnlinkInput = { telegram_user_id }

Input for unlinking a Telegram account.

TelegramUnlinkRequestBody = { telegram_user_id }

The request body for unlinking a Telegram account.

TelegramWebAppData = { auth_date, hash, user, 5 more... }

Auth result object returned by Telegram when a user authenticates using a mini app.

TransferFarcasterInput = { farcaster_embedded_address, farcaster_id, nonce }

Input for transferring a Farcaster account.

TransferSiweInput = { address, nonce, chainId, 2 more... }

Input for transferring a SIWE account.

TransferSiwsInput = { address, nonce, connectorType, 1 more... }

Input for transferring a SIWS account.

TransferTelegramInput = { nonce, telegram_auth_result, telegram_web_app_data }

Input for transferring a Telegram account.

UnlinkPasskeyInput = { credential_id, remove_as_mfa }

Input for unlinking a passkey credential.