API Reference
POST /v1/verify/chip/challenge
Issue the five-minute challenge that a machine chip signs for Verify chip intake.
POST
POST /v1/verify/chip/challenge
Endpoint
POST /v1/verify/chip/evidence consumes it.
Issuing a challenge does not check a chip, set a status or record an attestation. The route takes no certificate or signature.
Headers
Request body
string
required
Decimal machine ID as a string,
1 to 2^256-1, no sign, whitespace or leading zeros. A JSON number, a DID or an address returns 400 INVALID_REQUEST.400 INVALID_REQUEST. The server resolves the DID, controller and chain ID itself and generates the nonce and expiry.
Response
201 Created,Content-Type: application/json; charset=utf-8, Cache-Control: no-store.
The challenge is single use. The DID controller in the challenge must still be the machine’s controller when the evidence is submitted; a change in between gets the evidence rejected.
Error responses
Errors use the coded envelope:
Branch on
code, never on message. Errors never echo the token, the nonce or the request body.
Example
123 is a placeholder machine ID.
Related endpoints
- POST /v1/verify/chip/evidence submits the signed evidence for this challenge.
- GET /v1/verify/machines/{machineId} reads the machine’s KYB and chip status.

