# Begin Wallet Registration **POST /v1/auth/wallets/registrations/begin** Initiates a wallet registration request for the specified user. This endpoint will return a challenge that must be signed by the private key of the wallet address you are registering against the user. Once verified, we will attach the wallet to the user specified. ## HTTP Request `POST /v1/auth/wallets/registrations/begin` ## Returns A successful response returns a `WalletRegistration` 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!). - **public_address** (string) Public wallet address of the wallet. - **user_id** (string) Unique user ID to associate the wallet with. If left blank/omitted and no user is previously attached to this wallet, we will create a user. Otherwise. we will return the user_id of attached to this wallet in the response. ## Responses ### 200 OK #### Body: application/json (object) - **id** (string) - **app_id** (string) - **user_id** (string) - **public_address** (string) - **wallet_type** (string) - **challenge** (string) - **updated_at** (number) - **created_at** (number) [Powered by Bump.sh](https://bump.sh)