Hanzo
Cloud MCPvalidators

get_v1_validators_challenge

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

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/validators verifies is rebuilt from those same server facts rather than trusted from the caller. Redeem it with POST /v1/validators before it expires; it can be redeemed once.

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

Toolget_v1_validators_challenge
Doorhttps://api.hanzo.ai/v1/mcp
Methodtools/call (JSON-RPC 2.0)
Arguments1
OperationGET /v1/validators/challenge
Productvalidators

Arguments

FieldTypeRequiredDefaultDescription
tokenIdstringTokenID 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. It is a string rather than a number because the parse that has always served this route trims surrounding whitespace, and one parse rule is better than two.

This tool's schema does not declare which fields are required, nor any default, nor any enumerated value set. The columns above are empty because the door publishes nothing there, not because the answer is "none" — where a field is constrained, the constraint is stated in that field's own description.

Call it

A tools/call carries every argument in one flat object — nothing binds to a path or a query string. Every declared argument is shown, because the door marks none of them required.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "get_v1_validators_challenge",
         "arguments": {
           "tokenId": "<tokenId>"
         }
       }
     }'

Values are placeholders derived from each field's declared type. tools/list needs no credential; tools/call does — called without one the door answers HTTP 200 with a JSON-RPC result whose isError is set and whose text says what was missing. How to get a key →

The operation behind it

OperationRouteProductSummary
cloud_get_v1_validators_challengeGET /v1/validators/challengevalidatorsIssues the single-use nonce and the exact message a wallet must sign to claim a validator

The same capability over plain HTTP is in the validators API reference, on https://api.hanzo.ai.


All 834 tools · The door · API reference

Generated from tools/list on https://api.hanzo.ai/v1/mcp — 834 tools captured 2026-08-01 (this build read the vendored copy; the door was unreachable).

How is this guide?

On this page