{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/api_crypto_wallet_v1_AuthenticateStartRequest",
  "title": "api_crypto_wallet_v1_AuthenticateStartRequest",
  "type": "object",
  "properties": {
    "crypto_wallet_type": {
      "type": "string",
      "description": "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."
    },
    "crypto_wallet_address": {
      "type": "string",
      "description": "The crypto wallet address to authenticate."
    },
    "user_id": {
      "type": "string",
      "description": "The unique ID of a specific User. You may use an `external_id` here if one is set for the user."
    },
    "session_token": {
      "type": "string",
      "description": "The `session_token` associated with a User's existing Session."
    },
    "session_jwt": {
      "type": "string",
      "description": "The `session_jwt` associated with a User's existing Session."
    },
    "siwe_params": {
      "$ref": "#/components/schemas/api_crypto_wallet_v1_SIWEParams",
      "description": "The parameters for a Sign In With Ethereum (SIWE) message. May only be passed if the `crypto_wallet_type` is `ethereum`."
    }
  },
  "description": "Request type",
  "required": [
    "crypto_wallet_type",
    "crypto_wallet_address"
  ]
}