API Docs
Worker Management
Get Worker Details

Get Worker Details

Returns the details of all workers in a subaccount.

⚠️

GetWorkerDetails query has rate limitation in place.

Initially, the API allows for a burst of up to 5 requests, and afterward, it gradually restores 1 request per second until reaching the maximum allowable limit of 5.

This limitation is imposed to manage and control the rate at which requests can be made to the API, preventing potential misuse or excessive use of resources.

Example

query getWorkerDetails {
  getWorkerDetails(duration: { days: 1 }, mpn: BTC, uname: "your_username", first: 10) {
    edges {
      node {
        minerId
        workerName
        miningProfileName
        updatedAt
        status
        hashrate
        validShares
        staleShares
        invalidShares
        lowDiffShares
        badShares
        duplicateShares
        revenue
        efficiency
      }
    }
  }
}

Response

{
  "data": {
    "getWorkerDetails": {
      "edges": [
        {
          "node": {
            "minerId": "",
            "workerName": "",
            "miningProfileName": "",
            "updatedAt": "",
            "status": "",
            "hashrate": "",
            "validShares": "",
            "staleShares": "",
            "invalidShares": "",
            "lowDiffShares": "",
            "badShares": "",
            "duplicateShares": "",
            "revenue": "",
            "efficiency": ""
          }
        }
      ]
    }
  }
}

Arguments

  • mpn (MiningProfileName!)
enum MiningProfileName {
  ARRR
  BTC
  DASH
  DCR
  KMD
  LBC
  SC
  SCP
  ZEC
  ZEN
  EQUI
  TBTC
  ETH
  TETH
}
  • duration
(IntervalInput!)

An interval of time that has passed where the smallest distinct unit is a second.

type IntervalInput {
  seconds: Float
  minutes: Int
  hours: Int
  days: Int
}
Fields
  • seconds (Float) A quantity of seconds. This is the only non-integer field, as all the other fields will dump their overflow into a smaller unit of time. Intervals don’t have a smaller unit than seconds.

  • minutes (Int) A quantity of minutes.

  • hours (Int) A quantity of hours.

  • days (Int) A quantity of days.

  • uname (String!)

  • first (Int!) Only read the first n values of the set.

  • offset (Int) Skip the first n values from our after cursor, an alternative to cursor based pagination. May not be used with last.

  • before (Cursor) Read all values in the set before (above) this cursor.

  • after (Cursor) Read all values in the set after (below) this cursor.

Type

MinerDetailMaterializedsConnection

A connection to a list of MinerDetailMaterialized values.

type MinerDetailMaterializedsConnection {
  nodes: [MinerDetailMaterialized!]!
  edges: [MinerDetailMaterializedsEdge!]!
  pageInfo: PageInfo!
  totalCount: Int!
}
Fields
  • nodes ([MinerDetailMaterialized!]!)

A list of MinerDetailMaterialized objects.

type MinerDetailMaterialized {
  minerId: Int
  workerName: String
  miningProfileName: MiningProfileName
  updatedAt: Datetime
  status: String
  hashrate: BigFloat
  validShares: BigInt
  staleShares: BigInt
  invalidShares: BigInt
  lowDiffShares: BigInt
  badShares: BigInt
  duplicateShares: BigInt
  revenue: BigFloat
  efficiency: BigFloat
}
  • edges ([MinerDetailMaterializedsEdge!]!)

A MinerDetailMaterialized edge in the connection.

type MinerDetailMaterializedsEdge {
  cursor: Cursor
  node: MinerDetailMaterialized!
}
Fields
  • cursor (Cursor) A cursor for use in pagination.

  • node (MinerDetailMaterialized!) The MinerDetailMaterialized at the end of the edge.

  • pageInfo

Information to aid in pagination.

type PageInfo {
  hasNextPage: Boolean!
  hasPreviousPage: Boolean!
  startCursor: Cursor
  endCursor: Cursor
}
  • totalCount (Int) The count of all MinerDetailMaterialized you could get from the connection.