# Verify Siwe Wallet Registration **POST /v1/auth/wallets/siwe/verify** Verifies the signature created by the wallet's private key signing a SIWE challenge using the [SIWE EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) (Sign in with Ethereum) spec using the `nonce` returned by `GetWalletRegistrationNonce` and the wallet address used during registration. If successful, a wallet will be created and associated with the user. Wallet imported will be marked as `is_imported` and `is_read_only` true. If it is an existing associated wallet for the specified user, we allow you to create a MoonKey managed session. ## HTTP Request `POST /v1/auth/wallets/siwe/verify` ## Returns A successful response returns a `Wallet` object. ## Servers - Production: https://api.moonkey.fun (Production) ## Authentication methods - Authorization ## Parameters ### Body: application/json (object) - **wallet_type** (string) Determines the type of wallet to register. Possible values: ethereum, solana (more coming soon!). - **signature** (string) Signed message using the associated private key of the wallet address. We ethereum signed message to be base64 encoded (e.g. 0x...) and solana signed message will be bs58 encoded or base64 encoded. - **public_address** (string) Public wallet address of the wallet. - **siwe_challenge** (string) `Required` SIWE challenge using the [SIWE EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) (Sign in with Ethereum) spec using the `nonce` returned by `GetWalletRegistrationNonce` and the wallet address used during registration. - **session_expires_in** (number) `Optional` Extend the session expiration time to N minutes from now, must be between 5 to 525600 minutes (365 days). This parameter will create a new session if there is no existing session along with a `session_token` and `session_jwt`. However, if a valid `session_token` or `session_jwt` is sent in, it will extend that session by the minutes specified. If not sent in, no session will be created by default. - **session_token** (string) `Optional` Unique session token to verify. - **session_jwt** (string) `Optional` Unique Session JWT to verify. ## Responses ### 200 #### Body: application/json (object) - **id** (string) - **app_id** (string) - **user_id** (string) - **public_address** (string) - **wallet_type** (string) - **is_default** (boolean) - **is_ready_only** (boolean) - **is_imported** (boolean) - **updated_at** (number) - **created_at** (number) - **session_token** (string) - **session_jwt** (string) - **session** (object) ### [Powered by Bump.sh](https://bump.sh)