Hanzo
OpenapiValidator

Issues the single-use nonce and the exact message a wallet must sign to claim a…

Issues the single-use nonce and the exact message a wallet must sign to claim a validator slot.

GET /v1/validator/challenge

Addresshttps://api.hanzo.ai/v1/validator/challenge
MethodGET
Operationget_validator_challenge
AuthAuthorization: Bearer $HANZO_API_KEY

Issues the single-use nonce and the exact message a wallet must sign to claim a validator slot.

The nonce is bound to (validated org, slot) and stored server-side, so a signature obtained for one org or one slot can never be replayed for another, and the message POST /v1/validator verifies is rebuilt from those same server facts rather than trusted from the caller. Redeem it with POST /v1/validator before it expires; it can be redeemed once.

A tokenId outside the Validator tier is refused here rather than after signing.

Request

1 field.

FieldInTypeRequiredDescription
tokenIdquerystringTokenID is the Validator-tier GenesisNFT token id, as a decimal string in the ?tokenId= query. A value that is not a positive integer is 400.

Response

StatusBodyMeaning
200challengeViewok

200 body — 5 fields.

FieldInTypeAlwaysDescription
expiresAtbodyintegerExpiresAt is when the nonce stops being redeemable, as a Unix timestamp.
messagebodystringMessage is the EXACT text to personal_sign.
noncebodystringNonce is the single-use, org-bound challenge value to send back with the signature.
tokenIdbodyintegerTokenID is the slot the challenge was issued for.
ttlSecondsbodyintegerTTLSeconds is the challenge lifetime in seconds.

Failure carries the platform error shape — see Errors.

Examples

hanzo validators challenge

Validator API · All Hanzo APIs · Interactive reference

How is this guide?

On this page