Verifies the signature created by the wallet’s private key signing a SIWE challenge using the SIWE 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.
Returns
A successful response returns a Wallet object.
POST
/
v1
/
auth
/
wallets
/
siwe
/
verify
Verify Siwe Wallet Registration
curl --request POST \ --url https://api.moonkey.fun/v1/auth/wallets/siwe/verify \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "wallet_type": "ethereum", "public_address": "0xf082baC1eFbEF5156c788E4C6f586447c14eCF96", "siwe_challenge": "api.moonkey.fun wants you to sign in with your Ethereum account:\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\n\nBy signing in you accept the Terms of Service\n\nURI: https://api.moonkey.fun/\nVersion: 1\nChain ID: 1\nNonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY\nIssued At: 2022-07-04T02:07:27.184Z\nExpiration Time: 2022-07-04T03:07:27.184Z", "signature": "0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c", "session_expires_in": 1000, "session_jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q"}'
import requests
url = "https://api.moonkey.fun/v1/auth/wallets/siwe/verify"
payload = {
"wallet_type": "ethereum",
"public_address": "0xf082baC1eFbEF5156c788E4C6f586447c14eCF96",
"siwe_challenge": "api.moonkey.fun wants you to sign in with your Ethereum account:
0xf082baC1eFbEF5156c788E4C6f586447c14eCF96
By signing in you accept the Terms of Service
URI: https://api.moonkey.fun/
Version: 1
Chain ID: 1
Nonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY
Issued At: 2022-07-04T02:07:27.184Z
Expiration Time: 2022-07-04T03:07:27.184Z",
"signature": "0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c",
"session_expires_in": 1000,
"session_jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
wallet_type: 'ethereum',
public_address: '0xf082baC1eFbEF5156c788E4C6f586447c14eCF96',
siwe_challenge: 'api.moonkey.fun wants you to sign in with your Ethereum account:\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\n\nBy signing in you accept the Terms of Service\n\nURI: https://api.moonkey.fun/\nVersion: 1\nChain ID: 1\nNonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY\nIssued At: 2022-07-04T02:07:27.184Z\nExpiration Time: 2022-07-04T03:07:27.184Z',
signature: '0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c',
session_expires_in: 1000,
session_jwt: 'eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q'
})
};
fetch('https://api.moonkey.fun/v1/auth/wallets/siwe/verify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.moonkey.fun/v1/auth/wallets/siwe/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'wallet_type' => 'ethereum',
'public_address' => '0xf082baC1eFbEF5156c788E4C6f586447c14eCF96',
'siwe_challenge' => 'api.moonkey.fun wants you to sign in with your Ethereum account:
0xf082baC1eFbEF5156c788E4C6f586447c14eCF96
By signing in you accept the Terms of Service
URI: https://api.moonkey.fun/
Version: 1
Chain ID: 1
Nonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY
Issued At: 2022-07-04T02:07:27.184Z
Expiration Time: 2022-07-04T03:07:27.184Z',
'signature' => '0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c',
'session_expires_in' => 1000,
'session_jwt' => 'eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.moonkey.fun/v1/auth/wallets/siwe/verify"
payload := strings.NewReader("{\n \"wallet_type\": \"ethereum\",\n \"public_address\": \"0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\",\n \"siwe_challenge\": \"api.moonkey.fun wants you to sign in with your Ethereum account:\\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\\n\\nBy signing in you accept the Terms of Service\\n\\nURI: https://api.moonkey.fun/\\nVersion: 1\\nChain ID: 1\\nNonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY\\nIssued At: 2022-07-04T02:07:27.184Z\\nExpiration Time: 2022-07-04T03:07:27.184Z\",\n \"signature\": \"0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c\",\n \"session_expires_in\": 1000,\n \"session_jwt\": \"eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.moonkey.fun/v1/auth/wallets/siwe/verify")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"wallet_type\": \"ethereum\",\n \"public_address\": \"0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\",\n \"siwe_challenge\": \"api.moonkey.fun wants you to sign in with your Ethereum account:\\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\\n\\nBy signing in you accept the Terms of Service\\n\\nURI: https://api.moonkey.fun/\\nVersion: 1\\nChain ID: 1\\nNonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY\\nIssued At: 2022-07-04T02:07:27.184Z\\nExpiration Time: 2022-07-04T03:07:27.184Z\",\n \"signature\": \"0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c\",\n \"session_expires_in\": 1000,\n \"session_jwt\": \"eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.moonkey.fun/v1/auth/wallets/siwe/verify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"wallet_type\": \"ethereum\",\n \"public_address\": \"0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\",\n \"siwe_challenge\": \"api.moonkey.fun wants you to sign in with your Ethereum account:\\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\\n\\nBy signing in you accept the Terms of Service\\n\\nURI: https://api.moonkey.fun/\\nVersion: 1\\nChain ID: 1\\nNonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY\\nIssued At: 2022-07-04T02:07:27.184Z\\nExpiration Time: 2022-07-04T03:07:27.184Z\",\n \"signature\": \"0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c\",\n \"session_expires_in\": 1000,\n \"session_jwt\": \"eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q\"\n}"
response = http.request(request)
puts response.read_body
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.
Required SIWE challenge using the SIWE EIP-4361 (Sign in with Ethereum) spec using the nonce returned by GetWalletRegistrationNonce and the wallet address used during registration.
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.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"moonkey docs","colors":{"primary":"#7D00FF","light":"#8d60f0","dark":"#5C35B1"},"logo":{"light":"https://mintcdn.com/streambird-23/7SoXp5lRb42-tDXG/logo/moonkey-logo-light.svg?fit=max\u0026auto=format\u0026n=7SoXp5lRb42-tDXG\u0026q=85\u0026s=d79111a5ab7380e32858a62bc531ecfc","dark":"https://mintcdn.com/streambird-23/KaaakNPa1CnYmCK_/logo/moonkey-logo-dark.svg?fit=max\u0026auto=format\u0026n=KaaakNPa1CnYmCK_\u0026q=85\u0026s=c70dbe7c8b31c1b909d323ec37859637"},"favicon":"/favicon.png","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://api.moonkey.fun"}},"navbar":{"links":[]},"footer":{"socials":{"github":"https://github.com/moonkey","website":"https://moonkey.fun"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"streambird-23","hasAudioNarration":false,"actualSubdomain":"streambird-23","customDomains":["docs.streambird.io"],"gitSource":{"type":"github","owner":"tim-moonpay","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21a5c87676216effceffac","collectionId":"7c239a6a-5f04-43f3-aec7-14c261c32b26","schemaVersion":"v2"},"entitlements":{},"buildId":"6ae9157d2bff7601755cebb5:success","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API Reference","count":62},{"language":"default","tag":"Wallet as a Service","count":26},{"language":"default","tag":"Get Started","count":18},{"language":"default","tag":"Authentication","count":13},{"language":"default","tag":"Using Streambird authentication","count":12},{"language":"default","tag":"Using wallets","count":11},{"language":"default","tag":"Users","count":10},{"language":"default","tag":"Recipes","count":10},{"language":"default","tag":"Managed Wallets","count":9},{"language":"default","tag":"Sessions","count":8}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/wallets-login/verify-siwe-wallet-registration","slug":"/api-reference/wallets-login/verify-siwe-wallet-registration","pageMetadata":{"openapi":"post /v1/auth/wallets/siwe/verify","title":"Verify Siwe Wallet Registration","description":"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.\n## Returns\n\nA successful response returns a `Wallet` object.","href":"/api-reference/wallets-login/verify-siwe-wallet-registration"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n h2: \"h2\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Verifies the signature created by the wallet’s private key signing a SIWE challenge using the \", _jsx(_components.a, {\n href: \"https://eips.ethereum.org/EIPS/eip-4361\",\n children: \"SIWE EIP-4361\"\n }), \" (Sign in with Ethereum) spec using the \", _jsx(_components.code, {\n children: \"nonce\"\n }), \" returned by \", _jsx(_components.code, {\n children: \"GetWalletRegistrationNonce\"\n }), \" 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 \", _jsx(_components.code, {\n children: \"is_imported\"\n }), \" and \", _jsx(_components.code, {\n children: \"is_read_only\"\n }), \" true. If it is an existing associated wallet for the specified user, we allow you to create a MoonKey managed session.\"]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Returns\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"A successful response returns a \", _jsx(_components.code, {\n children: \"Wallet\"\n }), \" object.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"post /v1/auth/wallets/siwe/verify","title":"Verify Siwe Wallet Registration","description":"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.\n## Returns\n\nA successful response returns a `Wallet` object.","href":"/api-reference/wallets-login/verify-siwe-wallet-registration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Verify Siwe Wallet Registration","operationId":"VerifySiweWalletRegistration","responses":{"200":"219d5de1-5241-4bd7-9537-41be5caff20e"},"description":"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.\n## Returns\n\nA successful response returns a `Wallet` object.","requestBody":"92b05b2b-90e3-4b5a-91d2-58c3fcbb367d","tags":["Wallets Login"],"method":"post","type":"path","servers":["d20f097c-20a8-4afd-b7e5-e96252956d43"],"security":["00d0480a-c2e3-4624-98cd-868739f70878"],"path":"/v1/auth/wallets/siwe/verify","baseUrlOptions":["https://api.moonkey.fun"],"title":"Verify Siwe Wallet Registration","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"wallet_type":{"type":"string","minLength":1,"description":"Determines the type of wallet to register. Possible values: ethereum, solana (more coming soon!).","isRequired":true,"uniqueKey":"wallet_type","typeLabel":"string"},"signature":{"type":"string","minLength":1,"description":"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.","isRequired":true,"uniqueKey":"signature","typeLabel":"string"},"public_address":{"type":"string","minLength":1,"description":"Public wallet address of the wallet.","isRequired":true,"uniqueKey":"public_address","typeLabel":"string"},"siwe_challenge":{"type":"string","description":"`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.","isRequired":true,"uniqueKey":"siwe_challenge","typeLabel":"string"},"session_expires_in":{"type":"number","description":"`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.","uniqueKey":"session_expires_in","typeLabel":"number"},"session_token":{"type":"string","description":"`Optional` Unique session token to verify.","uniqueKey":"session_token","typeLabel":"string"},"session_jwt":{"type":"string","description":"`Optional` Unique Session JWT to verify.","uniqueKey":"session_jwt","typeLabel":"string"}},"required":["wallet_type","signature","public_address","siwe_challenge"],"uniqueKey":"","typeLabel":"object"},"examples":{"VerifySiweWalletRegistrationReq":{"title":"VerifySiweWalletRegistrationReq","value":{"wallet_type":"ethereum","public_address":"0xf082baC1eFbEF5156c788E4C6f586447c14eCF96","siwe_challenge":"api.moonkey.fun wants you to sign in with your Ethereum account:\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\n\nBy signing in you accept the Terms of Service\n\nURI: https://api.moonkey.fun/\nVersion: 1\nChain ID: 1\nNonce: 2Dht-Du_BK3wgFrjFWXp1nbCkmzHTfmFGEniTD7NiuY\nIssued At: 2022-07-04T02:07:27.184Z\nExpiration Time: 2022-07-04T03:07:27.184Z","signature":"0xa6575d640856f2a0cffec992a868cb2ba52924705639d3ddc10bd454688d229d62e59024a9ad484b4f5215bbf081b4e40c83d24ea2908e82a9a5fc9ff804de1d1c","session_expires_in":1000,"session_jwt":"eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NDkwODM0NjQsImlhdCI6MTY0OTAyMzQ2NCwiaXNzIjoiYXBpLnN0cmVhbWJpcmQuaW8vNmU3YzlmMWItNWU2Ni00MDBjLTk5YTctNzgzNDExZTAzYWFjIiwianRpIjoic2Vzc18yN0oxZG1OdWt5WFFtRlk4MjY3V1lJY1Z5QXciLCJuYmYiOjE2NDkwMjM0NjQsInNlc3Npb24iOnsiaWQiOiJzZXNzXzI3SjFkbU51a3lYUW1GWTgyNjdXWUljVnlBdyIsInVzZXJfaWQiOiJ1c2VyXzI2a2tha3RybDNabmhRNk1qMmg5bUM3QTlwcyIsInN0YXJ0ZWRfYXQiOjE2NDkwMjM0NjQsImV4cGlyZXNfYXQiOjE2NDkwODM0NjQsImxhc3RfYWN0aXZlX2F0IjoxNjQ5MDIzNDY0LCJmYWN0b3JzIjpbeyJkZWxpdmVyeV9jaGFubmVsIjoiZXRoX3dhbGxldCIsInR5cGUiOiJ3YWxsZXQiLCJtZXRob2QiOnsibWV0aG9kX2lkIjoid2FsbGV0XzI2a2tha2FSTHY1QmlTZFQxQVhGaVhybHpJaCIsIm1ldGhvZF90eXBlIjoid2FsbGV0Iiwid2FsbGV0X3B1YmxpY19hZGRyZXNzIjoiMHhmN2U5ZDYzMWJmYmQ5MGMxOTY5MTU2NmRiNGFiOTY2OTdhMjY2M2M2Iiwid2FsbGV0X3R5cGUiOiJFVEgiLCJ3YWxsZXRfaWQiOiJ3YWxsZXRfMjZra2FrYVJMdjVCaVNkVDFBWEZpWHJsekloIiwibGFzdF92ZXJpZmllZF9hdCI6MTY0OTAyMzQ2NH19XSwiZGV2aWNlX2ZpbmdlcnByaW50Ijp7InVzZXJfYWdlbnQiOiIiLCJpcCI6IiJ9LCJ1cGRhdGVkX2F0IjoxNjQ5MDIzNDY0LCJjcmVhdGVkX2F0IjoxNjQ5MDIzNDY0fSwic3ViIjoidXNlcl8yNmtrYWt0cmwzWm5oUTZNajJoOW1DN0E5cHMifQ.AE4JinNKZ6h9ywoHkF39m6zzzb7XexTJJOZMKLwAUJ26n9v04H8aftbbhBypah6iL6Nq0ni1dBkDyoCqgGuYsjK5Zr9XvJijlgKy1j2PUjCBAzc6CmvRlUqh9Ek2PZNyKdtzjDaWUr0e-Gw8WV_1c0G8zF1pylkr0Rk3aysTuXlRh7NWOt8-s7_tZ9Ip9FF2LnzSzz4nDF_EiJ_lI_hbKUDHiizlZQQX3vOXxe7epBhmy_F0otObanJeiz3B0yjaAgjS9hGothupHuVdlmlpksTi118AMXXSgwHRUc6ythWC2Dbvbe4sVnkN1uq_liJ20KemOZgxkQ_O8l6Bx7Ri3Q"}}},"exampleType":"examples"}},"description":"","exampleType":"examples"},"responses":{"219d5de1-5241-4bd7-9537-41be5caff20e":{"description":"Verify Siwe Wallet Registration response","content":{"application/json":{"schema":{"description":"","type":"object","properties":{"id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"id","typeLabel":"string"},"app_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"app_id","typeLabel":"string"},"user_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"user_id","typeLabel":"string"},"public_address":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"public_address","typeLabel":"string"},"wallet_type":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"wallet_type","typeLabel":"string"},"is_default":{"type":"boolean","isRequired":true,"uniqueKey":"is_default","typeLabel":"boolean"},"is_ready_only":{"type":"boolean","isRequired":true,"uniqueKey":"is_ready_only","typeLabel":"boolean"},"is_imported":{"type":"boolean","isRequired":true,"uniqueKey":"is_imported","typeLabel":"boolean"},"updated_at":{"type":"number","isRequired":true,"uniqueKey":"updated_at","typeLabel":"number"},"created_at":{"type":"number","isRequired":true,"uniqueKey":"created_at","typeLabel":"number"},"session_token":{"type":"string","uniqueKey":"session_token","typeLabel":"string"},"session_jwt":{"type":"string","uniqueKey":"session_jwt","typeLabel":"string"},"session":{"description":"","type":"object","x-examples":{"Session":{"id":"sess_24tZ6tlJ7CxlTwB6Zoj6SHQ9vU3","user_id":"user_24wFP9pDa9YiMJLun94iKykoZs2","session_token":"7hssInGtOjKGUh8w7T4NjgLIKKSw6UdZ8uOduBYmJzrtfV6GrNtaUYoGehRS6jBh","started_at":1643496805,"expires_at":1643502805,"last_active_at":1643496805,"factors":[{"delivery_channel":"sms","type":"otp","method":{"method_id":"pn_24oXBLRv6BoHXbNZoTAZkAFlRsy","method_type":"phone_number","phone_number_id":"pn_24oXBLRv6BoHXbNZoTAZkAFlRsy","phone_number":"+14152222222","last_verified_at":1643496805}}],"device_fingerprint":{"user_agent":"","ip":"123.2.1.1"},"updated_at":1643496805,"created_at":1643496805}},"title":"Session","properties":{"id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"session.id","typeLabel":"string"},"user_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"session.user_id","typeLabel":"string"},"session_token":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"session.session_token","typeLabel":"string"},"started_at":{"type":"number","isRequired":true,"uniqueKey":"session.started_at","typeLabel":"number"},"expires_at":{"type":"number","isRequired":true,"uniqueKey":"session.expires_at","typeLabel":"number"},"last_active_at":{"type":"number","isRequired":true,"uniqueKey":"session.last_active_at","typeLabel":"number"},"factors":{"type":"array","uniqueItems":true,"minItems":1,"items":{"type":"object","properties":{"delivery_channel":{"type":"string","minLength":1,"description":"Delivery channel for this factor. Possible values: sms, email, totp_authenticator, totp_recovery_code, google_oauth, apple_oauth, microsoft_oauth, discord_oauth, okta_oauth, github_oauth, slack_oauth, facebook_oauth, webauthn_credential, eth_wallet, sol_wallet.","isRequired":true,"uniqueKey":"session.factors.items.[INDEX].delivery_channel","typeLabel":"string"},"type":{"type":"string","minLength":1,"description":"Authentication type of factor. Possible values: otp, oauth, wallet, totp, webauthn.","isRequired":true,"uniqueKey":"session.factors.items.[INDEX].type","typeLabel":"string"},"method":{"type":"object","required":["method_id","method_type","last_verified_at"],"properties":{"method_id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"session.factors.items.[INDEX].method.method_id","typeLabel":"string"},"method_type":{"type":"string","minLength":1,"description":"Identifier method type. Possible values: email, wallet, phone_number, webauthn.","isRequired":true,"uniqueKey":"session.factors.items.[INDEX].method.method_type","typeLabel":"string"},"last_verified_at":{"type":"number","isRequired":true,"uniqueKey":"session.factors.items.[INDEX].method.last_verified_at","typeLabel":"number"},"id":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.id","typeLabel":"string"},"phone_number_id":{"type":"string","minLength":1,"uniqueKey":"session.factors.items.[INDEX].method.phone_number_id","typeLabel":"string"},"phone_number":{"type":"string","minLength":1,"uniqueKey":"session.factors.items.[INDEX].method.phone_number","typeLabel":"string"},"email_id":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.email_id","typeLabel":"string"},"email":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.email","typeLabel":"string"},"wallet_type":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.wallet_type","typeLabel":"string"},"wallet_id":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.wallet_id","typeLabel":"string"},"wallet_public_address":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.wallet_public_address","typeLabel":"string"},"totp_id":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.totp_id","typeLabel":"string"},"webauthn_credential_id":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.webauthn_credential_id","typeLabel":"string"},"provider_subject":{"type":"string","uniqueKey":"session.factors.items.[INDEX].method.provider_subject","typeLabel":"string"}},"isRequired":true,"uniqueKey":"session.factors.items.[INDEX].method","typeLabel":"object"}},"required":["delivery_channel","type","method"],"uniqueKey":"session.factors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"session.factors","typeLabel":"object[]"},"device_fingerprint":{"type":"object","required":["user_agent","ip"],"properties":{"user_agent":{"type":"string","isRequired":true,"uniqueKey":"session.device_fingerprint.user_agent","typeLabel":"string"},"ip":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"session.device_fingerprint.ip","typeLabel":"string"}},"isRequired":true,"uniqueKey":"session.device_fingerprint","typeLabel":"object"},"updated_at":{"type":"number","isRequired":true,"uniqueKey":"session.updated_at","typeLabel":"number"},"created_at":{"type":"number","isRequired":true,"uniqueKey":"session.created_at","typeLabel":"number"}},"required":["id","user_id","session_token","started_at","expires_at","last_active_at","factors","device_fingerprint","updated_at","created_at"],"uniqueKey":"session","typeLabel":"Session · object"}},"required":["id","app_id","user_id","public_address","wallet_type","is_default","is_ready_only","is_imported","updated_at","created_at"],"uniqueKey":"","typeLabel":"object"},"examples":{"VerifySiweWalletRegistrationResp":{"title":"VerifySiweWalletRegistrationResp","value":{"id":"wallet_2BpCqurnVmDESIkexSQ1iIj8CQr","app_id":"app_24ydphdixx2ydhF0E5WUFUKWNqi","user_id":"user_2BpCqz8xdXrNllJ8CxXmyzMoZYb","public_address":"0xf082bac1efbef5156c788e4c6f586447c14ecf96","wallet_type":"ethereum","verified":true,"is_default":false,"is_read_only":true,"is_imported":true,"updated_at":1657595025,"created_at":1657593833,"session_token":"b2xp7GcTszj1OHjgNUlrniVyoAA5Dpuraz23gAGofTtGKIwVfedeYyhcGoki4ZuD","session_jwt":"eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3a18yN0Q1dU9UaFIyZHNncmFYN1dWb0VMRzRxRVgiLCJ0eXAiOiJKV1QifQ.eyJleHAiOjE2NTc2NTU5MTAsImh0dHBzOi8vc3RyZWFtYmlyZC5pby9qd3Qvc2Vzc2lvbiI6eyJpZCI6InNlc3NfMkJwSDN4NmdiQ3MzWEM1dVNLZGgzVHVMVTNIIiwidXNlcl9pZCI6InVzZXJfMkJwQ3F6OHhkWHJObGxKOEN4WG15ek1vWlliIiwic3RhcnRlZF9hdCI6MTY1NzU5NTkxMCwiZXhwaXJlc19hdCI6MTY1NzY1NTkxMCwibGFzdF9hY3RpdmVfYXQiOjE2NTc1OTU5MTAsImZhY3RvcnMiOlt7ImRlbGl2ZXJ5X2NoYW5uZWwiOiJldGhfd2FsbGV0IiwidHlwZSI6IndhbGxldCIsIm1ldGhvZCI6eyJtZXRob2RfaWQiOiJ3YWxsZXRfMkJwQ3F1cm5WbURFU0lrZXhTUTFpSWo4Q1FyIiwibWV0aG9kX3R5cGUiOiJ3YWxsZXQiLCJ3YWxsZXRfcHVibGljX2FkZHJlc3MiOiIweGYwODJiYWMxZWZiZWY1MTU2Yzc4OGU0YzZmNTg2NDQ3YzE0ZWNmOTYiLCJ3YWxsZXRfdHlwZSI6IkVUSCIsIndhbGxldF9pZCI6IndhbGxldF8yQnBDcXVyblZtREVTSWtleFNRMWlJajhDUXIiLCJsYXN0X3ZlcmlmaWVkX2F0IjoxNjU3NTk1OTEwfX1dLCJkZXZpY2VfZmluZ2VycHJpbnQiOnsidXNlcl9hZ2VudCI6IiIsImlwIjoiIn0sInVwZGF0ZWRfYXQiOjE2NTc1OTU5MTAsImNyZWF0ZWRfYXQiOjE2NTc1OTU5MTB9LCJpYXQiOjE2NTc1OTU5MTAsImlzcyI6ImFwaS5zdHJlYW1iaXJkLmlvLzZlN2M5ZjFiLTVlNjYtNDAwYy05OWE3LTc4MzQxMWUwM2FhYyIsImp0aSI6InNlc3NfMkJwSDN4NmdiQ3MzWEM1dVNLZGgzVHVMVTNIIiwibmJmIjoxNjU3NTk1OTEwLCJzdWIiOiJ1c2VyXzJCcENxejh4ZFhyTmxsSjhDeFhteXpNb1pZYiJ9.NKVjHNw_65ODij-5tQZVFNPsNI9YC46ycsbpTm3VozKLXvAnKitOdEu8OB3SQKnGc8EVYU_TJ_VXAHFST6b5xi2ftbDUQlmXv6R-vrfRP7M1qYo6aBxa6uG2wzTlJe4VKDkQT53Y5mvRCi-52-AWpWShhO4JyP-bmcZcwPpFpFAi2gMK4SwSHGJCJw5VyWIImk0jmwXfUOYl0WrGh9gNxTwERoNwgVxUEtDBRMVF7dfGGTv9YgQ1e0XJ_gvYkoauCIYEALQNp_9VNJzoed_lZNZvWkqw2uHPWnxCrAq7CZO3o-kt-3sRppOCLRPAB2VyCOMhOhRCuSphXhILXA3P2w","session":{"id":"sess_2BpH3x6gbCs3XC5uSKdh3TuLU3H","user_id":"user_2BpCqz8xdXrNllJ8CxXmyzMoZYb","started_at":1657595910,"expires_at":1657655910,"last_active_at":1657595910,"factors":[{"delivery_channel":"eth_wallet","type":"wallet","method":{"method_id":"wallet_2BpCqurnVmDESIkexSQ1iIj8CQr","method_type":"wallet","wallet_public_address":"0xf082bac1efbef5156c788e4c6f586447c14ecf96","wallet_type":"ethereum","wallet_id":"wallet_2BpCqurnVmDESIkexSQ1iIj8CQr","last_verified_at":1657595910}}],"device_fingerprint":{"user_agent":"","ip":""},"permissions":null,"updated_at":1657595910,"created_at":1657595910}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"00d0480a-c2e3-4624-98cd-868739f70878":{"Authorization":{"type":"http","scheme":"bearer","description":"Auth Platform API includes all the Auth related features. All Users, Phone Numbers, Emails, and OTPs are associated with an `App` as the container.\n\nEndpoints only accept App's `Secret API keys` other than certain endpoints that are used client side or via SDK that accept the `public_token`.\n\n## Authentication using App Api Key\n\n## Header:\n\n```\nAuthorization: Bearer {api_key}\n```\n\n## Authenticated Request\n\n```curl\ncurl \\\n -X GET https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2 \\\n -H \"Authorization: Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r\"\n```","scopes":[]}}},"servers":{"d20f097c-20a8-4afd-b7e5-e96252956d43":{"url":"https://api.moonkey.fun","description":"Production","variables":{}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Auth Platform API includes all the Auth related features. All Users, Phone Numbers, Emails, and OTPs are associated with an `App` as the container.\n\nEndpoints only accept App's `Secret API keys` other than certain endpoints that are used client side or via SDK that accept the `public_token`.\n\n## Authentication using App Api Key\n\n## Header:\n\n```\nAuthorization: Bearer {api_key}\n```\n\n## Authenticated Request\n\n```curl\ncurl \\\n -X GET https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2 \\\n -H \"Authorization: Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r\"\n```","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Auth Platform API includes all the Auth related features. All Users, Phone Numbers, Emails, and OTPs are associated with an `App` as the container.\n\nEndpoints only accept App's `Secret API keys` other than certain endpoints that are used client side or via SDK that accept the `public_token`.\n\n## Authentication using App Api Key\n\n## Header:\n\n```\nAuthorization: Bearer {api_key}\n```\n\n## Authenticated Request\n\n```curl\ncurl \\\n -X GET https://api.moonkey.fun/v1/auth/users/user_24wFP9pDa9YiMJLun94iKykoZs2 \\\n -H \"Authorization: Bearer sk_test_pRqweh3wvWmJAAVYv7Z0T5iPLzFM4ql0muoyQcjOxGeN3p1r\"\n```","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"Authorization","name":"Authorization"}],"title":"Authorization"}]},"originalFileLocation":"openapi/streambird-api-3.1.yml"},"subdomain":"streambird-23","siteName":"moonkey docs","title":"Verify Siwe Wallet Registration - moonkey docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2025-12-16T21:52:59.657Z","originalFileLocation":"api-reference/wallets-login/verify-siwe-wallet-registration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Verifies the signature created by the wallet\u0026#x27;s private key signing a SIWE challenge using the SIWE 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. ## Returns A successful response returns a Wallet object.\">\u003cmeta data-mint-head name=\"application-name\" content=\"moonkey docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Verify Siwe Wallet Registration - moonkey docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Verifies the signature created by the wallet\u0026#x27;s private key signing a SIWE challenge using the SIWE 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. ## Returns A successful response returns a Wallet object.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"moonkey docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://streambird-23.mintlify.app/_mintlify/api/og/v2?division=Wallets+Login\u0026amp;title=Verify+Siwe+Wallet+Registration\u0026amp;description=Verifies+the+signature+created+by+the+wallet%27s+private+key+signing+a+SIWE+challenge+using+the+%5BSIWE+EIP-4361%5D%28https%3A%2F%2Feips.ethereum.org%2FEIPS%2Feip-4361%29+%28Sign+in+\u0026amp;theme=d508d8e3df2d6acae45c8112\u0026amp;signature=640db577dce0f1674a229af2ad5b838b89d99bba1c7f6460a9a66191b2b39208\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Verify Siwe Wallet Registration - moonkey docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Verifies the signature created by the wallet\u0026#x27;s private key signing a SIWE challenge using the SIWE 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. ## Returns A successful response returns a Wallet object.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://streambird-23.mintlify.app/_mintlify/api/og/v2?division=Wallets+Login\u0026amp;title=Verify+Siwe+Wallet+Registration\u0026amp;description=Verifies+the+signature+created+by+the+wallet%27s+private+key+signing+a+SIWE+challenge+using+the+%5BSIWE+EIP-4361%5D%28https%3A%2F%2Feips.ethereum.org%2FEIPS%2Feip-4361%29+%28Sign+in+\u0026amp;theme=d508d8e3df2d6acae45c8112\u0026amp;signature=640db577dce0f1674a229af2ad5b838b89d99bba1c7f6460a9a66191b2b39208\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/streambird-23/ZyHtXE9VLNWbz3Rg/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"moonkey docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7D00FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/wallets-login/verify-siwe-wallet-registration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.streambird.io/#organization\",\"name\":\"moonkey docs\",\"url\":\"https://docs.streambird.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/streambird-23/7SoXp5lRb42-tDXG/logo/moonkey-logo-light.svg?fit=max\u0026auto=format\u0026n=7SoXp5lRb42-tDXG\u0026q=85\u0026s=d79111a5ab7380e32858a62bc531ecfc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.streambird.io#website\",\"name\":\"moonkey docs\",\"url\":\"https://docs.streambird.io\",\"publisher\":{\"@id\":\"https://docs.streambird.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration#webpage\",\"url\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration\",\"name\":\"Verify Siwe Wallet Registration\",\"description\":\"Verifies the signature created by the wallet's private key signing a SIWE challenge using the SIWE 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. ## Returns A successful response returns a Wallet object.\",\"dateModified\":\"2025-12-16T21:52:59.657Z\",\"isPartOf\":{\"@id\":\"https://docs.streambird.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Wallets Login\",\"item\":\"https://docs.streambird.io/api-reference/wallets-login/begin-wallet-registration\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verify Siwe Wallet Registration\",\"item\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration#apireference\",\"headline\":\"Verify Siwe Wallet Registration\",\"name\":\"Verify Siwe Wallet Registration\",\"description\":\"Verifies the signature created by the wallet's private key signing a SIWE challenge using the SIWE 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. ## Returns A successful response returns a Wallet object.\",\"url\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.streambird.io/api-reference/wallets-login/verify-siwe-wallet-registration#webpage\"},\"dateModified\":\"2025-12-16T21:52:59.657Z\",\"publisher\":{\"@id\":\"https://docs.streambird.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.streambird.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"moonkey docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"moonkey docs","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/about"}]},{"tab":"Authentication","pages":[{"title":"Authentication","href":"/authentication/overview"}]},{"tab":"Wallet as a Service","pages":[{"title":"Wallet as a Service","href":"/wallet-as-a-service/wallets-overview"}]},{"tab":"Recipes","pages":[{"title":"Recipes","href":"/recipes/overview"}]},{"tab":"API Reference","pages":[{"group":"API Reference","pages":[{"title":"Authentication","href":"/api-reference/authentication"}]},{"group":"Managed Wallets","pages":[{"openapi":"post /v1/wallets/create","title":"Create Wallet","href":"/api-reference/managed-wallets/create-wallet"},{"openapi":"post /v1/wallets/balance","title":"Get Wallet Balance","href":"/api-reference/managed-wallets/get-wallet-balance"},{"openapi":"get /v1/wallets/{wallet_id}","title":"Get Wallet","href":"/api-reference/managed-wallets/get-wallet"},{"openapi":"get /v1/wallets/list","title":"List Wallet","href":"/api-reference/managed-wallets/list-wallet"},{"group":"Solana Wallets","pages":[{"title":"Solana Sign Transaction","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/solana/sign-transaction"},{"title":"Solana Sign Message","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/solana/sign-message"}]},{"group":"Ethereum Wallets","pages":[{"title":"Ethereum Sign Transaction","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/ethereum/sign-transaction"},{"title":"Ethereum Sign Message","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/ethereum/sign-message"},{"title":"Ethereum Sign EIP-7702 Authorization","api":"POST https://api.moonkey.fun/v1/wallets/{wallet_id}/rpc","href":"/api-reference/managed-wallets/ethereum/sign-7702-authorization"}]}]},{"group":"Wallet Import","pages":[{"openapi":"post /v1/wallets/import/begin","title":"Begin Wallet Import","href":"/api-reference/wallet-import/begin-wallet-import"},{"openapi":"post /v1/wallets/import","title":"Import Wallet","href":"/api-reference/wallet-import/import-wallet"}]},{"group":"Users","pages":[{"openapi":"post /v1/auth/users/create","title":"Create User","href":"/api-reference/users/create-user"},{"openapi":"post /v1/auth/users/search","title":"Search Users (beta)","href":"/api-reference/users/search-users-beta"},{"openapi":"get /v1/auth/users/{user_id}","title":"Get User","href":"/api-reference/users/get-user"},{"openapi":"put /v1/auth/users/{user_id}/update","title":"Update User","href":"/api-reference/users/update-user"},{"openapi":"delete /v1/auth/users/{user_id}/delete","title":"Delete User","href":"/api-reference/users/delete-user"},{"openapi":"delete /v1/auth/users/emails/{email_id}/delete","title":"Delete User Email","href":"/api-reference/users/delete-user-email"},{"openapi":"delete /v1/auth/users/phone_number/{phone_number_id}/delete","title":"Delete User Phone Number","href":"/api-reference/users/delete-user-phone-number"},{"openapi":"delete /v1/auth/users/wallets/{wallet_id}/delete","title":"Delete User Wallet","href":"/api-reference/users/delete-user-wallet"},{"openapi":"delete /v1/auth/users/webauthn_credentials/{webauthn_credential_id}/delete","title":"Delete User WebAuthn Credential","href":"/api-reference/users/delete-user-webauthn-credential"},{"openapi":"delete /v1/auth/users/totps/{totp_id}/delete","title":"Delete User TOTP","href":"/api-reference/users/delete-user-totp"}]},{"group":"OTPs","pages":[{"openapi":"post /v1/auth/otps/sms/login_or_create","title":"Login or Create User by SMS","href":"/api-reference/otps/login-or-create-user-by-sms"},{"openapi":"post /v1/auth/otps/sms/send","title":"Create SMS OTP","href":"/api-reference/otps/create-sms-otp"},{"openapi":"post /v1/auth/otps/email/login_or_create","title":"Login or Create User by Email OTP","href":"/api-reference/otps/login-or-create-user-by-email-otp"},{"openapi":"post /v1/auth/otps/email/send","title":"Create Email OTP","href":"/api-reference/otps/create-email-otp"},{"openapi":"post /v1/auth/otps/verify","title":"Verify OTP (One-time passcode)","href":"/api-reference/otps/verify-otp-one-time-passcode"}]},{"group":"OAuth","pages":[{"openapi":"get /v1/auth/oauth/google/begin","title":"Google","href":"/api-reference/oauth/google"},{"openapi":"get /v1/auth/oauth/apple/begin","title":"Apple","href":"/api-reference/oauth/apple"},{"openapi":"get /v1/auth/oauth/microsoft/begin","title":"Microsoft","href":"/api-reference/oauth/microsoft"},{"openapi":"get /v1/auth/oauth/discord/begin","title":"Discord","href":"/api-reference/oauth/discord"},{"openapi":"get /v1/auth/oauth/github/begin","title":"Github","href":"/api-reference/oauth/github"},{"openapi":"post /v1/auth/oauth/verify","title":"Verify Token","href":"/api-reference/oauth/verify-token"}]},{"group":"Sessions","pages":[{"openapi":"get /v1/auth/jwks/default","title":"GetJWKs","href":"/api-reference/sessions/getjwks"},{"openapi":"get /v1/auth/jwks/{app_id}","title":"GetJWKsByApp","href":"/api-reference/sessions/getjwksbyapp"},{"openapi":"get /v1/auth/sessions/list","title":"List Sessions","href":"/api-reference/sessions/list-sessions"},{"openapi":"post /v1/auth/sessions/verify","title":"Verify Session","href":"/api-reference/sessions/verify-session"},{"openapi":"delete /v1/auth/sessions/delete","title":"Delete Session","href":"/api-reference/sessions/delete-session"}]},{"group":"TOTP (Time-based one-time passcode)","pages":[{"openapi":"post /v1/auth/totps/create","title":"Create TOTP (beta)","href":"/api-reference/totp-time-based-one-time-passcode/create-totp-beta"},{"openapi":"post /v1/auth/totps/verify","title":"Verify TOTP (beta)","href":"/api-reference/totp-time-based-one-time-passcode/verify-totp-beta"},{"openapi":"post /v1/auth/totps/recovery_codes","title":"Get TOTP Recovery Codes (beta)","href":"/api-reference/totp-time-based-one-time-passcode/get-totp-recovery-codes-beta"},{"openapi":"post /v1/auth/totps/recovery","title":"TOTP Recovery (beta)","href":"/api-reference/totp-time-based-one-time-passcode/totp-recovery-beta"}]},{"group":"Wallets Login","pages":[{"openapi":"post /v1/auth/wallets/registrations/begin","title":"Begin Wallet Registration","href":"/api-reference/wallets-login/begin-wallet-registration"},{"openapi":"post /v1/auth/wallets/registrations/nonce","title":"Get Wallet Registration Nonce","href":"/api-reference/wallets-login/get-wallet-registration-nonce"},{"openapi":"post /v1/auth/wallets/verify","title":"Verify Wallet (beta)","description":"Verifies a wallet signature. This endpoint will verify the signature signed by the wallet private key using the challenge presented by the `BeginWalletRegistration` endpoint for the wallet address specified. If signature is valid, we will return the wallet object with its associated user ID. If the wallet is not previously attached the the user initiating the wallet registration, the wallet will be attached to the user.\n## Returns\n\nA successful response returns a `Wallet` object.","href":"/api-reference/wallets-login/verify-wallet-beta"},{"openapi":"post /v1/auth/wallets/siwe/verify","title":"Verify Siwe Wallet Registration","href":"/api-reference/wallets-login/verify-siwe-wallet-registration"}]},{"group":"Passwords","pages":[{"openapi":"post /v1/auth/passwords/session/update","title":"Update Password by Session (Enterprise)","description":"Update user password using an active session. If the session token does not have an active factor from OTP, magic link, or password, it will return an error.\n## Request Body\n\nThe following table lists the properties of an HTTP request that this action supports.\n\n## Returns\n\nA successful response returns `user_id` property and `session` object associated with the `session_token` sent in.","href":"/api-reference/passwords/update-password-by-session-enterprise"},{"openapi":"post /v1/auth/passwords/verify","title":"Verify Password (Enterprise)","href":"/api-reference/passwords/verify-password-enterprise"},{"openapi":"post /v1/auth/passwords/strength_check","title":"PasswordStrengthCheck (Enterprise)","href":"/api-reference/passwords/passwordstrengthcheck-enterprise"}]},{"group":"Transfers","pages":[{"openapi":"post /v1/transfers/create","title":"Create Transfer (beta)","href":"/api-reference/transfers/create-transfer-beta"},{"openapi":"post /v1/transfers/{transfer_id}/confirm","title":"Confirm Transfer (beta)","href":"/api-reference/transfers/confirm-transfer-beta"},{"openapi":"get /v1/transfers/{transfer_id}","title":"Get Transfer (beta)","href":"/api-reference/transfers/get-transfer-beta"},{"openapi":"get /v1/transfers/list","title":"List Transfer (beta)","href":"/api-reference/transfers/list-transfer-beta"}]},{"group":"WebAuthn","pages":[{"openapi":"post /v1/auth/webauthn/registrations/begin","title":"Initiate WebAuthn Registration (beta)","href":"/api-reference/webauthn/initiate-webauthn-registration-beta"},{"openapi":"post /v1/auth/webauthn/registrations/create","title":"Create WebAuthn Registration (beta)","href":"/api-reference/webauthn/create-webauthn-registration-beta"},{"openapi":"post /v1/auth/webauthn/authentication/begin","title":"Initiate WebAuthn Authentication (beta)","href":"/api-reference/webauthn/initiate-webauthn-authentication-beta"},{"openapi":"post /v1/auth/webauthn/verify","title":"Verify WebAuthn Authentication (beta)","href":"/api-reference/webauthn/verify-webauthn-authentication-beta"}]},{"group":"Magic Links (Deprecated)","pages":[{"openapi":"post /v1/auth/magic_links/email/login_or_create","title":"Login or Create User by Magic Link","href":"/api-reference/magic-links/login-or-create-user-by-magic-link"},{"openapi":"post /v1/auth/magic_links/email/invite","title":"Invite User by Magic Link","href":"/api-reference/magic-links/invite-user-by-magic-link"},{"openapi":"post /v1/auth/magic_links/create","title":"Create Embeddable Magic Link","href":"/api-reference/magic-links/create-embeddable-magic-link"},{"openapi":"post /v1/auth/magic_links/verify","title":"Verify Token","href":"/api-reference/magic-links/verify-token"}]}]}]},"basePath":"","title":"Verify Siwe Wallet Registration - moonkey docs","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}