Skip to main content
POST
/
challenge
/
request
/
evm
Request EVM challenge
curl --request POST \
  --url https://authapi.moralis.io/challenge/request/evm \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "domain": "defi.finance",
  "uri": "https://defi.finance/",
  "timeout": 15,
  "chainId": 1,
  "address": "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B",
  "statement": "Please confirm",
  "expirationTime": "2020-01-01T00:00:00.000Z",
  "notBefore": "2020-01-01T00:00:00.000Z",
  "resources": [
    "https://docs.moralis.io/"
  ]
}
'
{
  "id": "fRyt67D3eRss3RrXa",
  "profileId": "0xbfbcfab169c67072ff418133124480fea02175f1402aaa497daa4fd09026b0e1",
  "message": "defi.finance wants you to sign in with your Ethereum account:\n0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B\n\nPlease confirm\n\nURI: https://defi.finance/\nVersion: 1\nChain ID: 1\nNonce: DbU1DCTmdzR4lg3wi\nIssued At: 2022-06-12T12:15:31.290Z\nExpiration Time: 2020-01-01T00:00:00.000Z\nNot Before: 2020-01-01T00:00:00.000Z\nResources:\n- https://docs.moralis.io/"
}

Authorizations

X-API-Key
string
header
required

Body

application/json

Request EVM challenge message.

domain
string<hostname>
required

RFC 4501 dns authority that is requesting the signing.

Example:

"defi.finance"

uri
string<uri>
required

RFC 3986 URI referring to the resource that is the subject of the signing (as in the subject of a claim).

Example:

"https://defi.finance/"

timeout
number
default:15
required

Time in seconds before the challenge is expired

Required range: 15 <= x <= 120
Example:

15

chainId
enum<string>
required

EIP-155 Chain ID to which the session is bound, and the network where Contract Accounts must be resolved.

Available options:
1,
5,
10,
25,
56,
97,
100,
137,
250,
338,
420,
1284,
1285,
1287,
1337,
8453,
10200,
43113,
43114,
80001,
80002,
84531,
88882,
88888,
11155111
Example:

1

address
string
required

Ethereum address performing the signing conformant to capitalization encoded checksum specified in EIP-55 where applicable.

Example:

"0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B"

statement
string

Human-readable ASCII assertion that the user will sign, and it must not contain .

Example:

"Please confirm"

expirationTime
string<date-time>

ISO 8601 datetime string that, if present, indicates when the signed authentication message is no longer valid.

Example:

"2020-01-01T00:00:00.000Z"

notBefore
string<date-time>

ISO 8601 datetime string that, if present, indicates when the signed authentication message will become valid.

Example:

"2020-01-01T00:00:00.000Z"

resources
string[]

List of information or references to information the user wishes to have resolved as part of authentication by the relying party. They are expressed as RFC 3986 URIs separated by new lines.

Example:
["https://docs.moralis.io/"]

Response

201 - application/json

The back channel challenge containing the id to store on the api and the message to be signed by the user

id
string
required

17-characters Alphanumeric string Secret Challenge ID used to identify this particular request. Is should be used at the backend of the calling service to identify the completed request.

Required string length: 8 - 64
Example:

"fRyt67D3eRss3RrXa"

profileId
string
required

Unique identifier with a length of 66 characters

Example:

"0xbfbcfab169c67072ff418133124480fea02175f1402aaa497daa4fd09026b0e1"

message
string
required

Message that needs to be signed by the end user

Example:

"defi.finance wants you to sign in with your Ethereum account:\n0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B\n\nPlease confirm\n\nURI: https://defi.finance/\nVersion: 1\nChain ID: 1\nNonce: DbU1DCTmdzR4lg3wi\nIssued At: 2022-06-12T12:15:31.290Z\nExpiration Time: 2020-01-01T00:00:00.000Z\nNot Before: 2020-01-01T00:00:00.000Z\nResources:\n- https://docs.moralis.io/"