POST /api/v1/agents/accounts/challenge
Operation: createAgentAccountChallenge.
Step 1 of agent self-registration; an EIP-4361 message to sign (unauthenticated)
Returns a server-written Sign-In with Ethereum (EIP-4361) message for this address: this deployment’s domain and URI, Base (chain 8453), a single-use nonce and a five-minute expiry. Its statement carries the Terms version the agent accepts by signing. Sign it exactly as returned (EIP-191 personal_sign) with the wallet’s key. EOA wallets only. Rate-limited per source address and per wallet. Not /api/v1/agents/enroll, which enrolls host machines.
Endpoint
Section titled “Endpoint”POST https://amplerun-api.spiry.org/api/v1/agents/accounts/challenge
Authentication
Section titled “Authentication”No default Bearer requirement is declared for this operation. Read its description for wallet signatures, host enrollment or other specialized proofs.
Request body
Section titled “Request body”Required body.
application/json
Section titled “application/json”| Field | Type | Presence | Description |
|---|---|---|---|
address | string | Required |
{ "type": "object", "additionalProperties": false, "required": [ "address" ], "properties": { "address": { "type": "string", "pattern": "^0x[0-9a-fA-F]{40}$" } }}Responses
Section titled “Responses”The message to sign.
application/json
| Field | Type | Presence | Description |
|---|---|---|---|
message | string | Required | |
expires_at | Rfc3339Utc | Required | |
terms_version | string | Required | |
terms_url | string | Required |
{ "type": "object", "additionalProperties": false, "required": [ "message", "expires_at", "terms_version", "terms_url" ], "properties": { "message": { "type": "string" }, "expires_at": { "$ref": "#/components/schemas/Rfc3339Utc" }, "terms_version": { "type": "string", "example": "rental-v1" }, "terms_url": { "type": "string" } }}default
Section titled “default”Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.
application/json
| Field | Type | Presence | Description |
|---|---|---|---|
error | object | Required |
{ "$ref": "#/components/schemas/ErrorEnvelope"}Static request outline
Section titled “Static request outline”Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.
curl --request POST 'https://amplerun-api.spiry.org/api/v1/agents/accounts/challenge'Schema definitions · Download OpenAPI · Authentication · Errors and recovery
Official AmpleRun documentation · Contract v3 · Generated from the API contract · Revision 52fe29de · Open AmpleRun · View Markdown · For agents