Initiate the authentication of a crypto wallet.
siwe_params. The only required fields are domain and uri. If the crypto wallet detects that the domain in the message does not match the website’s domain, it will display a warning to the user.
If not using the SIWE protocol, the message will simply consist of the project name and a random string.Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Request type
The type of wallet to authenticate. Currently ethereum and solana are supported. Wallets for any EVM-compatible chains (such as Polygon or BSC) are also supported and are grouped under the ethereum type.
The crypto wallet address to authenticate.
The unique ID of a specific User. You may use an external_id here if one is set for the user.
The session_token associated with a User's existing Session.
The session_jwt associated with a User's existing Session.
The parameters for a Sign In With Ethereum (SIWE) message. May only be passed if the crypto_wallet_type is ethereum.
Successful response
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue.
The unique ID of the affected User.
A challenge string to be signed by the wallet in order to prove ownership.
In login_or_create endpoints, this field indicates whether or not a User was just created.
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors.