---
updatedAt: 2026-08-21T06:51:27.000Z
agentTools:
  projectIndex: https://docs.tatum.io/llms.txt
---

# Get mining rewards

<p style='display: none'>/v4/data/mining/rewards</p>
<p><b>50 credits per API call</b></p>

<p>Get mining rewards (coinbase outputs) for a UTXO address. This endpoint returns all coinbase rewards received by the address when it successfully mined blocks.</p>
<p>Supported blockchains:</p>
<ul>
<li>Bitcoin - bitcoin-mainnet / bitcoin-testnet</li>
<li>Litecoin - litecoin-mainnet / litecoin-testnet</li>
<li>Dogecoin - dogecoin-mainnet / dogecoin-testnet</li>
</ul>
<p>To get started:</p>
<ul>
<li>Provide a chain and miner address. The API will return all coinbase rewards for the address.</li>
<li>Omit filters for full history, or use one filter type: (blockFrom and/or blockTo), (timeFrom and/or timeTo), or (unixFrom and/or unixTo). You cannot mix filter types.</li>
<li>You can use from-only (e.g. blockFrom) or to-only (e.g. blockTo) or both.</li>
<li>Rewards are sorted by block number in descending order (newest first).</li>
<li>Pagination is supported via <code>pageSize</code> (max 500) and <code>offset</code> parameters.</li>
</ul>


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "servers": [
    {
      "url": "https://api.tatum.io"
    }
  ],
  "info": {
    "version": "1.2",
    "title": "Blockchain Data"
  },
  "tags": [
    {
      "name": "Mining API"
    }
  ],
  "paths": {
    "/v4/data/mining/rewards": {
      "get": {
        "description": "<p style='display: none'>/v4/data/mining/rewards</p>\n<p><b>50 credits per API call</b></p>\n\n<p>Get mining rewards (coinbase outputs) for a UTXO address. This endpoint returns all coinbase rewards received by the address when it successfully mined blocks.</p>\n<p>Supported blockchains:</p>\n<ul>\n<li>Bitcoin - bitcoin-mainnet / bitcoin-testnet</li>\n<li>Litecoin - litecoin-mainnet / litecoin-testnet</li>\n<li>Dogecoin - dogecoin-mainnet / dogecoin-testnet</li>\n</ul>\n<p>To get started:</p>\n<ul>\n<li>Provide a chain and miner address. The API will return all coinbase rewards for the address.</li>\n<li>Omit filters for full history, or use one filter type: (blockFrom and/or blockTo), (timeFrom and/or timeTo), or (unixFrom and/or unixTo). You cannot mix filter types.</li>\n<li>You can use from-only (e.g. blockFrom) or to-only (e.g. blockTo) or both.</li>\n<li>Rewards are sorted by block number in descending order (newest first).</li>\n<li>Pagination is supported via <code>pageSize</code> (max 500) and <code>offset</code> parameters.</li>\n</ul>\n",
        "operationId": "GetMiningRewardsV4",
        "parameters": [
          {
            "description": "The blockchain to work with.",
            "in": "query",
            "name": "chain",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ChainEnumMiningRewards"
            }
          },
          {
            "description": "The miner blockchain address.",
            "in": "query",
            "name": "address",
            "required": true,
            "schema": {
              "type": "string",
              "example": "bc1qwzrryqr3ja8w7hnja2spmkgfdcgvqwp5swz4af4ngsjecfz0w0pqud7k38"
            }
          },
          {
            "description": "Start block number (inclusive). Use with blockTo for block range.",
            "in": "query",
            "name": "blockFrom",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "example": 900000
            }
          },
          {
            "description": "End block number (inclusive). Use with blockFrom for block range.",
            "in": "query",
            "name": "blockTo",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "example": 901000
            }
          },
          {
            "description": "Start unix timestamp (seconds). Use with unixTo for time range.",
            "in": "query",
            "name": "unixFrom",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "description": "End unix timestamp (seconds). Use with unixFrom for time range.",
            "in": "query",
            "name": "unixTo",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "description": "Start time (ISO 8601). Use with timeTo for time range.",
            "in": "query",
            "name": "timeFrom",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "description": "End time (ISO 8601). Use with timeFrom for time range.",
            "in": "query",
            "name": "timeTo",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "description": "Number of items to return per page (required, max 500).",
            "in": "query",
            "name": "pageSize",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 500
            }
          },
          {
            "description": "The offset to obtain next page of the data.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MiningRewardEntry"
                  }
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "X-API-Key": []
          }
        ],
        "x-codeSamples": [],
        "summary": "Get mining rewards",
        "tags": [
          "Mining API"
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "X-API-Key": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header",
        "description": "Your **API key** is used to identify your account & your plan, including the number of API calls per second and total monthly calls you have.\n\nEach key is for individual use only.\n\nIf you don't have a key already you can [Sign up for a Free Tatum account](https://co.tatum.io/signup) to get two keys (testnet and mainnet), allowing up to 5 API calls per second and 1,000,000 Credits.\n\nFor testing purposes, you can use the following key which only works inside docs and has limited functionality (e.g. you cannot create virtual accounts or notification subscriptions with it):\n* t-66a730ccccfd17001c479705-2f597d14ad7543f289a03418\n\nFor more details on limits and plans, [click here](https://docs.tatum.io/docs/plans-limits).\n"
      }
    },
    "responses": {
      "Error400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": "validation.failed",
                  "description": "validation.failed",
                  "type": "string"
                },
                "message": {
                  "example": "Request validation failed. Please see data for additional information.",
                  "description": "Request validation failed. Please see data for additional information.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 400,
                  "description": "400",
                  "type": "number"
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "target"
                    ],
                    "properties": {
                      "target": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Request object present in the body of the HTTP request",
                        "example": {
                          "property": 12345
                        }
                      },
                      "value": {
                        "type": "number",
                        "description": "Value of the target object which validation is wrong. Can be of any data type, example here is using type number.",
                        "example": 12345
                      },
                      "property": {
                        "type": "string",
                        "description": "Property name of the target object which validation is wrong",
                        "example": "property1"
                      },
                      "constraints": {
                        "type": "object",
                        "additionalProperties": true,
                        "description": "Object of failed constraints for the target object. Key is the constraint, value is detailed description of the failed constraint.",
                        "example": {
                          "min": "property1 must not be less than 50000"
                        }
                      }
                    }
                  }
                }
              },
              "required": [
                "errorCode",
                "message",
                "statusCode",
                "data"
              ],
              "type": "object"
            }
          }
        }
      },
      "Error401": {
        "description": "Unauthorized. Not valid or inactive subscription key present in the HTTP Header.",
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "properties": {
                    "errorCode": {
                      "example": "subscription.not.active",
                      "description": "subscription.not.active",
                      "type": "string"
                    },
                    "message": {
                      "example": "Subscription not active anymore.",
                      "description": "Subscription not active anymore.",
                      "type": "string"
                    },
                    "statusCode": {
                      "example": 401,
                      "description": "401",
                      "type": "number"
                    }
                  },
                  "required": [
                    "errorCode",
                    "message",
                    "statusCode"
                  ],
                  "type": "object"
                },
                {
                  "properties": {
                    "errorCode": {
                      "example": "subscription.invalid",
                      "description": "subscription.invalid",
                      "type": "string"
                    },
                    "message": {
                      "example": "Unable to find valid subscription for '${apiKey}'",
                      "description": "Unable to find valid subscription for '${apiKey}'",
                      "type": "string"
                    },
                    "statusCode": {
                      "example": 401,
                      "description": "401",
                      "type": "number"
                    }
                  },
                  "required": [
                    "errorCode",
                    "message",
                    "statusCode"
                  ],
                  "type": "object"
                }
              ]
            }
          }
        }
      },
      "Error403": {
        "description": "Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "message": {
                  "example": "Forbidden",
                  "description": "Forbidden",
                  "type": "string"
                },
                "statusCode": {
                  "example": 403,
                  "description": "403",
                  "type": "number"
                }
              },
              "required": [
                "statusCode",
                "message"
              ],
              "type": "object"
            }
          }
        }
      },
      "Error500": {
        "description": "Internal server error. There was an error on the server during the processing of the request.",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "message": {
                  "example": "Internal server error",
                  "description": "Internal server error",
                  "type": "string"
                },
                "statusCode": {
                  "example": 500,
                  "description": "500",
                  "type": "number"
                }
              },
              "required": [
                "statusCode",
                "message"
              ],
              "type": "object"
            }
          }
        }
      }
    },
    "schemas": {
      "ChainEnumMiningRewards": {
        "type": "string",
        "description": "UTXO chains supported for mining rewards (coinbase).",
        "example": "bitcoin-mainnet",
        "enum": [
          "bitcoin-mainnet",
          "bitcoin-testnet",
          "litecoin-mainnet",
          "litecoin-testnet",
          "doge-mainnet",
          "dogecoin-testnet"
        ]
      },
      "MiningRewardEntry": {
        "type": "object",
        "description": "Individual mining reward (coinbase output) entry.",
        "required": [
          "blockNumber",
          "txHash",
          "index",
          "value",
          "valueAsString",
          "address",
          "chain"
        ],
        "properties": {
          "blockNumber": {
            "type": "number",
            "description": "Block number when the reward was mined.",
            "example": 900000
          },
          "txHash": {
            "type": "string",
            "description": "Transaction hash of the coinbase transaction.",
            "example": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456"
          },
          "index": {
            "type": "number",
            "description": "Output index (vout) in the transaction.",
            "example": 0
          },
          "value": {
            "type": "number",
            "description": "Reward value in currency units (BTC, LTC, or DOGE).",
            "example": 6.25
          },
          "valueAsString": {
            "type": "string",
            "description": "String representation of the reward value.",
            "example": "6.25"
          },
          "address": {
            "type": "string",
            "description": "Miner address that received the reward.",
            "example": "bc1qwzrryqr3ja8w7hnja2spmkgfdcgvqwp5swz4af4ngsjecfz0w0pqud7k38"
          },
          "chain": {
            "$ref": "#/components/schemas/ChainEnumMiningRewards"
          }
        }
      }
    }
  }
}
```