---
title: "Get Nonce"
method: GET
path: "/servers/nonce"
tags: ["Servers"]
---

# Get Nonce

`GET /servers/nonce`

Generate a nonce for boot attestation.

This endpoint is called by VMs during boot before any registration.
No authentication required as the VM doesn't exist in the system yet.

miner_hotkey is OPTIONAL for backwards compatibility: older VM initramfs fetch the nonce
without it. When supplied it is bound into the nonce, and boot attestation enforces that
args.miner_hotkey matches the value stored here (preventing cross-miner nonce reuse). VMs
that omit it get an unbound nonce and the binding check is skipped.

TODO: make miner_hotkey required when all VMs >= 1.4.0

## Query parameters

- `miner_hotkey` string, nullable

## Response `200`

Successful Response

- NonceResponse — Response model for nonce generation.
  - `nonce` string, required
  - `expires_at` string, required

## Other responses

- `422` — Validation Error

## Changes

> 7 revisions in range; 4 could not be searched.

- **2026-08-04** `352418d4e3a2` — 2 info
  - added the new optional `query` request parameter `miner_hotkey`
  - added the non-success response with the status `422`

[Change history](https://skmtc.dev/chutes/apis/fastapi/changes/servers/nonce/get.md)

---

[API](https://skmtc.dev/chutes/apis/fastapi.md) · [All operations](https://skmtc.dev/chutes/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/chutes/fastapi/revisions/7be1aa2fe1a0/schema)
