Files
aitbc/docs/3_miners/7_api-miner.md
oib 15427c96c0 chore: update file permissions to executable across repository
- Change file mode from 644 to 755 for all project files
- Add chain_id parameter to get_balance RPC endpoint with default "ait-devnet"
- Rename Miner.extra_meta_data to extra_metadata for consistency
2026-03-06 22:17:54 +01:00

1.8 KiB
Executable File

Miner API Reference

Complete API reference for miner operations.

Endpoints

Register Miner

POST /v1/miners

Request Body:

{
  "name": "my-miner",
  "gpu_type": "v100",
  "gpu_count": 1,
  "location": "us-east",
  "price_per_hour": 0.05,
  "max_concurrent": 4
}

Response:

{
  "miner_id": "miner_xyz789",
  "api_key": "key_abc123",
  "status": "pending"
}

Update Miner

PUT /v1/miners/{miner_id}

Heartbeat

POST /v1/miners/{miner_id}/heartbeat

Response:

{
  "status": "ok",
  "jobs_assigned": 0,
  "queue_length": 5
}

List Available Jobs

GET /v1/miners/{miner_id}/jobs/available

Response:

{
  "jobs": [
    {
      "job_id": "job_abc123",
      "model": "gpt2",
      "gpu_type": "v100",
      "gpu_count": 1,
      "estimated_time": 600,
      "price": 0.05
    }
  ]
}

Accept Job

POST /v1/miners/{miner_id}/jobs/{job_id}/accept

Complete Job

POST /v1/miners/{miner_id}/jobs/{job_id}/complete

Request Body:

{
  "result_hash": "sha256:abc123...",
  "metrics": {
    "execution_time_seconds": 600,
    "gpu_time_seconds": 600
  }
}

Get Miner Stats

GET /v1/miners/{miner_id}/stats

Response:

{
  "total_jobs": 100,
  "success_rate": 0.98,
  "average_completion_time": 600,
  "earnings": 50.5,
  "earnings_per_gpu_hour": 0.05
}

Error Codes

Code Description
400 Invalid request
401 Unauthorized
404 Miner/job not found
409 Job already assigned
422 Validation error

Rate Limits

  • 60 requests/minute
  • 10 job operations/minute

Next