Authentication
Note: To get started with BloqStake services using an Ethereum PoW account, you must authenticate to the Bloq API. Please contact [email protected] to have your address whitelisted before authenticating.
This is a multi-step process:
obtain a nonce,
create a message,
sign it, and
send it back to receive an authentication token.
Note that the account must be enabled by the Bloq administrators as this is a permissioned service. Also note that the account is used to identify the user. It is not related to the validators and must be derived from a different mnemonic than the one used to create the validator keys.
1. Obtain a nonce
Obtain the alphanumeric random nonce required to authenticate using the address of the account mentioned above:
curl -X POST https://api.bloq.com/auth/users/<PUBLIC_ADDRESS>/nonce
Note: The
PUBLIC_ADDRESS
must be lowercase or in EIP-55 checksum format.
The response will be a JSON with the user nonce.
// Sample response
{
"nonce": "<NONCE>"
}
2. Create the authentication message
Using the copy icon, copy the authentication message below into your preferred text editor and insert your public address, nonce, and ISO time string.
api.bloq.com wants you to sign in with your Ethereum account:
<PUBLIC_ADDRESS>
Signing In With Ethereum on Bloq
URI: https://api.bloq.com
Version: 1
Chain ID: 1
Nonce: <NONCE>
Issued At: <ISO_STRING_DATETIME_OF_SIGNING>
Note: The signature time ISO string can be obtained by executing
new Date().toISOString()
. To obtain the signature time ISO string, you may use a JS browser to run the command.
3. Sign the authentication message
Visit https://pure.finance/sign-message and submit the authentication message to receive your signature. The signature will be used to authenticate to the Bloq API.
4. Send the signature to authenticate
Using the copy icon, copy the message below into your preferred text editor and insert your public address, signature, and identical ISO time string. Send the message and obtain your authentication token. Note your authentication token will expire after 12 hours.
curl -X POST https://api.bloq.com/auth \
-H 'Content-Type: application/json' \
-d '{
"address": "<PUBLIC_ADDRESS>",
"service": "stake",
"signature": "<SIGNATURE>",
"signedAt": "<ISO_STRING_DATETIME_OF_SIGNING>"
}'
TIP: If you are experiencing difficulties receiving a successful response, check your quotation marks to ensure they are in appropriate format.
Last updated
Was this helpful?