Skip to main content
POST
Get the sign-in message for a wallet
  1. From your backend, send the registered frontend origin and both scopes, redeem:read and redeem:write.
  2. Check the builder app ID, issuer, audience and scopes in context against your app’s settings before prompting the user.
  3. Have the wallet sign message exactly as returned with personal_sign. Use the challenge once within five minutes. Send the message and signature to verify the wallet. Keep context on your side.

Request

Builder key required

Response

Error codes

Match the HTTP status and response text to a row below. For guidance on codes shared across endpoints, see Error meanings and recovery.

Authorizations

x-builder-api-key
string
header
required

Your approved builder API key. Keep it on your backend. Gacha and marketplace writes also require wallet action signatures. Redeem also needs a wallet access token, a Bearer token the API issues after the wallet signs a sign-in message.

Body

application/json
origin
string<uri>
required

Exact registered partner frontend origin (scheme, host and port), without a trailing slash or path.

Maximum string length: 2048
Example:

"http://localhost:3100"

walletAddress
string
required
chainId
integer
required
scopes
enum<string>[]
required

Must name exactly redeem:read and redeem:write, once each, in either order. Any other list is refused with 400 API_AUTH_INVALID_INPUT.

Available options:
redeem:read,
redeem:write

Response

Success

challengeId
string<uuid>
required
message
string
required
expiresAt
string<date-time>
required
context
object
required

Use it to check the sign-in message; do not send it back to verify.