Skip to content

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.

POST https://amplerun-api.spiry.org/api/v1/agents/accounts/challenge

No default Bearer requirement is declared for this operation. Read its description for wallet signatures, host enrollment or other specialized proofs.

Required body.

FieldTypePresenceDescription
addressstringRequired
{
"type": "object",
"additionalProperties": false,
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$"
}
}
}

The message to sign.

application/json

FieldTypePresenceDescription
messagestringRequired
expires_atRfc3339UtcRequired
terms_versionstringRequired
terms_urlstringRequired
{
"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"
}
}
}

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

FieldTypePresenceDescription
errorobjectRequired
{
"$ref": "#/components/schemas/ErrorEnvelope"
}

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.

Terminal window
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