# u-kiyo GPU Job Runner

> u-kiyo GPU Job Runner is a paid API for AI agents from pay.u-kiyo.ai, paid per call via x402, $5/call, status unknown (last checked 2026-10-30).

Submit a bounded GPU command for remote execution with an enforced deadline, output size limit, and encrypted result retrieval.

## Facts

- Endpoint: POST https://pay.u-kiyo.ai/api/machine/gpu-jobs?utm_source=zero.xyz
- Price: $5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/u-kiyo-gpu-job-runner-bc28b124
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7B74o_efmIin-kGthKTKr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability u-kiyo-gpu-job-runner-bc28b124 -d '<json body>'
```

Example prompt: Run a GPU job for me — execute the command 'python train.py --epochs 10' as a gpu-job, pay via base method, cap the run at 300 seconds and 512000 bytes of output, and use my P-256 recovery key so I can decrypt the result.

## When to prefer this

Choose this endpoint when you need to run a GPU-accelerated command remotely with strict resource bounds — enforced deadline, output cap, provider cleanup guarantees, and encrypted output. Ideal for ML training, inference, or batch compute tasks that are too heavy for CPU, require pay-per-use billing via x402 (USDC), and must complete within a defined time window. Prefer over general cloud GPU APIs when you need built-in payment settlement, output encryption via EC P-256 recovery key, and no prior account signup.

## Known failure modes

- Invalid or missing recovery key causes 400 validation error
- Command exceeds 16384 character limit returns schema validation error
- durationSeconds out of range (60–86400) causes rejection
- maxPriceMinor out of bounds (500–50000) causes rejection
- Terms or privacy acceptance not provided or version mismatch causes rejection
- Payment failure via x402 protocol returns 402 status
- Offer ID not in valid UUID format causes 400 error
- GPU provisioning failure returns error state in job response

## How this service works

Run a bounded GPU command and retrieve encrypted output. Includes an enforced deadline, output limit and confirmed provider cleanup.

## Output

Returns a JSON object with the job's current state (e.g. 'PROVISIONING'), a purchaseId (SHA-256 hash), and an access token scoped to that purchase for retrieving the encrypted output once the job completes.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "kind": {
   "enum": [
    "gpu-block",
    "gpu-job"
   ],
   "type": "string"
  },
  "method": {
   "enum": [
    "base",
    "solana",
    "tempo"
   ],
   "type": "string"
  },
  "source": {
   "enum": [
    "organic",
    "campaign"
   ],
   "type": "string",
   "default": "organic"
  },
  "command": {
   "type": "string",
   "maxLength": 16384,
   "minLength": 1
  },
  "offerId": {
   "type": "string",
   "format": "uuid",
   "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  },
  "requestId": {
   "type": "string",
   "maxLength": 128,
   "minLength": 1
  },
  "storageGb": {
   "type": "number",
   "const": 50
  },
  "recoveryKey": {
   "type": "object",
   "required": [
    "kty",
    "crv",
    "x",
    "y"
   ],
   "properties": {
    "x": {
     "type": "string",
     "pattern": "^[A-Za-z0-9_-]{43}$"
    },
    "y": {
     "type": "string",
     "pattern": "^[A-Za-z0-9_-]{43}$"
    },
    "crv": {
     "type": "string",
     "const": "P-256"
    },
    "kty": {
     "type": "string",
     "const": "EC"
    }
   },
   "additionalProperties": false
  },
  "maxPriceMinor": {
   "type": "integer",
   "maximum": 50000,
   "minimum": 500
  },
  "maxOutputBytes": {
   "type": "integer",
   "maximum": 1048576,
   "minimum": 1
  },
  "durationSeconds": {
   "type": "integer",
   "maximum": 86400,
   "minimum": 60
  },
  "termsAcceptance": {
   "type": "object",
   "required": [
    "accepted",
    "version",
    "sha256"
   ],
   "properties": {
    "sha256": {
     "type": "string",
     "pattern": "^[a-f0-9]{64}$"
    },
    "version": {
     "type": "string",
     "minLength": 1
    },
    "accepted": {
     "type": "boolean",
     "const": true
    }
   },
   "additionalProperties": false
  },
  "privacyAcceptance": {
   "type": "object",
   "required": [
    "accepted",
    "version",
    "sha256"
   ],
   "properties": {
    "sha256": {
     "type": "string",
     "pattern": "^[a-f0-9]{64}$"
    },
    "version": {
     "type": "string",
     "minLength": 1
    },
    "accepted": {
     "type": "boolean",
     "const": true
    }
   },
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "state": "PROVISIONING",
  "purchaseId": "sha256",
  "accessToken": "purchase-scoped"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/u-kiyo-gpu-job-runner-bc28b124/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from pay.u-kiyo.ai](https://www.zero.xyz/host/pay.u-kiyo.ai/llms.txt)
