Verify Siwe Wallet Registration
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 Streambird managed session.
HTTP Request
POST /v1/auth/wallets/siwe/verify
Returns
A successful response returns a Wallet
object.
Body
-
Determines the type of wallet to register. Possible values: ETH, SOL (more coming soon!).
Minimum length is
1
. -
Signed message using the associated private key of the wallet address. We ETH signed message to be base64 encoded (e.g. 0x...) and SOL signed message will be bs58 encoded or base64 encoded.
Minimum length is
1
. -
Public wallet address of the wallet.
Minimum length is
1
. -
Required
SIWE challenge using the SIWE EIP-4361 (Sign in with Ethereum) spec using thenonce
returned byGetWalletRegistrationNonce
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 asession_token
andsession_jwt
. However, if a validsession_token
orsession_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.
curl \
-X POST https://api.streambird.io/v1/auth/wallets/siwe/verify \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"wallet_type":"ETH","public_address":"0xf082baC1eFbEF5156c788E4C6f586447c14eCF96","siwe_challenge":"api.streambird.io wants you to sign in with your Ethereum account:\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\n\nBy signing in you accept the Terms of Service\n\nURI: https://api.streambird.io/\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"}'
{
"wallet_type": "ETH",
"public_address": "0xf082baC1eFbEF5156c788E4C6f586447c14eCF96",
"siwe_challenge": "api.streambird.io wants you to sign in with your Ethereum account:\n0xf082baC1eFbEF5156c788E4C6f586447c14eCF96\n\nBy signing in you accept the Terms of Service\n\nURI: https://api.streambird.io/\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"
}
{
"id": "wallet_2BpCqurnVmDESIkexSQ1iIj8CQr",
"app_id": "app_24ydphdixx2ydhF0E5WUFUKWNqi",
"user_id": "user_2BpCqz8xdXrNllJ8CxXmyzMoZYb",
"public_address": "0xf082bac1efbef5156c788e4c6f586447c14ecf96",
"wallet_type": "ETH",
"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": "ETH",
"wallet_id": "wallet_2BpCqurnVmDESIkexSQ1iIj8CQr",
"last_verified_at": 1657595910
}
}
],
"device_fingerprint": {
"user_agent": "",
"ip": ""
},
"permissions": null,
"updated_at": 1657595910,
"created_at": 1657595910
}
}